mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-28 06:42:29 +00:00
Updated documentation for searchQuery Interface based and searchQueryBuilder support
This commit is contained in:
parent
21c88cab4c
commit
cf5804aebf
@ -132,8 +132,9 @@ Searching entities using Elasticsearch Template
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
private ElasticsearchTemplate elasticsearchTemplate;
|
||||||
|
|
||||||
SearchQuery searchQuery = new SearchQuery();
|
SearchQuery searchQuery = new NativeSearchQueryBuilder()
|
||||||
searchQuery.setElasticsearchQuery(fieldQuery("id", documentId));
|
.withQuery(fieldQuery("id", documentId))
|
||||||
|
.build();
|
||||||
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery,SampleEntity.class);
|
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery,SampleEntity.class);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -23,9 +23,10 @@
|
|||||||
<example>
|
<example>
|
||||||
<programlisting language="java">
|
<programlisting language="java">
|
||||||
private ElasticsearchTemplate elasticsearchTemplate;
|
private ElasticsearchTemplate elasticsearchTemplate;
|
||||||
SearchQuery searchQuery = new SearchQuery();
|
SearchQuery searchQuery = new NativeSearchQueryBuilder()
|
||||||
searchQuery.setElasticsearchQuery(matchAllQuery());
|
.withQuery(matchAllQuery())
|
||||||
searchQuery.setElasticsearchFilter(boolFilter().must(termFilter("id", documentId)));
|
.withFilter(boolFilter().must(termFilter("id", documentId)))
|
||||||
|
.build();
|
||||||
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery,SampleEntity.class);
|
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(searchQuery,SampleEntity.class);
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
@ -42,20 +43,21 @@ Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(sea
|
|||||||
Using Scan and Scroll
|
Using Scan and Scroll
|
||||||
</title>
|
</title>
|
||||||
<programlisting language="java">
|
<programlisting language="java">
|
||||||
SearchQuery searchQuery = new SearchQuery();
|
SearchQuery searchQuery = new NativeSearchQueryBuilder()
|
||||||
searchQuery.addIndices("test-index");
|
.withQuery(matchAllQuery())
|
||||||
searchQuery.addTypes("test-type");
|
.withIndices("test-index")
|
||||||
searchQuery.setElasticsearchQuery(matchAllQuery());
|
.withTypes("test-type")
|
||||||
searchQuery.setPageable(new PageRequest(0,1));
|
.withPageable(new PageRequest(0,1))
|
||||||
String scrollId = elasticsearchTemplate.scan(searchQuery,1000,false);
|
.build();
|
||||||
List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
|
String scrollId = elasticsearchTemplate.scan(searchQuery,1000,false);
|
||||||
boolean hasRecords = true;
|
List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>();
|
||||||
while (hasRecords){
|
boolean hasRecords = true;
|
||||||
Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L , new ResultsMapper<SampleEntity>() {
|
while (hasRecords){
|
||||||
@Override
|
Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L , new ResultsMapper<SampleEntity>() {
|
||||||
public Page<SampleEntity> mapResults(SearchResponse response) {
|
@Override
|
||||||
List<SampleEntity> chunk = new ArrayList<SampleEntity>();
|
public Page<SampleEntity> mapResults(SearchResponse response) {
|
||||||
for(SearchHit searchHit : response.getHits()){
|
List<SampleEntity> chunk = new ArrayList<SampleEntity>();
|
||||||
|
for(SearchHit searchHit : response.getHits()){
|
||||||
if(response.getHits().getHits().length <= 0) {
|
if(response.getHits().getHits().length <= 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -65,8 +67,7 @@ Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(sea
|
|||||||
chunk.add(user);
|
chunk.add(user);
|
||||||
}
|
}
|
||||||
return new PageImpl<SampleEntity>(chunk);
|
return new PageImpl<SampleEntity>(chunk);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
if(page != null) {
|
if(page != null) {
|
||||||
sampleEntities.addAll(page.getContent());
|
sampleEntities.addAll(page.getContent());
|
||||||
@ -76,7 +77,7 @@ Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForPage(sea
|
|||||||
hasRecords = false;
|
hasRecords = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</section>
|
</section>
|
||||||
</chapter>
|
</chapter>
|
Loading…
x
Reference in New Issue
Block a user