使用 Elasticsearch Java API 运行文本查询



我正在做一项任务,其中我必须在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);

最新更新