剛剛嘗試這樣,@query註釋不是強制性的: -
隨着查詢: -
@Query("{\"bool\" : {\"must\" : [ {\"match\" : {\"?0\" : \"?1\"}} ]}}")
Page<MyDoc> getbyAll(String a, String b, Pageable pageable);
int aPageReuestcount = (int) myRepositiry.count();
Page<MyDoc> aData = myRepositiry.getbyAll("_all", "HelloWorld", new PageRequest(0, aPageReuestcount));
List<MyDoc> aDataList = aData.getContent();
沒有查詢: -
@Override
public List<MyDoc> getDatawithAllFields(String a) {
NativeSearchQueryBuilder aNativeSearchQueryBuilder = new NativeSearchQueryBuilder();
aNativeSearchQueryBuilder.withIndices(indexName).withTypes(type);
final BoolQueryBuilder aQuery = new BoolQueryBuilder();
aQuery.must(QueryBuilders.matchQuery("_all", a));
NativeSearchQuery nativeSearchQuery = aNativeSearchQueryBuilder.withQuery(aQuery).build();
List<MyDoc> aData = elasticsearchTemplate.queryForList(nativeSearchQuery, MyDoc.class);
return aData;
}
個
進口: -
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
遵循這一link。
我怕你不懂我的話,我想IMPL GET _search { 「查詢」:{ 「匹配」:{ 「_all」: 「...... myquerystring ......」 }} }我如何編寫知識庫函數,可能不會使用@Query,_all如何表示 – sholey
我想用全部字段搜索所有數據,而不是使用myRepository.findAll()。 findAll()是默認方法ElasticsearchRepository。 –
不完全是,我的意思是GET _search { 「查詢」:{ 「匹配」:{ 「_all」: 「...... myquerystring ......」 }} } 我,可以指定查詢字符串... myquerystring ... myRepository.findAll(querystring)無法工作。 我想搜索所有數據滿意指定查詢所有字段 – sholey