目前正在建立一个带有节点和弹性搜索的搜索引擎。我正试图找到一种方法,将levenshtein距离应用于索引。例如,如果我有
javascript
输入的搜索词包含
jvascrpt
,如果应用levenshtein距离2,则只应查询该索引。
如果,
应用距离
,则查询不匹配
全部的
应查询索引。我知道这已经可以通过设置索引
property to
_全部或空字符串。
我知道
fuzziness
属性,但该属性位于
body
文件的。是否也有方法将此属性应用于索引?
根据
documentation
, the
index
属性只接受
String
,
String[]
或
Boolean
因此,请注意查询不能绑定到此属性。
如果elasticsearch没有提供这个功能,那么我会在js中找到实现它的方法。所以,我要问的是,ElasticSearch是否提供了任何可以应用于
query
财产
(假设)
在那里你可以应用levenshtein距离
(即通过
模糊性
财产)
到
指数
. 也许是这样?:
query: {
match: {
index: {
query: textToSearch,
minimum_should_match: 1,
fuzziness: 1
}
}
}