From c9cbdfa41d645d42eeaa7e06d550d4ef8ac328e7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期五, 03 一月 2020 12:15:08 +0800
Subject: [PATCH] redis关键词

---
 fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java |   57 ++++++++++++---------------------------------------------
 1 files changed, 12 insertions(+), 45 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 16d8498..d10ae20 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
@@ -31,49 +31,7 @@
 	 * @param uid 鐢ㄦ埛id
 	 * @return
 	 */
-	public List<ESOrder> queryMatch(String key, String uid) {
-		List<ESOrder> list = new ArrayList<ESOrder>();
-
-		// 鍟嗗搧鍚嶇О鍖归厤
-		MatchQueryBuilder match1 = new MatchQueryBuilder("goodsName", key).fuzziness(Fuzziness.AUTO);
-		// 璁㈠崟鍙峰尮閰�
-		MatchQueryBuilder match2 = new MatchQueryBuilder("orderNo", key).fuzziness(Fuzziness.AUTO);
-
-		TermQueryBuilder term1 = QueryBuilders.termQuery("uid", uid);
-		// 涓婄骇
-		TermQueryBuilder term2 = QueryBuilders.termQuery("uidDirect", uid);
-		// 涓婁笂绾�
-		TermQueryBuilder term3 = QueryBuilders.termQuery("uidIndirect", uid);
-
-		SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
-		sourceBuilder.query(match1).query(match2).query(term1).query(term2).query(term3);
-
-		SearchRequest searchRequest = new SearchRequest();
-		searchRequest.indices(index);
-		searchRequest.source(sourceBuilder);
-		try {
-			SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
-			SearchHits hits = searchResponse.getHits();
-			SearchHit[] searchHits = hits.getHits();
-			Gson gson = new Gson();
-			for (SearchHit hit : searchHits) {
-				String content = hit.getSourceAsString();
-				list.add(gson.fromJson(content, ESOrder.class));
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return list;
-	}
-
-	/**
-	 * 鏌ヨ鍖归厤
-	 * 
-	 * @param key 鎼滅储璇�
-	 * @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))
@@ -84,10 +42,19 @@
 
 		// 鏌ヨ鍒涘缓
 		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));
+		}
 		
 		SearchRequest searchRequest = new SearchRequest();
-		searchRequest.indices(index);
+		searchRequest.indices(getDocument(ESOrder.class));
 		searchRequest.source(sourceBuilder);
 		try {
 			SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

--
Gitblit v1.8.0