MongoDB 文本搜索2024年9月6日 | 2 分钟阅读 MongoDB 使用查询操作执行字符串内容的文本搜索。 它使用文本索引和运算符来执行文本搜索。 示例它向您展示“如何构建文本索引并使用它来查找您的书籍”。 现在,您必须创建一个名为“library”的集合,如下所示 文本索引在 MongoDB 中,我们有文本索引来支持对字符串内容的文本搜索查询。 具有任何字符串值或字符串元素数组的字段可以包含在文本索引中 我们必须在集合中有一个文本索引才能执行文本搜索查询。 在一个表/集合中,我们只能有一个文本搜索索引。 但是,一个索引可以覆盖多个字段。 我们可以在 Mongo shell 中运行以下示例,以允许文本搜索覆盖名称和描述字段 $text 运算符我们可以使用 $text 运算符在具有文本索引的表上执行文本搜索。 $text 运算符将标记使用空格和大多数标点符号作为分隔符的搜索字符串。 $text 运算符对搜索字符串中的所有此类标记执行逻辑或运算。 在下面的示例中,我们可以使用查询来查找包含与“MongoDB”、“Java”、“DBMS”等相关的任何书籍名称的所有库。 db.library.find( { $text: { $search: "Java" } } ) 使用 $text 运算符,我们还可以通过将短语用双引号括起来来搜索确切的短语。 仅匹配包含这些短语的文档。 例如—— 排序MongoDB 默认以未排序的顺序返回结果。 文本搜索查询将为每个文档计算一个最佳分数,该分数指定文档与查询的匹配程度。 在上面的例子中,我们明确地投影 meta textScore 字段以按相关性分数对结果进行排序。 下一个主题MongoDB Shell |
我们请求您订阅我们的新闻通讯以获取最新更新。