From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 18 一月 2020 12:06:27 +0800
Subject: [PATCH] 用户注册信息

---
 fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java
index 9d6868f..83ba2d6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java
@@ -3,15 +3,14 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchResponse;
 import org.elasticsearch.client.RequestOptions;
-import org.elasticsearch.common.unit.Fuzziness;
+import org.elasticsearch.common.unit.TimeValue;
 import org.elasticsearch.index.query.BoolQueryBuilder;
-import org.elasticsearch.index.query.MatchQueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.TermQueryBuilder;
 import org.elasticsearch.search.SearchHit;
 import org.elasticsearch.search.SearchHits;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
@@ -31,24 +30,39 @@
 	 * @param uid 鐢ㄦ埛id
 	 * @return
 	 */
-	public List<ESOrder> query(String key, String uid) {
+	public List<ESOrder> query(String key, String uid, List<Integer> listPlatform) {
 		List<ESOrder> list = new ArrayList<ESOrder>();
-		// 鍟嗗搧鍚嶇О鍖归厤
-		BoolQueryBuilder should1 = QueryBuilders.boolQuery().should(QueryBuilders.matchPhraseQuery("orderNo", key))
-				.should(QueryBuilders.matchPhraseQuery("goodsName", key));
+		// 鍟嗗搧鍚嶇О妯$硦鍏ㄨ瘝鍖归厤
+		BoolQueryBuilder should1 = QueryBuilders.boolQuery()
+				.should(QueryBuilders.wildcardQuery("orderNo.keyword", "*" + key + "*"))
+				.should(QueryBuilders.wildcardQuery("goodsName.keyword", "*" + key + "*"));
 		// 鐢ㄦ埛id鍖归厤
-		BoolQueryBuilder should2 = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("uid", uid))
-				.should(QueryBuilders.termQuery("uidDirect", uid)).should(QueryBuilders.termQuery("uidDirect", uid));
+
+		BoolQueryBuilder should2 = QueryBuilders.boolQuery().should(QueryBuilders.termQuery("uid", uid));
+		// .should(QueryBuilders.termQuery("uidDirect",
+		// uid)).should(QueryBuilders.termQuery("uidDirect", uid));
 
 		// 鏌ヨ鍒涘缓
 		SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
-		sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2));
-		
+
+		if (listPlatform == null || listPlatform.size() == 0) {
+			sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2));
+		} else {
+			BoolQueryBuilder should3 = QueryBuilders.boolQuery();
+			for (Integer platform : listPlatform) {
+				should3.should(QueryBuilders.termQuery("platform", platform));
+			}
+			sourceBuilder.query(QueryBuilders.boolQuery().must(should1).must(should2).must(should3));
+		}
+		// 鏈�澶ф煡璇㈡暟涓�200
+		sourceBuilder.size(200);
+		// 瓒呮椂20s
+		sourceBuilder.timeout(new TimeValue(20, TimeUnit.SECONDS));
 		SearchRequest searchRequest = new SearchRequest();
 		searchRequest.indices(getDocument(ESOrder.class));
 		searchRequest.source(sourceBuilder);
 		try {
-			SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
+			SearchResponse searchResponse = elasticManger.getClient().search(searchRequest, RequestOptions.DEFAULT);
 			SearchHits hits = searchResponse.getHits();
 			SearchHit[] searchHits = hits.getHits();
 			Gson gson = new Gson();

--
Gitblit v1.8.0