【发布时间】:2021-03-14 22:36:28
【问题描述】:
我正在尝试使用 Atlas for MongoDB 进行全文搜索。我正在通过 Python 中的 PyMongo 驱动程序执行此操作。我正在使用聚合管道,并执行 $search 但它似乎没有返回任何内容。
cursor = db.collection.aggregate([ { "$search": {"text": { "query": "hello", "path": "text_here"} } }, {"$project": {"file_name": 1} } ])
for x in cursor:
print(x)
我试图用这段代码实现的是搜索集合中名为“text_here”的字段,我正在搜索术语“hello”并返回包含该术语的所有结果并列出它们通过他们的“文件名”。但是,它什么也没返回,我很困惑,因为这与文档网站上的示例代码几乎相同。我现在唯一能想到的是路径可能不正确并且它无法访问我指定的字段。此外,这段代码没有返回任何错误,只是没有返回任何内容,正如我通过游标循环测试的那样。
【问题讨论】:
-
Atlas 搜索会更快更好。只是一个事实。如果不是默认值,请不要忘记包含您的索引名称。如果您需要,这里有一个很棒的 Python 示例:github.com/MarcusSorealheis/Flask_Tuts
-
这里的问题看起来你可能没有创建搜索索引。
标签: python mongodb pymongo mongodb-atlas