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

Elasticsearch Terms查询无结果但Match查询正常,C#代码遇同类问题

问题:Elasticsearch Terms查询无结果,但Match查询正常(C#客户端场景)

核心现象

  • 在Kibana中执行match查询AccountId字段能返回预期结果:
GET /MY_INDEX_HERE/_search
{
  "query": {
    "match": {
      "AccountId": "bc73afda-d4f2"
    }
  }
}
  • 但使用terms查询同一值时(字符、大小写完全一致,均为小写),无法得到任何结果。

C#代码执行情况

需要在C#中实现组合查询,当前使用的查询语句如下:

.Query(q => q.Raw(strQuery) && q.Terms(c => c.Name("by_account").Field(p => p.AccountsList).Terms(accountTerms))
  • 执行上述组合查询时,返回0条结果;
  • 注释掉Terms查询部分后,仅保留Raw查询可正常返回结果:
.Query(q => q.Raw(strQuery) //&& q.Terms(c => c.Name("by_account").Field(p => p.AccountsList).Terms(accountTerms))

相关变量定义

  • strQuery的内容:
{"bool":{"must":[{"match_phrase_prefix":{"fullname":"test"}}]}} 
  • accountTerms的定义:
List<string> accountTerms = new List<string>();
accountTerms.Add("bc73afda-d4f2");

注:AccountId为GUID类型,示例中为不完整值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:10:26