Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добрият начин за запазване на заявки за търсене на потребителите в ElasticSearch?

Можете да направите това, като създадете втори индекс във вашия ES клъстер. Когато потребител подаде търсене чрез вашето приложение, изпълнявате две стъпки.

  1. Изпратете търсенето като заявка към Elasticsearch за нормално поведение при търсене.
  2. Изпратете заявка за индексиране към клъстера с термините за търсене, предоставени от потребителя.

С втори индекс на всички подадени думи за търсене можете да правите редица чисти неща. За вашия случай можете да имате поле „брой“, точно както в SQL, което увеличавате, когато повече хора търсят този термин. Друг страхотен случай на употреба са препоръчаните от Google термини. Вашият потребителски интерфейс може да изпрати заявка за търсене с въведения текст при всяко натискане на клавиш и да попълни падащо меню с посещения от по-рано търсените думи. Можете дори да персонализирате това, като добавите потребителско поле и филтрирате резултатите, които не са от този конкретен потребител.

Нещото, което трябва да имате предвид, е, че ElasticSearch може да се използва както като основно, така и като вторично хранилище на данни. Винаги предлагам да съхранявате като основни данни само данни, които сте готови да загубите (като история на търсенията). Съхранявайте критичните за системата си данни в по-традиционно хранилище за данни като SQL, по този начин е лесно да архивирате и възстановите, ако нещо се обърка!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL дава на редовете цял живот

  2. Грешка при връзката с MySQL, която никога не съм виждал

  3. Свържете се с отдалечена база данни MySQL с помощта на VB.NET 2010

  4. Сравнение на пълнотекстова търсачка - Lucene, Sphinx, Postgresql, MySQL?

  5. Къде да промените стойността на low_case_table_names=2 в windows xampp