[英]Levenshtein distance on index elasticsearch
目前正在使用Node和Elasticsearch構建搜索引擎。 我正在嘗試找到一種方法來將Levenshtein距離應用於索引。 例如,如果我有一個javascript
索引,並且輸入的搜索詞包含jvascrpt
,如果我應用的Levenshtein距離為2,則應該僅查詢該索引。
如果在應用距離的情況下查詢不匹配,則應查詢所有索引。 我知道這已經可以通過將index property to
設置property to
_all`或一個空字符串來實現。
我知道查詢中的fuzziness
性屬性,但這位於文檔的body
上。 有沒有辦法將此屬性也應用到索引?
根據文檔 , index
屬性僅接受String
, String[]
或Boolean
類型,因此請注意查詢無法綁定到此屬性。
如果Elasticsearch不提供此功能,那么我將找到一種在JS中實現它的方法。 因此,我要問的是,Elasticsearch提供的任何功能都可以應用於query
屬性(假定) ,在其中您可以將Levenshtein距離(即通過fuzziness
性)應用於index
。 可能是這樣的:
query: {
match: {
index: {
query: textToSearch,
minimum_should_match: 1,
fuzziness: 1
}
}
}
我通過在所保存文檔的主體中添加index
屬性來解決此問題。 然后,我可以按照通常的方式查詢該字段
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.