standard分析器是所有MongoDB Search 索引和查询的默认分析器。它根据单词边界将文本划分为术语,因此在大多数使用案例中都与语言无关。它将所有术语转换为小写并删除标点符号。它提供基于语法的分词功能,可识别电子邮件地址、首字母缩略词、中日韩字符、字母数字等。
如果您选择 Refine Your Index, Atlas用户界面会在 Index Configurations 部分中显示标题为 View text analysis of your selected index configuration 的部分。如果展开此部分, Atlas用户界面会显示 standard分析器为每个示例字符串生成的索引和搜索词元。 当您在Atlas用户界面Visual Editor 中创建或编辑索引时,您可以看到 standard分析器为内置示例文档和查询字符串创建的词元。
重要
MongoDB Search 不会对分析器词元大小超过 32766 字节的字符串字段索引。 如果使用关键字分析器,则不会对超过 32766 字节的字符串字段编制索引。
例子
以下示例索引定义使用 standard 分析器指定 sample_mflix.movies 集合中 title 字段上的索引。要跟随此示例,请在集群上加载示例数据,并使用mongosh或按照创建 MongoDB Search 索引教程中的步骤导航到 Atlas UI 中的 Create a Search
Index 页面。
然后,使用 movies 集合作为数据源,按照示例过程从 mongosh 或 Atlas 用户界面 Visual Editor 或 JSON editor 创建索引。
➤ 使用选择语言下拉菜单为此页面上的示例设立界面。
以下查询在 title 字段中搜索词语 action 并将输出限制为两个结果。
MongoDB Search 返回这些文档,因为它将查询术语action 与文档的词元 action 相匹配, MongoDB Search 通过使用 lucene.standard分析器对 title字段中的文本执行以下操作来创建这些文档:
将文本转换为小写。
根据单词边界分割文本并创建独立令牌。
下表显示了MongoDB Search 使用标准分析器创建的词元(可搜索词语),以及MongoDB Search 为关键字分析器和空格分析器为结果中的文档创建的词元:
标题 | 标准分析器词元 | 关键字分析器词元 | 空白分析器令牌 |
|---|---|---|---|
|
|
|
|
|
|
|
|
如果使用以下分析器对字段编制索引: