Я строю вопрос бота, и до сих пор я использовал mongodb. Однако я только что открыл elasticsearch, и он выглядит очень мощным.Приговор к запросам ключевых слов в Elasticsearch
У меня есть база данных «с псевдонимом документов», что означает, что каждый документ имеет поле «псевдонимы», которое представляет собой массив возможных имен, которые кто-то может назвать.
Например:
Events Collection:
{
name: "Birthday Party",
aliases: ["birthday", "birthday party", "birthday"],
place: "Tom's house"
},
{
name: "Bowling Night",
aliases: ["bowling", "bowling night"],
place: "Tom's Alley"
}
Где будут мои запросы предложений, как это: «? Сколько времени будет день рождения быть в» «Где боулинг?»
Псевдонимы уникальны в базе данных, поэтому в приведенных выше запросах мне хотелось бы вернуть документ «День рождения» в первом и «Боулинг-Ночь» во втором.
Я знаю, что это довольно сложный материал, и в настоящее время я использую очень неэффективный метод, когда я храню массив всех псевдонимов в памяти, а затем выполняю поиск по ним, если строка содержит его.
Есть ли запрос в elasticsearch, который может сделать что-то вроде этого?
Wow я не ожидал, что это действительно здорово, я пока не могу upvote, но +1! –
Просто попробовал, и я взорвался, это абсолютно удивительное святое дерьмо! –