如何查看Elasticsearch中已存储的properties字段数据?
问题解决思路
检查
_source的映射配置:如果你的索引映射里对_source设置了excludes规则,把properties字段(或其子字段)排除在外,那么GET文档时_source里就不会显示这个字段。比如这种配置会导致问题:"_source": { "excludes": ["properties.*"] }解决方法:修改映射去掉对应的排除规则,或者在查询时使用
_source_includes参数指定要返回的字段,比如:GET /{index}/doc/{docid}?_source_includes=properties确认字段是否被设置为不存储在
_source中:虽然Elasticsearch默认会把所有字段存入_source,但如果显式配置了某个字段的include_in_source为false,那它也不会出现在_source里。比如:"properties": { "your_field": { "type": "text", "include_in_source": false } }这种情况下,字段仅被索引但不写入
_source,要查看的话可以使用stored_fields参数(前提是字段的store属性为true,否则无法单独获取),或者修改映射把include_in_source设为true。检查查询时的字段过滤:如果你在GET请求里加了
_source参数指定只返回某些字段,而没包含properties,也会看不到。比如:GET /{index}/doc/{docid}?_source=title,content这时候需要把
properties加入到_source参数里,或者去掉该参数让它返回全部_source内容。
内容的提问来源于stack exchange,提问作者Quisse
相关产品推荐
相关产品推荐

