优化es商品搜索,全分词匹配改为2分词匹配
This commit is contained in:
parent
06ee6d6359
commit
8e30defa0e
@ -562,7 +562,8 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
|
|||||||
*/
|
*/
|
||||||
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
private List<FunctionScoreQueryBuilder.FilterFunctionBuilder> buildKeywordSearch(String keyword) {
|
||||||
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
|
||||||
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.AND);
|
// operator 为 AND 时 需全部分词匹配。为 OR 时 需配置 minimumShouldMatch(最小分词匹配数)不设置默认为1
|
||||||
|
MatchQueryBuilder goodsNameQuery = QueryBuilders.matchQuery("goodsName", keyword).operator(Operator.OR).minimumShouldMatch("2");
|
||||||
//分词匹配
|
//分词匹配
|
||||||
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
filterFunctionBuilders.add(new FunctionScoreQueryBuilder.FilterFunctionBuilder(goodsNameQuery,
|
||||||
ScoreFunctionBuilders.weightFactorFunction(10)));
|
ScoreFunctionBuilders.weightFactorFunction(10)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user