【问题标题】:Text search using python in mongo db在 mongodb 中使用 python 进行文本搜索
【发布时间】:2014-11-19 08:23:15
【问题描述】:

我在文本字段上创建了索引,以下查询在 Mongo 中运行良好。

cursor = db.collection.find({ "$text" : { "$search": "stack" } },{ "score": { "$meta": "textScore" } }).sort( {'score' : {'$meta': 'textScore'} }).skip(0).limit(4)

但是当我使用 PyMongo 运行它时,我收到以下错误:

TypeError: 如果没有指定方向,key_or_list 必须是 list 的一个实例

【问题讨论】:

  • 不完全重复,因为文本搜索的排序语法略有不同。 OP:请包括您使用的导致错误的实际代码。包含您正在使用的版本也是一个好主意。
  • @AsyaKamsky 这是实际代码,这一行特别给出错误,我可以运行其他查询,我也可以在 mongo db 终端中运行此查询,但无法运行它使用 pymongo

标签: python mongodb full-text-search pymongo


【解决方案1】:

查看pymongo docs 中用于排序的语法。

您没有显示您在 Python 中使用的实际语法,但它应该类似于该页面上的示例:

cursor.sort([('score', {'$meta': 'textScore'})])

【讨论】:

    猜你喜欢
    • 2013-04-06
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多