📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

概述 #

适用版本: 7.6-7.1

简要来说,当你尝试在 Elasticsearch 中搜索一个未被索引或不可搜索的字段时,会出现此错误。这种情况常见于将 “enabled” 属性设置为 false 或将 “index” 属性设置为 “no” 的字段。

解决方案 #

要解决此问题,你可以采用以下两种方法之一:

  1. 修改字段映射使其可搜索:将 “index” 设置为 “true” 或将 “enabled” 设置为 “true”
  2. 搜索其他可搜索的字段:选择一个已经设置为可搜索的字段进行查询

注意: 修改字段映射需要重新索引数据。

日志上下文 #

错误日志 "[" + CONTENT_TYPE + "] field do not support searching; " 的类名是 HistogramFieldMapper.java

以下是 Elasticsearch 源代码中的相关代码片段,供需要深入了解的用户参考:

};
 }
 @Override
 public Query termQuery(Object value; QueryShardContext context) {
 throw new QueryShardException(context; "[" + CONTENT_TYPE + "] field do not support searching; " +
 "use dedicated aggregations instead: ["
 + name() + "]");
 }
 }