【问题标题】:NEST Elasticseach how to match field with many valuesNEST Elasticsearch如何匹配具有多个值的字段
【发布时间】:2016-02-23 15:26:05
【问题描述】:

我需要执行搜索,在查询中我将提供多个值,这些值应与一个字段匹配。

以前我总是需要按两个值搜索,所以代码看起来像这样:

Filter<Document>.Query(q =>
  q.Term(p => p.FieldName, value1) ||
  q.Term(p => p.FieldName, value2));

但现在我有一个值列表。我没有看到任何这样的例子。 我正在使用 NEST 1.7.1 感谢您的帮助。

【问题讨论】:

  • 我不想回答,但我想澄清一个问题:如果一个字段必须匹配多个值,那么您可以简单地搜索任何一个值,因为它们是相等的- 除非您的多个值是一个字段的子集,在这种情况下,它会更加棘手。请详细说明?
  • @trapsuutjies 你说得对,这很容易解决。我认为,如果我在一个字段中添加许多术语,它将创建 AND 查询,我的结果将为空。我错了。

标签: c# elasticsearch nest


【解决方案1】:

解决方案真的很简单,可惜我没有早点找到这个。

Filter<Document>.Query(q =>
   q.Terms(p=> p.Field, valuesCollection)
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多