【问题标题】:NEST Elasticsearch empty response when I add a query to a field当我向字段添加查询时,NEST Elasticsearch 空响应
【发布时间】:2017-11-04 02:36:40
【问题描述】:

我正在使用 NEST 和剧院索引进行弹性搜索,在创建完美响应 MatchAll() 但不返回与示例中特定匹配的任何匹配的查询时遇到奇怪的问题:

    var searchResponse = client.Search<ElasticTheater>(
        s => s
        .Query(q => q
                .Match(m => m
                    .Field(f => f.TheatreName())
                    .Query("U")
                    )
         )
        .Index("theaters")
        .Type("")
        .Pretty(true)

    );

}

如果我将查询中的值“U”更改为像“”这样的空字符串,则查询会再次返回所有数据。

¿有什么想法吗? 提前非常感谢。

【问题讨论】:

  • doesn't work 是指请求失败并显示错误消息,或者它没有返回您期望的匹配项?
  • @Szeki 我的意思是它根本不返回任何匹配项
  • 您可以查看searchResponse.DebugInformation 以获取已执行的实际请求,也许它包含一些有用的内容。
  • 感谢@Szeki 编写 searchResponse.DebugInformation 的结果对我有很大帮助。

标签: c# elasticsearch nest


【解决方案1】:

查询没有响应,因为类 ElasticTheater 中的属性名称采用 CamelCase 格式,并且在 elasticsearch 索引中全部为小写。 elasticsearch 中的名称是通过logstash 更改SQL 中的数据库名称创建的。查询的最终名称是 f.theatername

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    相关资源
    最近更新 更多