使用NEST(.net)在elasticsearch中进行复杂搜索

时间:2016-11-01 08:34:01

标签: elasticsearch nest elasticsearch-2.0 elasticsearch-net

我正在使用elasticsearch 2.3.4(可以更新到5但是自发布以来它仍然是1周,并等待其工作方式的评论)

我正在尝试在我的.net类中创建一个搜索

ISearchResponse<ClassModel> apiResponse = client1.Search<ClassModel>(a =>
            a.Query(q =>
            q.Term(p => p.param1, Param1) &&
            q.Term(p => p.const1, "const1") &&
            q.Term(p => p.param2, param2)));

由于某种原因,const1没有返回值(即使我没有其他参数单独运行)但是使用HD扩展我得到结果,也许我不应该使用Term?别的什么?

提前谢谢

1 个答案:

答案 0 :(得分:1)

听起来好像你可能没有正确映射&#34; const1&#34;字段。

根据下面的评论进行编辑:您可以在已分析的字段中使用字词查询,但它不太可能按您的预期工作。如果你的领域&#34; const1&#34;包含多个单词,然后搜索文本等于您索引的字符串的术语查询将不匹配。

"const1": {
    "type":     "string",
    "index":    "not_analyzed"
}