D
D
Dmitry2019-04-06 02:19:34
PostgreSQL
Dmitry, 2019-04-06 02:19:34

Which technology to choose for Elastic or Postgres search?

The situation is this, we make a TG bot whose task is to pull up a document from google docs and do a fuzzy search through the document, the opinions in the team differed, so you need to explain and argue your opinion. Thank you !
At the moment, there are such points of view:
1) the program that makes this project has not encountered elastic before, the project itself is made on the postgres DBMS, one of the parties also cited this article as an argument in favor of creating a search based on Postgre
2)
"....For himyou still need to write additional code. There is simply no such functionality in SQAlchemy. You have to work directly with the database. And according to the reviews, this extension works rather stupidly - slowly, and the search results often do not match what was required...."
Who is right and why?)

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
abmanimenja, 2019-04-06
@abmanimenja

Both of you are wrong
What-what? fuzzy?
Do you really understand what we are talking about?
Elastic is good at Full-Text-Search, not Fuzzy Search.
PostgreSQL is also not intended for Fuzzy Search.
Yes, and you are also not competent: You
confuse Fuzzy and Full-Text search types
And do not understand that Elastic is strong only due to its cluster. It lives much better in a huge multi-server cluster than PostgreSQL. You didn't even think of the difference.
And if you don't need a cluster, then you don't need Elastic either. Because it is relatively slow.
For single-server machines, SphinxSearch or its Manticore fork is an excellent choice.
Sphinx is much faster than Elastic and consumes much less memory resources. But it is not able to work in a cluster.
The one who is higher in the hierarchy is right.
If you are not a technical director, then leave the choice of technology on which the programmer will work to him.
Judging by how poorly both you and that programmer are versed in technology, you have a team of juniors there. Obviously not the case to create something perfect.
Just write on what you know.

A
Anton Kokarev, 2019-04-06
@akokarev

From the voiced task, I would make a bot using Google Apps Script. Of the benefits - free hosting for the bot, with excellent uptime and execution time; all the necessary libraries are already connected and you can connect your own. In theory, in the api for Google docs, there should be a search both among the list of files and inside the file.
I made a bot based on Google spreadsheets - it works like clockwork! I even implemented cron tasks based on a minute trigger.

A
asd111, 2019-04-06
@asd111

Sphinx or elastic. There are subtleties in postgres with full-text search so that it does not slow down.

A
Alexey, 2019-05-04
@AlexeyVi

You will need ElasticSearch only if you grow, as abmanimenja said there is no point in the 1st instance. Elastic is great in a cluster of at least 3 servers with its excellent fault tolerance and horizontal scaling. And do not forget about the disk space, by default, the elastic presses data, which PostgreSQL cannot do. You can also access any node or dedicated client node(s) for data with a large cluster. And of course sharding out of the box. But there are also disadvantages, elastic does not like DELETE and UPDATE very much, if you have a lot of such operations, this is NOT your CHOICE.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question