- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用弹性 RestHighLevelClient 与 ES 交谈。我能够查询基本查询。虽然我正在尝试使用 teh search_after api 从我的前端查询中设计一个分页的 api。尽管 query_after 在 RestLowLevelClient api 中使用起来很简单,但我无法弄清楚如何在 HighLevel API 中使用它。
看起来 lucene api 有 SearchAfterSortedDocQuery,但我无法弄清楚如何将它与 Elasticsearch api 一起使用。例如:在下面的代码中,我初始化了 SearchAfterSortedDocQuery 查询,但不确定如何使用它。
RestHighLevelClient client = ESRestClient.getClient();
SearchRequest searchRequest = new SearchRequest();
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.termQuery("field1",value1));
searchSourceBuilder.query(QueryBuilders.termQuery("field2",value2));
searchSourceBuilder.from(0);
searchSourceBuilder.size(limit);
SortField[] sortFields = new SortField[2];
sortFields[0]= new SortField("field1", SortField.Type.LONG);
sortFields[1]= new SortField("field2", SortField.Type.LONG);
FieldDoc fieldDoc = new FieldDoc(0,0); //Is this correct? how to initialize field doc?
fieldDoc.fields = new Object[2];
fieldDoc.fields[0] = new Long("-156034");
fieldDoc.fields[1] = new Long("2297416849");
SearchAfterSortedDocQuery query = new SearchAfterSortedDocQuery(new Sort(sortFields), fieldDoc);
searchRequest.source(searchSourceBuilder);
searchRequest.indices("index1");
try {
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
System.out.println(response);
}
catch(IOException e){
System.out.println(e);
}
}
最佳答案
我认为不要使用 SearchAfterSortedDocQuery,只需在 searchSourceBuilder 中设置 search_after 如下所示
searchSourceBuilder.searchAfter(new Object[]{sortAfterValue});
SearchRequest searchRequest = new SearchRequest("index");
searchRequest.types("type");
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT)
SearchHits hits = searchResponse.getHits();
hits.getAt(lastIndex).getSortValues()
关于elasticsearch - 如何在 Elastic High Level Rest Client 中使用 search_after 进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58141155/
我正在对18,000个主题的结果集进行 flex 搜索。因此,我正在使用search_after。但是在第一次使用此参数后,出现以下错误。 Unknown key for a VALUE_STRING
GET twitter/_search { "size": 10, "query": { "match" : { "title" : "elas
我有一个看起来像这样的 Elasticsearch 查询, { size: 25, query: { bool: { filter: ..., must: ..
我读了这个doc了解“search_after”并有两个问题。 我很好奇“tweet#654323”的来源。这是其中之一吗文档 ID 或字段数据? 当我添加多个search_after参数时,是'an
我一直在尝试将 Elasticsearch 用于我们的应用程序,但限制为 10k 的分页实际上对我们来说是一个问题,并且由于必须超时问题,scroll API 也不是推荐的选择。 我发现 Elasti
我试图通过索引索引同时查询我的索引并根据地理距离进行过滤,但我可能会收到此错误 错误: { "error": { "root_cause": [ {
如何在 spring boot NativeSearchQueryBuilder 中将“search_after”(https://www.elastic.co/guide/en/elasticsea
我想随机跳转到 elasticsearch 的结果页面。 elasticsearch中分页的三种方式: from/size - 由于最大深度限制为 10000,我无法使用它。 滚动 API - 我可以
对于查询中给定的日期范围和 search_after 参数,我能够成功提取相关结果。我如何确定我是否在给定日期范围内的搜索结果末尾,并且我不必继续使用 search_after 参数进行查询。 最佳答
我正在使用弹性 RestHighLevelClient 与 ES 交谈。我能够查询基本查询。虽然我正在尝试使用 teh search_after api 从我的前端查询中设计一个分页的 api。尽管
我是一名优秀的程序员,十分优秀!