Я пытаюсь сделать текстовый поиск с помощью 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"})])
Это работает.