【问题标题】:What replaces TermsExecution.And in NEST 2.3.3 (upgrading from NEST 1.6.2)在 NEST 2.3.3 中替换了 TermsExecution.And(从 NEST 1.6.2 升级)
【发布时间】:2016-07-27 02:14:28
【问题描述】:

我们正在从 1.6.2 -> 2.3.3 升级 ElasticSearch 和 NEST。

什么取代了我们在 2.3.3 中的 TermsExecution.And 方式?

对于需要匹配的未知数量的术语,如何轻松做到这一点?例如在你能够传入一个数组之前。

【问题讨论】:

    标签: elasticsearch nest elasticsearch-net


    【解决方案1】:

    terms 查询上的TermsExecution.And 应与must(或filter,取决于查询/过滤器上下文)查询的结合转换为bool 查询,每个查询都是@987654326 @查询单个值。

    例如,

    client.Search<dynamic>(s => s
        .Query(q => +q
            .Term("field", "value1")
            && +q
            .Term("field", "value2")
        )
    );
    

    产量

    {
      "query": {
        "bool": {
          "filter": [
            {
              "term": {
                "field": {
                  "value": "value1"
                }
              }
            },
            {
              "term": {
                "field": {
                  "value": "value2"
                }
              }
            }
          ]
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2016-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多