我正在使用Elasticsearch 5.0.1,我在.NET 4.5.2下运行我的代码。我正在使用NEST 5.0 rc lib。
我有一个包含字符串列表的类。
public List<string> LastPagesViewed { get; set; }
我正在使用AutoMap映射该clase,如下所示:
.Mappings(m => m.Map<VisitorTest>(map => map.AutoMap()))
我想要做的是在&#39; LastPagesViewed&#39;上查询包含一个或多个网址的所有文档。属性。
我正在进行这样的搜索:
.Query(q => q
.Terms(c => c
.Name("named_query")
.Field(p => p.LastPagesViewed)
.Terms(new List<string> { "url1", "url2" }))
但它不起作用。我还试图只搜索部分网址,例如&#34; google&#34; (如果网址为http://www.google.com)但结果相同。
我用一个int(而不是url)列表尝试了这个并且它正在工作,所以我在这里缺少什么?
答案 0 :(得分:0)
终于搞定了!问题是我在使用术语搜索时没有考虑分析器的影响。一旦我更改查询以使用匹配,它就会按预期工作。
新查询将如下:
.Query(q => q.Match(mq => mq.Field(p => p.LastPagesViewed.First()).Query("http://www.google.com")))