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

2024-03-06

(MongoDB 全文搜索)

你好, 我已经在索引中放入了一些字段,这就是我可以搜索的方式搜索关键字.

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

DBCursor cursor = users.find(textSearch);

我不想要搜索关键字在索引中指定的所有字段中进行搜索。 *有没有什么方法可以指定搜索关键字从索引中的特定字段中搜索??*

如果是这样,请给我一些想法如何做到这一点Java.

谢谢。


如果您想对单个字段建立索引并搜索它,那么这就是它默认的工作方式。假设您想要索引该字段companyName。当你表演时$text在此集合上搜索,仅来自companyName将使用该字段,因为您只将该字段包含在索引中。

现在是第二种情况,你的$text索引包含多个字段。在这种情况下,您不能将搜索限制为仅查找从特定字段建立索引的值。这$text索引是在集合级别构建的,一个集合最多可以有一个$text指数。在这种情况下,您可以选择限制特定字段的搜索:regex反而。

MongoDB 可以灵活地满足其他场景的要求,但如果您的应用程序主要由搜索驱动,并且您主要需要一个全文搜索引擎,通过具有丰富查询语法的关键字来定位文档,那么您也可以评估使用其他技术。弹性搜索 http://www.elasticsearch.org/这里可能是一个替代方案。这实际上取决于应用程序的类型和您的需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MongoDB 全文搜索中搜索特定字段中的值 的相关文章

随机推荐