对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

如何将非字母数据作为字符串进行搜索

本教程演示了如何通过将非字符串字段转换为字符串并将它们存储在物化视图中,针对这些非字符串字段运行字符串特定的查询。物化视图可让您使用特定于字符串的操作符来查询转换后的字段,并在源集合中保持原始数据不变。

本教程将指导您完成以下步骤:

在开始之前,请确保您的集群满足先决条件中描述的要求。

This section demonstrates how to create a materialized view named airbnb-mat-view on the sample_airbnb.listingsAndReviews collection. This view stores various numeric and date fields from the source collection as string fields.

To run the queries in the Run Queries on the Converted Fields stage of this tutorial, you need to create MongoDB Search indexes on the converted string fields in your airbnb_mat_view materialized view.

以下 JSON 定义在 airbnb_mat_view 物化视图上定义 MongoDB Search 索引。您可以使用动态映射或静态映射指定要在集合中索引哪些字段,具体取决于您要运行的查询类型。要了解更多关于字段映射或 MongoDB Search 索引语法,请分别参阅 为 MongoDB Search 索引定义字段映射 或 索引参考。

以下JSON MongoDB Search索引定义使用动态映射对物化视图中的字段索引。您可以使用此索引通过queryString操作符运行查询。

您无法使用autocomplete操作符对动态索引字段运行查询。

{
"mappings": {
"dynamic": true
}
}

要学习;了解如何使用您的首选接口创建上面定义的索引,请参阅支持的客户端。

您可以对已转换为字符串的 numeric 和 date 字段运行查询。本教程使用 queryString 和 autocomplete 操作符来搜索属性。查询使用了下列管道阶段:

  • $search 搜索集合的阶段

  • $limit stage to limit the output to 5 results

  • $project 要排除的阶段 _id

在本部分中,您将连接到集群并使用操作符针对 airbnb_mat_view集合中的字段运行示例查询。

注意

您无法对物化视图中已转换为字符串的日期和数字字段运行近期或范围查询。

以下步骤对转换后的字段运行 `queryString` 查询。使用您创建的动态映射索引。

以下步骤对转换后的字段运行 自动完成 查询。使用您通过静态映射创建的索引。