Mongodb文本搜索无法使用字符串Flask



我正在尝试使用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"})])

它有效。

变量newText的内容与硬编码字符串中的内容不同。

尝试在创建newText期间删除"r",以生成类似于硬编码字符串的字符串,如下所示:

newText= ' '.join('"'+word+'"' for word in str.split())