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