繁体   English   中英

通过Java中的ElasticSearch中的字段进行搜索?

[英]Search by the field in ElasticSearch in Java?

我在elasticsearch中建立了索引的对象:

{“ id”:“一个”,“名称”:“约翰”} {“ id”:“两个”,“名称”:“史蒂夫”}

我用索引“ people”,类型“ human”和文档“ / id(one,two)/”将其置为弹性

任务是使用带有高级客户端的Elasticsearch 6.2.4在Java中按“名称”搜索记录。

这是我的代码示例:

SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
    sourceBuilder.query(QueryBuilders.termQuery("name", name));
    SearchRequest searchRequest = new SearchRequest("people");
    searchRequest.types("human");
    searchRequest.indices("name").source(sourceBuilder);
    SearchResponse searchResponse;
    RestHighLevelClient client = getClient();
    searchResponse = client.search(searchRequest);

这是行不通的。

在执行搜索时需要帮助。

请尝试以下代码。

SearchRequest searchRequest = new SearchRequest("people"); 
searchRequest.types("human");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.termQuery("name", name"));
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest);

这里的name必须是小写的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM