elasticsearch - [search_after] 错误中 VALUE_STRING 的未知键

标签 elasticsearch

我正在对包含 18,000 个主题的结果集进行 Elasticsearch 调用。因此我使用search_after。但在第一次使用此参数后我收到以下错误。

Unknown key for a VALUE_STRING in [search_after]

我使用的是elasticsearch 5.1,查询如下

{
  "query": {
    "bool": {
      "filter": [
        {
          "bool": {
            "should": [
              {
                "match": {
                  "CategoryId": "1-4534"
                }
              }
            ],
            "minimum_should_match": 1
          }
        }
      ]
    }
  },
  "size": 100,
  "from": 0,
  "sort": {"Name":"asc"} ,
  "search_after": "D106891_1"
}

要求不是对 Elasticsearch 可以返回的结果数量设置任何明确的限制(默认为 10,000),而是设置一些分页,以防止将来用户数据超过设定限制时代码出现任何问题。我通过循环发送查询来执行分页,一次性获取 100 个主题。这是通过将大小设置为 100 并将增量值设置为 每次迭代增加100。当我到达 from+size = 10000 时,我添加 search_after 但它失败并出现上述错误。如果我可以提供更多信息,请告诉我。谢谢。

最佳答案

我只需对 search_after 和 Name.lowercase 使用数组而不是 Name,因为这就是 Name 属性的映射的编写方式(如下所示)

           "Name": {
                        "type": "text",
                        "fields": {
                            "lowercase": {
                                "type": "text",
                                "analyzer": "mdm_lowercase_analyzer",
                                "fielddata": true
                            },
                            "raw": {
                                "type": "keyword"
                            }
                        }
                    }

关于elasticsearch - [search_after] 错误中 VALUE_STRING 的未知键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654161/

相关文章:

json - 在负载中指定 elasticsearch 索引

java - Elasticsearch Java API : Object mapping for [eventDefinitions] tried to parse field [null] as object, 但找到了具体值?

sorting - Elasticsearch zScore 计算(合并 2 个具有不同分数分布的文档集合)

elasticsearch - Elasticsearch 和星火 : Updating existing entities

ElasticSearch:何时使用多字段

elasticsearch - 如何在elasticsearch中使用查询DSL找到最近/最近的数字

sql - 在 elasticsearch 中从 postgresql 对分区进行排名

elasticsearch - 选择 bool 查询 Elasticsearch 的不同值

ruby - 在 Elasticsearch 中计算地理距离

amazon-web-services - 如何将logstash 与opensearch 集成以实现logstash-output-opensearch