未验证 提交 e8f7ae05 编写于 作者: wu-sheng's avatar wu-sheng 提交者: GitHub

Fix searchService bug in ES implementation . (#5059)

上级 55ad655a
...@@ -25,7 +25,6 @@ import java.io.IOException; ...@@ -25,7 +25,6 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.skywalking.oap.server.core.analysis.IDManager;
import org.apache.skywalking.oap.server.core.analysis.NodeType; import org.apache.skywalking.oap.server.core.analysis.NodeType;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket; import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic; import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic;
...@@ -41,7 +40,6 @@ import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO; ...@@ -41,7 +40,6 @@ import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO;
import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient; import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.EsDAO; import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.EsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.MatchCNameBuilder; import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.MatchCNameBuilder;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.QueryBuilders;
...@@ -132,16 +130,15 @@ public class MetadataQueryEsDAO extends EsDAO implements IMetadataQueryDAO { ...@@ -132,16 +130,15 @@ public class MetadataQueryEsDAO extends EsDAO implements IMetadataQueryDAO {
@Override @Override
public Service searchService(String serviceCode) throws IOException { public Service searchService(String serviceCode) throws IOException {
GetResponse response = getClient().get( SearchSourceBuilder sourceBuilder = SearchSourceBuilder.searchSource();
ServiceTraffic.INDEX_NAME, IDManager.ServiceID.buildId(serviceCode, NodeType.Normal)); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
if (response.isExists()) { boolQueryBuilder.must().add(QueryBuilders.termQuery(ServiceTraffic.NODE_TYPE, NodeType.Normal.value()));
Service service = new Service(); boolQueryBuilder.must().add(QueryBuilders.termQuery(ServiceTraffic.NAME, serviceCode));
service.setId((String) response.getSource().get(ServiceTraffic.ENTITY_ID)); sourceBuilder.query(boolQueryBuilder);
service.setName((String) response.getSource().get(ServiceTraffic.NAME)); sourceBuilder.size(1);
return service; SearchResponse response = getClient().search(ServiceTraffic.INDEX_NAME, sourceBuilder);
} else { final List<Service> services = buildServices(response);
return null; return services.size() > 0 ? services.get(0) : null;
}
} }
@Override @Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册