Elasticsearch Java API-构建查询

内洛斯

我浏览了Search API文档,但发现它们的描述性不足(即使它们写得很好)。我正在尝试构建查询,但是几乎不了解所有可用的不同选项,并且在构建查询时无法找到有关此事的信息,而且我无法将可以在Sense中运行的查询转换为可以使用Java API运行的查询

从某种意义上说,我有以下几点:

GET index/_search
{
  "query": {
    "match" : {
      "name" : "some string"
    }
  }
}

在我的Java代码中,我有:

node = nodeBuilder().client(true).clusterName(CLUSTER_NAME).node();
client = node.client();
QueryBuilder qb = QueryBuilders.termQuery("name", "some string");
SearchResponse response = client.prepareSearch("index") //
    .setQuery(qb) // Query
    .execute().actionGet();

但是它们产生不同的搜索结果。我看不到有什么区别?另外,是否有可能有用的良好信息来源?

约翰·彼得罗恩

如果希望两个查询返回相同的结果,则需要使用相同的查询类型。在您的Sense查询中,您将执行匹配查询:

"query": {
    "match" : {
      "name" : "some string"
    }
  }

但是在您的Java代码中,您正在执行termQuery:

QueryBuilder qb = QueryBuilders.termQuery("name", "some string");

因此,要回答您的问题,请在Java代码中使用匹配查询:

QueryBuilder qb = QueryBuilders.matchQuery("name", "some string");

关于第二个问题,它有点宽泛。我当然会尝试遍历文档并在StackOverflow上进行搜索。关于Java API,我将在此处查看概述,并在此处查看有关通过Java查询dsl的信息。

我认为,对Elasticsearch的工作原理有一个很好的一般理解,并且对通过REST API的查询机制有所了解,将对理解Java API很有帮助。良好的起点:

http://joelabrahamsson.com/elasticsearch-101/

http://exploringelasticsearch.com/

http://java.dzone.com/articles/elasticsearch-getting-started

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

elasticsearch | 模板查询| Java API

来自分类Dev

没有Java API的Java Elasticsearch查询

来自分类Dev

Elasticsearch Java API中的过滤查询

来自分类Dev

使用Java API的Elasticsearch FunctionScore查询

来自分类Dev

如何使用elasticsearch python API正确构建查询?

来自分类Dev

如何使用elasticsearch python API正确构建查询?

来自分类Dev

如何使用ElasticSearch Java API从JSON构建聚合

来自分类Dev

如何使用Elasticsearch Java API构建同级聚合?

来自分类Dev

Elasticsearch:匹配查询返回错误结果(Java API)

来自分类Dev

使用Java API的ElasticSearch日期范围查询聚合

来自分类Dev

如何在Elasticsearch Java API中查询特定映射?

来自分类Dev

如何使用Java API重写ElasticSearch DSL查询

来自分类Dev

如何使用ElasticSearch Java API生成以下查询

来自分类Dev

使用Java API进行查询的ElasticSearch定制分析器

来自分类Dev

使用Java API Elasticsearch删除与查询相关的数据结果

来自分类Dev

Elasticsearch Java API-Bool查询运算符

来自分类Dev

ElasticSearch Java API与ElasticsearchTemplate

来自分类Dev

Elasticsearch搜索Java API

来自分类Dev

Elasticsearch Java验证API

来自分类Dev

使用Java API的Elasticsearch

来自分类Dev

Elasticsearch搜索Java API

来自分类Dev

elasticsearch JSON Java API

来自分类Dev

使用Java API的Elasticsearch

来自分类Dev

ElasticSearch Java API与ElasticsearchTemplate

来自分类Dev

elasticsearch Java搜索查询

来自分类Dev

记录通过ElasticSearch高级Java客户端构建的JSON查询以进行调试?

来自分类Dev

使用Java API的Elasticsearch聚合

来自分类Dev

Elasticsearch Java API错误“ NoClassDefFoundError”

来自分类Dev

ElasticSearch Java API搜索错误

Related 相关文章

热门标签

归档