当前位置: 首页 > 面试题库 >

将twitter数据索引到elasticsearch中:已超过索引中的总字段数[1000]个限制

冯沛
2023-03-14
问题内容

我有一个将Twitter Stream索引到Elasticsearch中的系统。它已经运行了几个星期。

最近一个错误已经出现了,说:Limit of total fields [1000] in index [dev_tweets] has been exceeded

我想知道是否有人遇到过同样的问题?

另外,如果我运行此curl:

$ curl -s -XGET http://localhost:9200/dev_tweets/_mapping?pretty | grep type | wc -l
     890

它应该给我或多或少的映射中的字段数。字段很多,但不超过1000


问题答案:

此限制已在以下GitHub 问题中引入。

该命令count grep type | wc -l计数文本为 “ type”
的行数。因此,我认为计数有可能不准确。我写了一小段文字,得到的值比实际字段数高。因此,您得到的字段数也可能少于实际数量,但是我还没有想到一种方案。

这是我做的测试。

curl -s -XGET http://localhost:9200/stackoverflow/_mapping?pretty

{
  "stackoverflow" : {
    "mappings" : {
      "os" : {
        "properties" : {
          "NAME" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          },
          "TITLE" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            },
            "fielddata" : true
          },
          "title" : {
            "type" : "text",
            "fielddata" : true
          }
        }
      }
    }
  }
}

由于 “类型” 有5行,所以即使我只有3个字段,我的输出也仍为5。

您可以 尝试增加限制 ,看看是否可行?

PUT my_index/_settings
{
  "index.mapping.total_fields.limit": 2000
}

您还可以在创建索引期间增加此限制。

PUT my_index
{
  "settings": {
    "index.mapping.total_fields.limit": 2000,
    "number_of_shards": 1,
    "number_of_replicas": 0
  },
  "mappings": {
    ...
  }
}

学分:https://discuss.elastic.co/t/total-fields-limit-
setting/53004/2



 类似资料:
  • 我想知道推荐的方法是什么来过滤掉从存储和索引发送到Elasticsearch的一些字段? 我想过滤我们的一些字段,使其不在Elasticsearch中被索引。您可能会问,为什么从一开始就将它们发送到Elasticsearch。不幸的是,它是通过另一个不接受任何过滤机制的应用程序发送的。因此,应在索引时解决过滤问题。以下是我们所做的,但我不确定这些步骤会产生什么后果: 1-禁用ES模板中的动态映射(

  • 问题内容: 我是Elasticsearch的新手,正在尝试使用和字段创建多字段索引。有了这些字段,它们都工作得很好,但是当我尝试在数组中获取一些结果时,它返回一个空的数组。 我的资料: 对应: 搜索: 期望: 按,或搜索,应返回结果 搜索应返回结果 搜索应返回结果 搜索依据不应返回结果 我想念什么? 问题答案: Cross_fields具有约束,所有字段应具有相同的搜索分析器,或者所有查询项应出现

  • 问题内容: 希望不使用Logstash将CSV文件索引到ElasticSearch。我正在使用高级库。 给定带有标题的CSV例如: 按字段索引所有数据的最佳方法是什么?最终我希望让每一行看起来像这样 问题答案: 使用较低级的库,这种任务比较容易:

  • 我在平均堆栈程序中设置了Mongoostic。除了我从mongodb中删除一个文档外,其他一切都正常工作,它不会在elasticsearch索引中删除。因此,每次我进行包含删除项目的搜索时,都会返回已删除的项目,但当它水合时为空。Mongoostic是否处理从ES索引中删除?是否必须对索引刷新进行编程?

  • 索引段数据的统计 在第3章 索引底层控制中 控制段合并 一节中,我们探讨了调整Apache Lucene索引段合并过程来满足业务需求的可能性。此外,在第6章 应对突发事件的当I/O过于繁忙——节流功能详解一节中,我们将讨论更多功能的参数配置。然而,为了了解需要调整哪些方面,至少先得看看索引或者索引分片中索引段的结构。 段操作相关的API介绍 为了更深入地了解Lucene的索引段,ElasticSe