【发布时间】:2018-12-05 11:22:13
【问题描述】:
我正在尝试使用 Flask 进行文本搜索。
对于一个单词它可以工作,但是当我传递一个包含多个单词的字符串时它不起作用。
但是当我将该字符串作为硬编码传递时,它可以工作:
假设字符串是这样的:
str = "SOME TEXT HERE"
如果我像这样将它作为变量传递:
newText= ' '.join(r'\"'+word+r'\"' for word in str.split())
result = app.data.driver.db[endpoint].find({"$text":{"$search":newText }}, {"score": {"$meta":"textScore"}}).sort([("score", {"$meta": "textScore"})])
它不起作用。
但如果我像这样硬编码传递它:
result = app.data.driver.db[endpoint].find({"$text":{"$search":" \"SOME\" \"TEXT\" \"HERE\" " }}, {"score": {"$meta":"textScore"}}).sort([("score", {"$meta": "textScore"})])
有效。
【问题讨论】:
标签: python-3.x mongodb flask