Как искать по части синонима
У меня есть products
индекс с отображением
"synonym" : {
"type" : "synonym",
"synonyms" : [
"netbook => laptop"
]
}
Я хочу искать свои продукты по запросу "lapt*" или "netb*"
2 ответа
Если поиск по lapt*
работает, но не netb*
тогда вам нужно изменить свой фильтр синонимов на этот (т.е. заменить =>
через запятую):
"synonym" : {
"type" : "synonym",
"synonyms" : [
"netbook, laptop"
]
}
С помощью =>
заменяет netbook
от laptop
и, следовательно, индексируется только последний. Используя запятую, мы проиндексируем обаnetbook
а также laptop
и позволяют искать префиксы с обоими netb*
а также lapt*
Похоже, вы ищете автозаполнение, и один из способов реализации уже упоминается @val в комментарии, но вам предлагается пройти через этот поток, чтобы понять различные функциональные и нефункциональные требования.
Также в этом блоге рассматриваются различные способы реализации частичного поиска с различными компромиссами.