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

如何在C# MongoDB驱动中指定Atlas Search多分析器执行通配符搜索

如何在MongoDB C#驱动中指定多分析器进行通配符搜索?

要在定义了lucene.keyword多分析器的Description字段上执行通配符搜索,无需构造复杂的路径对象,直接通过点符号引用多分析器对应的子字段即可解决问题。

解决方案

在C#驱动的Wildcard方法中,将path参数指定为Description.keywordAnalyzer——这是因为你在索引映射里定义的multi子字段,会作为原字段的嵌套字段存在,直接通过这个路径就能精准定位到使用lucene.keyword分析器的字段版本。

修改后的代码如下:

var searchDefinition = Builders<T>.Search.Wildcard(
    path: "Description.keywordAnalyzer",
    query: "This i*",
    allowAnalyzedField: true);

原理说明

你的索引映射中,Description字段的multi属性定义了keywordAnalyzer子字段,该子字段使用lucene.keyword分析器(不对文本做分词处理,保留原始完整内容)。通过Description.keywordAnalyzer这个路径,MongoDB会直接在这个子字段上执行通配符搜索,完全符合你的需求。

内容的提问来源于stack exchange,提问作者O'Neil Tomlinson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:43:13