Mongodb文本搜索不适用于字符串Flask

时间:2018-12-05 11:22:14

标签: python-3.x 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"})])

有效。

1 个答案:

答案 0 :(得分:1)

变量Company businesstown = new Company(); // since for you this is initialisin the list as well 的内容与硬编码字符串中的内容不同。

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

newText