gpt4 book ai didi

mongodb - 在 MongoDB 全文搜索中搜索特定字段中的值

转载 作者:IT老高 更新时间:2023-10-28 13:25:29 24 4
gpt4 key购买 nike

(MongoDB 全文搜索)

你好,我已将一些字段放入索引中,这就是我可以搜索 search_keyword 的方式。

BasicDBObject search = new BasicDBObject("$search", "search_keyword"); 
BasicDBObject textSearch = new BasicDBObject("$text", search);

DBCursor cursor = users.find(textSearch);

我不希望在索引中指定的所有字段中搜索 search_keyword。 *有没有什么方法可以指定search_keyword在索引的特定字段中进行搜索?*

如果是这样,请告诉我如何在 Java 中做到这一点。

谢谢。

最佳答案

如果您想索引单个字段并搜索它,那么它是默认的工作方式。假设您要索引字段 companyName。当您对该集合执行 $text 搜索时,将仅使用 companyName 字段中的数据,因为您仅将该字段包含在索引中。

现在是第二种情况,您的 $text 索引包含多个字段。在这种情况下,您不能将搜索限制为仅查找从特定字段索引的值。 $text 索引是在集合级别构建的,一个集合最多可以有一个 $text 索引。在这种情况下,您限制搜索特定字段的选项可能是使用 regex 代替。

MongoDB 可以灵活地满足其他场景的要求,但如果您的应用程序是高度搜索驱动的,并且您主要使用全文搜索引擎来通过关键字和丰富的查询来定位文档,那么您也可以使用其他技术进行评估句法。 ElasticSearch可能是这里的替代方案。这实际上取决于应用程序的类型和您的需求。

关于mongodb - 在 MongoDB 全文搜索中搜索特定字段中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24636473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com