@Test
/**
* skus/skus/_search post {
"query": {
"more_like_this": {
"fields": [
"name"
],
"like": "电视",
"min_doc_freq": 0,
"min_word_len": 0,
"min_term_freq": 0
}
}
}
*/
public void testMoreLikeThisQuery() {
QueryBuilder queryBuilder = QueryBuilders.moreLikeThisQuery("name")
.like("电视").minDocFreq(0).minWordLength(0).minTermFreq(0);
GoodsQueryVO query = new GoodsQueryVO();
Pageable pageable = new PageRequest(query.getCurrentPage() - 1, query.getPageSize());
NativeSearchQueryBuilder nativeQueryBuilder = new NativeSearchQueryBuilder().withQuery(queryBuilder)
.withPageable(pageable);
SearchQuery searchQuery = nativeQueryBuilder.build();
System.out.println("searchQuery:"+searchQuery.getQuery());
List<Goods> pg = elasticsearchTemplate.queryForList(searchQuery, Goods.class);
if(pg!=null) {
System.out.println("size================="+pg.size());
for(Goods g:pg) {
System.out.println(g);
}
}else {
System.out.println("size=================0");
}
}
https://elasticsearch.cn/question/1894