В настоящее время создается поисковая система с Node и Elasticsearch.Я пытаюсь найти способ применить расстояние Левенштейна к индексу.Например, если у меня есть индекс javascript
и введенный поисковый термин содержит jvascrpt
, если я применяю расстояние Левенштейна, равное 2, он должен только запросить этот индекс.
Если, сприменяемое расстояние , запрос не совпадает, тогда все индексы должны быть запрошены.Я знаю, что это уже возможно при установке индекса property to
_all` или пустой строки.
Мне известно о свойстве fuzziness
в запросе, но оно находится в body
документа.Есть ли способ применить это свойство и к индексу?
Согласно документации 1017 *, свойство index
принимает только типы String
, String[]
или Boolean
поэтому оцените, что запрос не может быть привязан к этому свойству.
Если Elasticsearch не предоставляет эту функцию, я найду способ реализовать ее в JS.Итак, я спрашиваю, есть ли какая-либо функциональность, предоставляемая Elasticsearch, которую вы можете применить к query
свойству (предполагается) , где вы можете применить расстояние Левенштейна (то есть черезfuzziness
свойство) до index
.Что-то вроде этого может быть?:
query: {
match: {
index: {
query: textToSearch,
minimum_should_match: 1,
fuzziness: 1
}
}
}