0
...
        SearchRequest searchRequest = new SearchRequest
        {
            Size = 100,
            Source = sf,
            Filter = filters,
            Sort = sortsFields
        };

var searchResponse = client.Search<dynamic>(searchRequest);

使用排序时,NEST 不会从所有分片返回正确排序的 SearchResponse。

打开 ES slowlog 以查看来自 elasticsearch.yml 中所有分片的查询并执行相同的查询。结果完全不正常。

  • index.search.slowlog.threshold.query.warn:5ms
  • index.search.slowlog.threshold.query.info:5ms
  • index.search.slowlog.threshold.query.debug:5ms
  • index.search.slowlog.threshold.query.trace:5ms

有没有什么办法解决这一问题 ?

4

1 回答 1

0

好消息...我只是通过指定我的索引解决了这个问题。

this.settings = new ConnectionSettings(
                node,
                "x-event-*"
            );

this.client = new ElasticClient(settings);

在 SearchRequest 中未指定任何默认索引或索引进行排序时,排序结果不正确。

于 2014-10-24T20:12:12.627 回答