java - Java中ElasticSearch中的字段搜索?

标签 java elasticsearch

我在elasticsearch中索引了对象:

{"id":"一","name":"约翰"} {"id":"二","name":"史蒂夫"}

我将它们放入弹性索引“people”中,输入“people”和文档“/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必须为小写。

关于java - Java中ElasticSearch中的字段搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173722/

相关文章:

ElasticSearch 从数组字段中过滤聚合

filter - 为 Elasticsearch 标准化英式和美式英语

c# - 带elasticsearch的“Invalid datetime format. value:2020-01-07 11:46:44”

elasticsearch - Elasticsearch 2.x不适用于Spring Boot 1.2.5

lucene - 动态更改 elasticsearch 同义词

java - 使用模仿;是否可以模拟一个将 lambda 作为参数并断言 lambda 捕获的变量的方法?

java - 如何在 Java 中比较字符串?

java - 如果我的 Java 源文件中存在语法错误,为什么 Eclipse 会生成 .class 文件?

java - 我们可以使用 EWS Java API ver 2.0 jar 连接到 Exchange 2016 吗?

java - Freebase 寻找替代公司名称