OpenSearch查询返回统计信息而非结果的问题排查
问题原因及解决方法
核心问题1:索引名称不匹配
你查询的目标索引是authors_development,但实际包含目标文档的索引是authors_development_20240605091139006,两者名称不一致,导致查询无法命中目标数据。
核心问题2:缺少搜索端点
OpenSearch中,执行搜索请求必须在索引名称后添加/_search端点。直接请求GET /authors_development只会返回该索引的统计元数据,而非搜索结果。
修正后的查询语句
如果要查询带时间后缀的索引,可以使用通配符匹配所有相关索引,同时加上/_search端点:
GET /authors_development*/_search { "query": { "multi_match": { "query": "vittorio", "fields": ["display_name"] } } }
或者直接指定准确的索引名称:
GET /authors_development_20240605091139006/_search { "query": { "multi_match": { "query": "vittorio", "fields": ["display_name"] } } }
额外验证步骤
可以先执行以下命令确认当前存在的索引:
GET /_cat/indices/authors*?v
该命令会列出所有名称以authors开头的索引,确保你查询的索引确实存在。
内容的提问来源于stack exchange,提问作者ngw
相关产品推荐
相关产品推荐

