簡體   English   中英

Levenshtein距離在指數彈性搜索上

[英]Levenshtein distance on index elasticsearch

目前正在使用Node和Elasticsearch構建搜索引擎。 我正在嘗試找到一種方法來將Levenshtein距離應用於索引。 例如,如果我有一個javascript索引,並且輸入的搜索詞包含jvascrpt ,如果我應用的Levenshtein距離為2,則應該僅查詢該索引。

如果在應用距離的情況下查詢不匹配,則應查詢所有索引。 我知道這已經可以通過將index property to設置property to _all`或一個空字符串來實現。

我知道查詢中的fuzziness性屬性,但這位於文檔的body上。 有沒有辦法將此屬性也應用到索引?

根據文檔index屬性僅接受StringString[]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM