Authored by wangnan

修改suggest逻辑,用wildcard

... ... @@ -84,6 +84,10 @@ public class SearchServiceHelper {
return QueryBuilders.matchAllQuery();
}
if (isSuggest) {
WildcardQueryBuilder wildcardQueryBuilder = QueryBuilders.wildcardQuery("suggest", "*" + keyword + "*");
return wildcardQueryBuilder;
} else {
//构建MultiMatch
MultiMatchQueryBuilder queryBuilder = QueryBuilders.multiMatchQuery(keyword);
... ... @@ -100,7 +104,7 @@ public class SearchServiceHelper {
}
} else {
//设置searchfield和权重
this.setDefaultSearchField(queryBuilder, indexName, isSuggest);
this.setDefaultSearchField(queryBuilder, indexName);
}
//设置Operator
... ... @@ -113,6 +117,7 @@ public class SearchServiceHelper {
}
return queryBuilder;
}
}
/**
... ... @@ -223,17 +228,18 @@ public class SearchServiceHelper {
*
* @param queryBuilder
*/
private void setDefaultSearchField(MultiMatchQueryBuilder queryBuilder, String indexName, boolean isSuggest) {
private void setDefaultSearchField(MultiMatchQueryBuilder queryBuilder, String indexName) {
List<String> fields = new ArrayList<>();
if (isSuggest) {
fields = ISearchConstans.SEARCH_SUGGUST_FIELD;
} else if (indexName.equals(ISearchConstans.INDEX_NAME_BIZAREA)) {
if (indexName.equals(ISearchConstans.INDEX_NAME_BIZAREA)) {
fields = ISearchConstans.SEARCH_DEFAULT_FIELD_BIZAREA;
} else if (indexName.equals(ISearchConstans.INDEX_NAME_COMMENT)) {
}
if (indexName.equals(ISearchConstans.INDEX_NAME_COMMENT)) {
fields = ISearchConstans.SEARCH_DEFAULT_FIELD_COMMENT;
} else if (indexName.equals(ISearchConstans.INDEX_NAME_LINE)) {
}
if (indexName.equals(ISearchConstans.INDEX_NAME_LINE)) {
fields = ISearchConstans.SEARCH_DEFAULT_FIELD_LINE;
} else if (indexName.equals(ISearchConstans.INDEX_NAME_STORE)) {
}
if (indexName.equals(ISearchConstans.INDEX_NAME_STORE)) {
fields = ISearchConstans.SEARCH_DEFAULT_FIELD_STORE;
}
if (indexName.equals(ISearchConstans.INDEX_NAME_TOPIC)) {
... ...