【问题标题】:Search for a match within a collection with elasticsearch & NEST使用 elasticsearch 和 NEST 在集合中搜索匹配项
【发布时间】:2012-10-26 02:16:34
【问题描述】:

我对弹性搜索和 NEST 非常陌生,很抱歉这个基本问题。
我正在尝试找出如何搜索在集合属性中具有匹配项的所有文档。

我的弹性文档对象看起来像这样:

[ElasticType(Name="my_document")]
public class MyDocument
{
    public long Id { get; set; }
    public long[] TagIds { get; set; }
}

我想知道我如何搜索其TagIds 属性中包含特定数字的文档。

我想做这样的事情:

elasticClient.Search<MyDocument>(x =>
        x.Query(s => s.Terms(z => z.TagIds.Contains(searchVal))));

【问题讨论】:

    标签: c# elasticsearch nest


    【解决方案1】:

    找到了,答案真的很简单,只是看文档的时候没完全看懂。

    我正在寻找的查询是:

    elasticClient.Search<MyDocument>(x => x.Query(s => s.Term(z => z.TagIds, tagIdStringToSearch)));
    

    注意:我使用的是Term(),而不是Terms()。第二个参数是我在集合中寻找的 tagId 的字符串。 (这也可能是一个 int,在我的情况下它很长,所以我按字符串搜索)

    留下这个问题,这样它可能会在某个时候帮助别人...... :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      相关资源
      最近更新 更多