Showing
1 changed file
with
15 additions
and
8 deletions
@@ -131,7 +131,7 @@ public class SearchLikeInShopService { | @@ -131,7 +131,7 @@ public class SearchLikeInShopService { | ||
131 | // 1、设置SearchParam | 131 | // 1、设置SearchParam |
132 | SearchParam searchParam = new SearchParam(); | 132 | SearchParam searchParam = new SearchParam(); |
133 | // 2)设置query和filter | 133 | // 2)设置query和filter |
134 | - searchParam.setFiter(this.builderSearchLikeFilter(productInfoInEs, productSkns)); | 134 | + searchParam.setFiter(this.builderSearchLikeInShopFilter(productInfoInEs, productSkns)); |
135 | // 3、设置分页参数 | 135 | // 3、设置分页参数 |
136 | searchParam.setOffset(0); | 136 | searchParam.setOffset(0); |
137 | searchParam.setSize(productSkns.size()); | 137 | searchParam.setSize(productSkns.size()); |
@@ -141,32 +141,39 @@ public class SearchLikeInShopService { | @@ -141,32 +141,39 @@ public class SearchLikeInShopService { | ||
141 | return searchParam; | 141 | return searchParam; |
142 | } | 142 | } |
143 | 143 | ||
144 | - private SearchParam buildCharactersSearchParam(JSONObject productInfoInEs, int viewNum) { | 144 | + /** |
145 | + * 店铺内按文字找相似 | ||
146 | + * | ||
147 | + * @param productInfoInEs | ||
148 | + * @param pageSize | ||
149 | + * @return | ||
150 | + */ | ||
151 | + public SearchParam buildCharactersSearchParam(JSONObject productInfoInEs, int pageSize) { | ||
145 | // 1、设置SearchParam | 152 | // 1、设置SearchParam |
146 | SearchParam searchParam = new SearchParam(); | 153 | SearchParam searchParam = new SearchParam(); |
147 | // 2)设置query和filter | 154 | // 2)设置query和filter |
148 | - searchParam.setQuery(this.buildCharactersQueryBuilder(productInfoInEs, "20%")); | ||
149 | - searchParam.setFiter(this.builderSearchLikeFilter(productInfoInEs, null)); | 155 | + searchParam.setQuery(this.buildeCharactersQueryBuilder(productInfoInEs, "20%")); |
156 | + searchParam.setFiter(this.builderSearchLikeInShopFilter(productInfoInEs, null)); | ||
150 | // 3、设置排序规则[按打分排序] | 157 | // 3、设置排序规则[按打分排序] |
151 | - List<SortBuilder<?>> sortBuilders = new ArrayList<SortBuilder<?>>(); | 158 | + List<SortBuilder<?>> sortBuilders = new ArrayList<>(); |
152 | sortBuilders.add(SortBuilders.scoreSort().order(SortOrder.DESC)); | 159 | sortBuilders.add(SortBuilders.scoreSort().order(SortOrder.DESC)); |
153 | searchParam.setSortBuilders(sortBuilders); | 160 | searchParam.setSortBuilders(sortBuilders); |
154 | // 4、设置分页参数 | 161 | // 4、设置分页参数 |
155 | searchParam.setOffset(0); | 162 | searchParam.setOffset(0); |
156 | - searchParam.setSize(viewNum); | 163 | + searchParam.setSize(pageSize); |
157 | // 5)设置返回的参数【节省带宽】 | 164 | // 5)设置返回的参数【节省带宽】 |
158 | List<String> includeFields = productIndexBaseService.getProductIndexIncludeFields(); | 165 | List<String> includeFields = productIndexBaseService.getProductIndexIncludeFields(); |
159 | searchParam.setIncludeFields(includeFields); | 166 | searchParam.setIncludeFields(includeFields); |
160 | return searchParam; | 167 | return searchParam; |
161 | } | 168 | } |
162 | 169 | ||
163 | - private QueryBuilder buildCharactersQueryBuilder(JSONObject productInfoInEs, String minimumShouldMatch) { | 170 | + private QueryBuilder buildeCharactersQueryBuilder(JSONObject productInfoInEs, String minimumShouldMatch) { |
164 | String queryString = searchLikeHelper.genYohoQueryStringWithBrandName(productInfoInEs); | 171 | String queryString = searchLikeHelper.genYohoQueryStringWithBrandName(productInfoInEs); |
165 | QueryBuilder queryBuilder = searchLikeHelper.buildCharsetQueryBuilder(queryString, minimumShouldMatch); | 172 | QueryBuilder queryBuilder = searchLikeHelper.buildCharsetQueryBuilder(queryString, minimumShouldMatch); |
166 | return queryBuilder; | 173 | return queryBuilder; |
167 | } | 174 | } |
168 | 175 | ||
169 | - private BoolQueryBuilder builderSearchLikeFilter(JSONObject productInfoInEs, List<String> inProductSkns) { | 176 | + private BoolQueryBuilder builderSearchLikeInShopFilter(JSONObject productInfoInEs, List<String> inProductSkns) { |
170 | //1) 默认参数 | 177 | //1) 默认参数 |
171 | String productSkn = productInfoInEs.getString(ProductIndexEsField.productSkn); | 178 | String productSkn = productInfoInEs.getString(ProductIndexEsField.productSkn); |
172 | String isGlobalInEs = productInfoInEs.getString(ProductIndexEsField.isGlobal); | 179 | String isGlobalInEs = productInfoInEs.getString(ProductIndexEsField.isGlobal); |
-
Please register or login to post a comment