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

标签 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?还有什么吗

先感谢您

最佳答案

听起来好像您在“const1”字段上可能没有正确的映射。

根据下面的评论进行编辑:您可以在已分析的字段上使用术语查询,但不太可能按预期工作。如果字段“const1”包含多个单词,则搜索文本等于您索引的字符串的术语查询将不匹配。

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

关于elasticsearch - 使用NEST(.net)在Elasticsearch中进行复杂搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40356502/

相关文章:

python - 对连接的字符串进行标记

elasticsearch - 带盖滤波器的elasticsearch 1.6场范数计算

c# - C#Nest&Elasticsearch 6.x:如何过滤/计数嵌套字段(在内部List <object>中)

.net - 通过SSL卸载应用程序网关连接到Azure托管的ElasticSearch终结点

Elasticsearch 数组值计数聚合

elasticsearch - 如何在 Elasticsearch 中匹配具有可扩展前缀和后缀的短语?

elasticsearch - 为什么对于不同索引的相同查询,elasticsearch 返回的结果差异很大?

elasticsearch - 如何在 NEST 中索引和搜索接口(interface)类型的嵌套属性

elasticsearch - 搜索所有字段并突出显示

elasticsearch - 根据字段或过滤器创建动态仪表板?