【问题标题】:What is the replacement for FuzzyMinimumSimilarity in Nest 2, Elasticsearch 2.3?Nest 2、Elasticsearch 2.3 中 FuzzyMinimumSimilarity 的替代品是什么?
【发布时间】:2020-01-07 14:18:29
【问题描述】:

我正在升级到 Nest 2(elasticsearch 1.x 到 2.3),但请注意 FuzzyMinimumSimilarity 和 OnFieldsWithBoost 已消失的重大更改。我应该如何将下面的代码替换为 Nest v2?

new SearchDescriptor<T>().Type(searchTypes).Query(q =>q.QueryString(qs => qs.Query(fuzzy).FuzzyMinimumSimilarity(0.7)));

对于FuzzyMaxExpansions(0.7)

【问题讨论】:

    标签: elasticsearch nest elasticsearch-2.0 nest2


    【解决方案1】:

    这里是fuzziness options available on query_string query in NEST 2.x(使用最新的 2.5.8)

    var client = new ElasticClient();
    
    var searchResponse = client.Search<MyDocument>(s => s
        .Query(q => q
            .QueryString(qs =>qs
                .Fields(f => f
                    .Field(ff => ff.Name, 3)
                    .Field(ff => ff.Content, 0.5)
                )
                .Query("fuzzy")
                .Fuzziness(Fuzziness.EditDistance(3))
                .FuzzyMaxExpansions(2)
                .FuzzyPrefixLength(4)
                .FuzzyRewrite(MultiTermQueryRewrite.TopTerms(3))
            )
        )
    );
    

    产生

    {
      "query": {
        "query_string": {
          "query": "fuzzy",
          "fuzzy_max_expansions": 2,
          "fuzziness": 3,
          "fuzzy_prefix_length": 4,
          "fields": [
            "name^3",
            "content^0.5"
          ],
          "fuzzy_rewrite": "top_terms_3"
        }
      }
    }
    

    还可以查看 release blog postbreaking changes between 1.x and 2.x 文档

    【讨论】:

    猜你喜欢
    • 2016-11-03
    • 1970-01-01
    • 2023-03-15
    • 2018-11-02
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 2019-02-22
    相关资源
    最近更新 更多