我正在执行一项任务,必须在 Java 代码库中用 Elasticsearch 替换 Solr。一种方法允许将文本查询提交给 Solr:
public List<String> executeQueryForCollection(SolrQuery query, String collectionName)
throws IOException, SolrServerException {
QueryResponse response = this.client.query(collectionName, query);
return response.getResults();
}
其中 query
是任何有效的 Solr 查询(name_s:'Joe Bloggs' AND Age_i:15
)。与此等效的 Elasticsearch(版本 2.4.4)是什么? Elasticsearch 的 API似乎限制更多。
最佳答案
您需要为此使用 query_string
查询。
QueryStringQueryBuilder qs = QueryBuilders.queryStringQuery("name_s:'Joe Bloggs' AND age_i:15");
client.prepareSearch(index).setQuery(qs);
关于java - 使用 Elasticsearch Java API 运行文本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42071702/