【问题标题】:Elastic Search - Operator in NEST (Search Query with Operator as string)弹性搜索 - NEST 中的运算符(使用运算符作为字符串的搜索查询)
【发布时间】:2019-09-07 20:53:21
【问题描述】:

我有一个用 C# 编写并使用 NEST 客户端 6.x 的查询,如下所示。

.Should(
    m => m.QueryString(qs => qs
   .Query(searchOptions.SearchTerm)
   .Fields(ff => ff.Fields(fields))
   .DefaultOperator(Operator.And)
   ),

我需要将运算符参数作为字符串传递,但它不接受字符串值。 有没有办法将运算符作为字符串传递?

【问题讨论】:

    标签: elasticsearch nest elastic-stack


    【解决方案1】:

    您可以在此代码中将输入字符串解析为Operator 枚举:

    var parsed = Enum.TryParse("or", true, out Operator parsedOperator);
    

    然后在查询描述符中使用parsedOperator,例如:

    elasticClient.Search<object>(s => s
        .Query(q => q.QueryString(qs => qs.DefaultOperator(parsedOperator))));
    

    【讨论】:

      猜你喜欢
      • 2012-10-11
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多