Prechádzať zdrojové kódy

add: 搜索优化

- 主要优化v8版索引
许家凯 4 rokov pred
rodič
commit
a4d760edd9

+ 3 - 3
src/main/java/com/winhc/phoenix/example/controller/SearchController.java

@@ -31,7 +31,7 @@ public class SearchController {
     @Timer
     @ApiOperation(value = "es搜索")
     @GetMapping("query")
-    public Object query(String content, @RequestParam(defaultValue = "v8_simp") EsVersion version, @RequestParam(defaultValue = "0") int from, @RequestParam(defaultValue = "10") int size) {
+    public Object query(String content, @RequestParam(defaultValue = "v8精简版") EsVersion version, @RequestParam(defaultValue = "0") int from, @RequestParam(defaultValue = "10") int size) {
         return map.get(version.getValue()).query(cleanup(content), from, size);
     }
 
@@ -39,14 +39,14 @@ public class SearchController {
     @Timer
     @ApiOperation(value = "搜索对照组")
     @GetMapping("control")
-    public Object controlGroup(String content, @RequestParam(defaultValue = "v8_simp") EsVersion version) {
+    public Object controlGroup(String content, @RequestParam(defaultValue = "v8精简版") EsVersion version) {
         return map.get(version.getValue()).controlGroup(cleanup(content));
     }
 
     @Timer
     @ApiOperation(value = "搜索提示(测试中)")
     @GetMapping("tips")
-    public Object searchTips(String content, @RequestParam(defaultValue = "v8_simp") EsVersion version) {
+    public Object searchTips(String content, @RequestParam(defaultValue = "v8精简版") EsVersion version) {
         return map.get(version.getValue()).tips(cleanup(content));
     }
 

+ 3 - 3
src/main/java/com/winhc/phoenix/example/enums/EsVersion.java

@@ -13,8 +13,8 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public enum EsVersion {
-    v7(SearchV7ServiceImpl.index),
-    v8_simp(SearchV8SimpServiceImpl.index),
-    v8(SearchV8ServiceImpl.index);
+    v7(SearchV7ServiceImpl.index),
+    v8精简版(SearchV8SimpServiceImpl.index),
+    v8(SearchV8ServiceImpl.index);
     private final String value;
 }

+ 10 - 10
src/main/java/com/winhc/phoenix/example/service/impl/SearchV8ServiceImpl.java

@@ -127,35 +127,35 @@ public class SearchV8ServiceImpl implements SearchService {
                         .add(termQuery("company_tm.keyword", content).boost(20))
                 )
 
-                /*   .add(
+                   .add(
                            disMaxQuery()
-                                   .add(matchQuery("icp", content).boost(8).operator(Operator.AND).minimumShouldMatch("5<80%"))
-                                   .add(matchQuery("app_info", content).boost(23).operator(Operator.AND).minimumShouldMatch("5<80%"))
-                                   .add(matchQuery("company_tm", content).boost(7).operator(Operator.AND).minimumShouldMatch("5<80%"))
+                                   .add(matchQuery("icp", content).boost(8).operator(Operator.AND).minimumShouldMatch("5"))
+                                   .add(matchQuery("app_info", content).boost(19).operator(Operator.AND).minimumShouldMatch("5"))
+                                   .add(matchQuery("company_tm", content).boost(7).operator(Operator.AND).minimumShouldMatch("5"))
                                    .tieBreaker(0.3F)
-                   )*/
+                   )
 
-             /*   .add(
+                /*.add(   //todo 在排序上会有影响   ps. 奔驰
                         boolQuery()
                                 .should(matchQuery("icp", content).boost(8))
-                                .should(matchQuery("app_info", content).boost(23))
+                                .should(matchQuery("app_info", content).boost(19))
                                 .should(matchQuery("company_tm", content).boost(7))
 
                                 .should(termQuery("icp.keyword", content).boost(20))
                                 .should(termQuery("app_info.keyword", content).boost(40))
-                                .should(termQuery("company_tm.keyword", content).boost(15))
+                                .should(termQuery("company_tm.keyword", content).boost(20))
                                 .minimumShouldMatch("5<80%")
 
                 )*/
 
-                .add(
+                /*.add(
                         disMaxQuery()
                                 .add(boolQuery().should(matchQuery("icp", content).boost(8)).minimumShouldMatch("5<80%"))
                                 .add(boolQuery().should(matchQuery("app_info", content).boost(19)).minimumShouldMatch("5<80%"))
                                 .add(boolQuery().should(matchQuery("company_tm", content).boost(7)).minimumShouldMatch("5<80%"))
                                 .tieBreaker(0.3F)
 
-                )
+                )*/
 
                 .tieBreaker(0.4F)
         );