【问题标题】:Elasticsearch API: difference between SearchQuery and SearchResponse?Elasticsearch API:SearchQuery 和 SearchResponse 之间的区别?
【发布时间】:2015-08-17 19:19:25
【问题描述】:

根据一些给定的 QueryBuilder 和 FilterBuilder,在我的 Spring-Data-Elasticsearch 应用程序中,我正在尝试使用 SearchQuery 来搜索 Elasticsearch。

但是,在我看来,Elasticsearch docs talk about SearchResponse 的工作似乎与 SearchQuery 相同。

我不明白 SearchQuery 和 SearchResponse 之间的区别。 有人能指出区别吗?

【问题讨论】:

    标签: elasticsearch spring-data-elasticsearch


    【解决方案1】:

    如果您将查询对象传递给 elasticsearch 客户端并执行查询,您会得到响应。 响应类型取决于查询类型。

    executed SearchQuery object -> SearchResponse object
    executed IndexQuery object -> IndexResponse object
    

    等等……

    在链接的代码 sn-p 中,SearchQuery 对象是使用 prepareSearch 方法构建的。然后它被客户端执行。

    SearchResponse response = 
      // Query creation part
      client.prepareSearch("index1", "index2")
            .setTypes("type1", "type2")
            .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
            .setQuery(QueryBuilders.termQuery("multi", "test"))             
            .setPostFilter(FilterBuilders.rangeFilter("age").from(12).to(18))   
            .setFrom(0).setSize(60).setExplain(true)
    
            //query execution part
            .execute()
            .actionGet();
    

    【讨论】:

      【解决方案2】:

      搜索查询是您发送给 Elastic 的查询,搜索响应是 Elasticsearch 对该查询的响应。

      例如,这可能是您的查询:

      POST /your_index/_search
      {
        "query": {
          "term": {
            "available": {
              "value": true
            }
          }
        }
      

      还有一个可能来自 ES 的查询响应:

      {
         "took": 99,
         "timed_out": false,
         "_shards": {
            "total": 1,
            "successful": 1,
            "failed": 0
         },
         "hits": {
            "total": 58188,
            "max_score": 0.99998283,
            "hits": [
               ...
            ]
         }
      }
      

      【讨论】:

      • 感谢您的解释!
      猜你喜欢
      • 2019-06-08
      • 2015-04-30
      • 2020-09-09
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多