...
|
...
|
@@ -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)) {
|
...
|
...
|
|