简体   繁体   English

如何使用RestHighLevelClient查找具有特定字段的文档包含字符串

[英]How to find documents with specific field contains string using RestHighLevelClient

So, I can make simple via url: 因此,我可以通过url简化操作:

<elastic_host>/indexname/_search?pretty=true&q=text:*str*

I want to do the same with RestHighLevelClient, but it dosn't work: 我想对RestHighLevelClient做同样的事情,但是不起作用:

 SearchRequest searchRequest = new SearchRequest(indexName);
    searchRequest.types(INDEX_TYPE);
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    QueryBuilder queryBuilder = QueryBuilders.matchQuery(IMAGE_TEXT_FIELD_NAME, "*str*" );
    searchSourceBuilder.query(queryBuilder);
    searchRequest.source(searchSourceBuilder);
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);

The equivalent query is not a match query but a query_string query, so you can replace the following line 等效查询不是匹配查询,而是query_string查询,因此您可以替换以下行

QueryBuilder queryBuilder = QueryBuilders.matchQuery(IMAGE_TEXT_FIELD_NAME, "*str*" );

by this one 通过这个

QueryBuilder queryBuilder = QueryBuilders.queryStringQuery("*str*").field(IMAGE_TEXT_FIELD_NAME);

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

相关问题 Elasticsearch-Java RestHighLevelClient-如何使用滚动API获取所有文档 - Elasticsearch - Java RestHighLevelClient - how to get all documents using scroll api 如何查找其数组字段仅包含两个特定值的所有文档 - How to find all documents which their array field contains only two specific values 使用java查找包含mongodb中特定值的数组的文档 - Find documents with array that contains a specific value in mongodb using java 使用Java查找包含具有特定值的字段的所有mongo文档 - Find all mongo documents containing a field with a specific value using java 如何查找字符串是否包含数字,后跟特定字符串 - how to find if a string contains numbers followed by a specific string 如何使用 (.contains) 从数组列表中查找特定字符串 - How do I find a specific string from an array list using (.contains) 如何在 Elasticsearch 中使用 RestHighLevelClient 获取不同的值? - How to get Distinct values using RestHighLevelClient in Elasticsearch? 将 RestHighLevelClient 与 OAuth2 一起使用 - Using RestHighLevelClient with OAuth2 使用Java RestHighLevelClient使用BulkRequest API为ElasticSearch索引100K文档 - ElasticSearch Indexing 100K documents with BulkRequest API using Java RestHighLevelClient 如何使用 RestHighLevelClient 获取集群状态或索引元数据? - How to get the cluster state or index metadata using RestHighLevelClient?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM