当前位置: 首页 > 知识库问答 >
问题:

在elasticsearch中用max_score进行字段折叠排序

祁景山
2023-03-14

我有查询后查询

localhost:8000/_search/?pretty=true&q=abbeline+black

{
  "aggs": {
    "dedup": {
      "terms": {
        "field": "image_url_hash",
        "size":0
      },
      "aggs": {
        "dedup_docs": {
          "top_hits": {
            "size": 1
          }
        }
      }
    }
  }
}

回应:

{
  "took": 84,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {...},
  "aggregations": {
    "dedup": {
      "doc_count_error_upper_bound": 10,
      "sum_other_doc_count": 2213,
      "buckets": [
        {
          "key": "14fe6e82a38688aa13dd8592ab12e8c0",
          "doc_count": 8,
          "dedup_docs": {
            "hits": {
              "total": 8,
              "max_score": 0.012580806,
              "hits": [
                {
                  "_index": "snder.co",
                  "_type": "product_feed",
                  "_id": "AVGucg-_uLMPZm4CUkuv",
                  "_score": 0.012580806,
                  "_source": {
                    "title": "Chinese Laundry Stilo Pointy Toe Pump Black 8.5",
                    "id": "17357703440022",
                    "image_url_hash": "14fe6e82a38688aa13dd8592ab12e8c0"
                  }
                }
              ]
            }
          }
        },
        {
          "key": "91fe5757349f5de7a5dcf716ebd6f3e3",
          "doc_count": 7,
          "dedup_docs": {
            "hits": {
              "total": 7,
              "max_score": 0.012580806,
              "hits": [
                {
                  "_index": "snder.co",
                  "_type": "product_feed",
                  "_id": "AVGucjvluLMPZm4CUkyC",
                  "_score": 0.012580806,
                  "_source": {
                    "title": "Sorel Joan of Arctic Waterproof Boots Black 6",
                    "id": "17212803440017",
                    "image_url_hash": "91fe5757349f5de7a5dcf716ebd6f3e3",

                  }
                }
              ]
            }
          }
        },
        {
          "key": "81c48b614facf034653417498b8a1659",
          "doc_count": 6,
          "dedup_docs": {
            "hits": {
              "total": 6,
              "max_score": 0.012577212,
              "hits": [
                {
                  "_index": "snder.co",
                  "_type": "product_feed",
                  "_id": "AVGucn3o7bmz9_YSCrEA",
                  "_score": 0.012577212,
                  "_source": {
                    "title": "Chinese Laundry Over The Knee Tie Back Boots Black 6",
                    "id": "17795103440017",
                    "image_url_hash": "81c48b614facf034653417498b8a1659",
                  }
                }
              ]
            }
          }
        },
        {
          "key": "d16c929f3490620e95ad0ef8e8d3117a",
          "doc_count": 6,
          "dedup_docs": {
            "hits": {
              "total": 6,
              "max_score": 0.018849576,
              "hits": [
                {
                  "_index": "snder.co",
                  "_type": "product_feed",
                  "_id": "AVGucedY7bmz9_YSCq4l",
                  "_score": 0.018849576,
                  "_source": {
                    "title": "Abbeline Tank Black S",
                    "id": "17480407090041",
                    "image_url_hash": "d16c929f3490620e95ad0ef8e8d3117a",

                  }
                }
              ]
            }
          }
        }
      ]
    }
  }
}

我将此html" target="_blank">请求更改为localhost:8000/_search/?pretty=true&q=abbeline+black

{
  "aggs": {
    "dedup": {
      "terms": {
        "field": "image_url_hash",
        "order": {
          "top_hit": "desc"
        }
      },
      "aggs": {
        "dedup_docs": {
          "top_hits": {}
        },
        "top_hit" : {
            "max": {
            "script": "_score"
          }
        }

      }
    }
  }
}

我一直得到这个错误

{“错误”:“SearchPhaseExecutionException[未能执行阶段[query],所有碎片都失败了;shardFailures{[OiTaTwM1S_CyfvTX1bDNrg][Snder.co][0]:RemoteTransportException[[Burstarr][Inet[/X.X.X.X:Y]][Indext:Data/Read/Search[phase/query]]];嵌套:SearchParseException[[Snder.co][0]:From[-1],size[-1]:Parse Failure[e_url_hash\”,\n\“order\”:{\n\“top_hit\”:\“desc\”\n}\n},\n\“aggs\”:{\n
\“dedup_docs\”:{\n\“top_hits\”:{}\n},\n
\“top_hits\”:{\n\“max\”:{\n\“script\”:\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}]];nested:scriptexception[禁用snder.co][1]:remoteTransportException[[Burstarr][inet[/x.x.x.x:y]][indexes:data/read/search[phase/query]]];嵌套:searchparseException[[snder.co][1]:from[-1],size[-1]:解析失败[未能解析源[{\n\“aggs\”:{\n\“dedup\”:{\n\“terms\”:{\n\“field\”:\“image_url_hash\“,\n\”order\“:{\n\”top_hit\“:\”desc\“\n}\n},\n\”aggs\“:{\n
\”dedup_docs\“:{\n\”top_hits\“:{}\n},\n
\”top_hits\“:{\n\”max\“:{\n\”script\“:\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}]];nested:scriptexception[禁用[groovy]的动态脚本[2]:RemoteTransportException[[Burstarr][Inet[/x.x.x.x:y]][indexes:data/read/search[phase/query]]];嵌套:SearchParseException[[snder.co][2]:from[-1],size[-1]:解析失败[未能解析源[{\n\”aggs\“:{\n\”dedup\“:{\n\”field\“:{\n\”field\“:”image_url_hash\“,\n\”order\“:{\n\”teld\“:”dedup_docs\“:{\n\”top_hits\“:{}\n},\n
\”top_hit\“:{\n\”max\“:{\n\”script\“:\”_score\“\n}\n}\n}\n}\n}\n}\n}\n}]];嵌套:scriptexception[禁用[groovy]的动态脚本];}{[OiTaTwM1S_CyfvTX1bDNrg][southmoonunder.com][3]:remotetransportexception[[Burstarr]e/查询]]];嵌套:SearchParseException[[Snder.co][3]:From[-1],size[-1]:解析失败[未能解析源[{\n\“aggs\”:{\n\“dedup\”:{\n\“terms\”:{\n\“field\”:“image_url_hash”,\n\“order\”:{\n\“top_hit\”:“desc\\n}\n},\n\”aggs\“:{\n\”top_hit\“:”desc\\n}\n},\n\“dedup_docs\”:{\n\“:{\n\”脚本\“:\”_score\“\n}\n}\n}\n}\n}\n}\n}]];嵌套:ScriptException[禁用[groovy]的动态脚本];}{[OiTaTwM1S_CyfvTX1bDNrg][southmoonunder.com][4]:RemoteTransportException[[Burstarr][inet[/x.x.x.x:y]][索引:data/read/search[phase/query]];嵌套:SearchParseException[[Snder.co][4]:From[-1],size[-1]:解析失败[未能解析源[{\n\“aggs\”:{\n\“dedup\”:{\n\“terms\”:{\n\“field\”:“image_url_hash”,\n\“order\”:{\n\“top_hit\”:“desc\\n}\n},\n\”aggs\“:{\n\”top_hit\“:”desc\\n}\n},\n\“dedup_docs\”:{\n\“:{\n\”脚本\“:\”_score\“\n}\n}\n}\n}\n}\n}\n}]];嵌套:ScriptException[禁用[groovy]的动态脚本];}]“,”状态“:400}

有人能帮我如何按max_score而不是按doc_counts排序吗?

共有1个答案

麹承
2023-03-14

根据错误dynamic scripting for[groovy],只需在ElasticSearch.yml配置文件中(在所有节点上)启用动态脚本。

如果您使用的是ES 1.6+,则:

script.inline: on

如果您使用的是早期版本:

script.disable_dynamic: false
 类似资料:
  • 问题内容: Elastic Search当前(截至0.18.4)不支持字段折叠。有没有一种很好的方法来模拟这种情况,从而避免 N个 搜索查询? 问题答案: 可能不是您要找的答案,而是:据我所知,根据这张票证,唯一真正的解决方法是在客户端选择更大的结果集和组。

  • 我试图在elasticsearch中对嵌套字段进行排序,但在按升序排序时,它总是在排序列表的顶部显示带有空值嵌套字段的文档。我希望排序(升序和降序),并希望空值嵌套字段文档出现在排序列表的末尾。 这是我正在使用的排序查询: 下面是我应用的与嵌套的“标记”字段相关的映射: 样品有效载荷:

  • Sup社区。我有个问题。我正在使用Elasticsearch 6.4 我的数据结构的一部分: 我需要得到按成本排序的文档desc,我需要排序dirs字段中的值date_by字段与nulls-first。 如何对嵌套字段内的值进行排序,而不按此嵌套字段对文档进行排序?

  • 我想根据数字字段对搜索结果进行排序。在下面的示例代码中,我希望基于'Age'字段进行排序。我从以下答案开始: [如何在Lucene 6中对IntPont或LongPoint字段进行排序 [在Lucene中根据数字字段对搜索结果进行排序 我在搜索函数中将sortfield.type.score更改为sortfield.type.long。但我得到: 意外的docvalues为字段“年龄”键入NONE

  • 我想按字段存在对我的ES搜索结果进行排序,假设我得到了字段“价格”,并希望所有有价格的结果都在顶部,所有没有价格的结果都在底部。我知道你可以做一个简单的排序并添加“缺失”:“_last”,例如: {“sort”:[{price':{missing':'u last',order':'asc'}}]} 但在这种情况下,结果也将按价格排序,我不想要它。 没有脚本有办法做到吗?