java - 使用 Elasticsearch Java API 运行文本查询

标签 java elasticsearch solr

我正在执行一项任务,必须在 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/

相关文章:

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

mongodb - Elasticsearch River未能获取大量数据

java - 如何在 Solr 中使用多个过滤器实现该产品搜索查询?

linux - PHP 服务器上的 Solr 安装问题(对于 Drupal)

java - StreamTokenizer 不将 + 视为单词

java - Spring Data LDAP 存储库查找 ldap 条目

java - OSX 上的 Eclipse 错误

ElasticSearch:bool 下嵌套查询的 Inner_hits - 支持吗?

Elasticsearch:产品变体价格建模和查询问题

java - 在 Java 中使用 Apache Solr 的 boost 查询功能和 Spring