elasticsearch,Node.js,elasticsearch" /> elasticsearch,Node.js,elasticsearch" />

Node.js 索引弹性搜索的Levenshtein距离

Node.js 索引弹性搜索的Levenshtein距离,node.js,elasticsearch,Node.js,elasticsearch,目前正在使用Node和Elasticsearch构建搜索引擎。我试图找到一种方法,将Levenshtein距离应用于索引。例如,如果我的索引为javascript,并且输入的搜索词包含jvascrpt,如果我应用的Levenshtein距离为2,它应该只查询该索引 如果应用距离后,查询不匹配,则应查询所有索引。我知道,如果将index属性设置为\u all`或空字符串,就可以实现这一点 我知道查询中的模糊性属性,但它位于文档的正文。有没有办法将此属性也应用于索引 根据,索引属性只接受字符串、字符

目前正在使用Node和Elasticsearch构建搜索引擎。我试图找到一种方法,将Levenshtein距离应用于索引。例如,如果我的索引为
javascript
,并且输入的搜索词包含
jvascrpt
,如果我应用的Levenshtein距离为2,它应该只查询该索引

如果应用距离后,查询不匹配,则应查询所有索引。我知道,如果将index
属性设置为
\u all`或空字符串,就可以实现这一点

我知道查询中的
模糊性
属性,但它位于文档的
正文
。有没有办法将此属性也应用于索引

根据,
索引
属性只接受
字符串
字符串[]
布尔值
的类型,因此查询无法绑定到此属性

如果Elasticsearch不提供此功能,那么我将找到一种在JS中实现它的方法。因此,我要问的是,Elasticsearch是否提供了任何功能,您可以应用于
查询
属性(假设),您可以将Levenshtein距离(即通过
模糊性
属性)应用于
索引
。也许是这样吧

query: {
    match: {
        index: {
            query: textToSearch,
            minimum_should_match: 1,
            fuzziness: 1
        }
    }
}

我通过在文档主体中添加一个
索引
属性来解决这个问题。然后我可以用通常的方式查询该字段