(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(使用前将#替换为@)