application.properties中的配置
#ElasticSearch
spring.data.elasticsearch.cluster-nodes = 127.0.0.1:9300
项目代码:
public List<Product> search(String keyword, int start, int size) {
initDatabase2ES();
FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery()
.add(QueryBuilders.matchPhraseQuery("name", keyword),
ScoreFunctionBuilders.weightFactorFunction(100))
.scoreMode("sum")
.setMinScore(10);
Sort sort = new Sort(Sort.Direction.DESC,"id");
Pageable pageable = new PageRequest(start, size,sort);
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withPageable(pageable)
.withQuery(functionScoreQueryBuilder).build();
Page<Product> page = productESDAO.search(searchQuery);
return page.getContent();
}
private voi