From 6fdcc0c26dd33e87a024a69ed635d9aedb59cad6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 07 一月 2020 12:02:50 +0800 Subject: [PATCH] 订单搜索引擎增量更新 --- fanli/src/main/java/com/yeshi/fanli/dao/elastic/ESOrderDao.java | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 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 d10ae20..ee415f0 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; @@ -33,12 +32,12 @@ */ 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)); + .should(QueryBuilders.termQuery("uidDirect", uid)).should(QueryBuilders.termQuery("uidIndirect", uid)); // 鏌ヨ鍒涘缓 SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); @@ -52,12 +51,15 @@ } 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(); @@ -70,5 +72,5 @@ } return list; } - + } -- Gitblit v1.8.0