fielddata is disabled on text
时间: 2023-04-28 08:04:03 浏览: 299
fielddata被禁用在文本上,意思是不能在文本类型的字段上使用fielddata。这是因为fielddata会占用大量的内存,而文本类型的字段通常包含大量的数据,因此禁用fielddata可以避免内存问题。如果需要在文本类型的字段上使用fielddata,可以将该字段设置为keyword类型。
相关问题
fielddata is disabled on text fields by default
这是一个关于 Elasticsearch 的设置问题。"fielddata" 是 Elasticsearch 中一种用于聚合和排序的数据结构,在文本字段上默认是禁用的。这是因为对于大型数据集,启用 fielddata 可能会导致性能问题。如果您需要在文本字段上进行聚合或排序操作,您可以在创建索引时显式启用 fielddata。
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Fielddata is disabled on text fields by default. Set fielddata=true on [category] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.]]; nested: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Fielddata is disabled on text fields by default. Set fielddata=true on [category] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.]];] with root cause
这个异常信息是关于 Elasticsearch 的,大致意思是:在执行搜索时,所有分片都失败了。原因是在查询中使用了文本字段(text fields)的聚合(aggregation)功能,但是默认情况下,文本字段是禁用了 Fielddata(一个 ElasticSearch 中的内存结构,用于支持聚合、排序等操作)的。要解决这个问题,可以在查询中设置 `fielddata=true`,或者使用关键字字段(keyword field)代替文本字段。
阅读全文