You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Elasticsearch Query DSL在Kibana中批量查询指定ISIN的交易记录

问题原因
  • match_phrase属于全文查询,会对输入的ISIN字符串做和索引阶段一致的分词处理后再做短语匹配,所以可以正常返回结果
  • terms属于精确值查询,不会对输入内容做分词,会直接用输入的完整ISIN字符串和索引里的词条做完全匹配。你当前用的obdetails.isin大概率是text类型,索引阶段被分词生成了和完整ISIN不一致的词条,所以匹配不到结果。
解决方案

ES默认会给所有字符串类型字段自动生成keyword类型的子字段,专门用于精确匹配,你直接修改查询语句的字段名即可:

{
  "query": {
    "terms": {
      "obdetails.isin.keyword": [ "CH0357659488", "CH0315622966"],
      "boost": 1.0
    }
  }
}

如果你的索引没有自动生成keyword子字段,可以先查看索引映射确认obdetails.isin对应的精确匹配字段名,替换上方的字段名即可。
terms查询默认支持最多65536个匹配项,你200个ISIN的查询需求完全可以满足,性能远高于手写多个match_phrase的bool查询。

内容的提问来源于stack exchange,提问作者Schnexit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 06:24:03