我正在使用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?还有什么吗
先感谢您
最佳答案
听起来好像您在“const1”字段上可能没有正确的映射。
根据下面的评论进行编辑:您可以在已分析的字段上使用术语查询,但不太可能按预期工作。如果字段“const1”包含多个单词,则搜索文本等于您索引的字符串的术语查询将不匹配。
"const1": {
"type": "string",
"index": "not_analyzed"
}