因此,我的mongodb中有一些产品,如下所示
现在,我得到的搜索是在小的情况下进行的,有时可能带有特殊字符或没有特殊字符。那么,我如何构建一个能够准确给出输出的查询呢?例如,如果用户输入了“优质甜味”,那么它应该与我的mongodb中的“优质甜味”匹配。如果用户在uppecase中输入了“HERLEYS SWEET”,则应匹配“HERLEYS SWEET”(如我的MongoDB中所示)
db.product.find({"Product":re.compile('^' + re.escape(pr) + '$',re.IGNORECASE)})
我有上面的查询,它可以使用大写或小写,但是如果用户正在搜索像“herleys sweet”这样的东西,那么它就不起作用
您可以做的一件事是使用
re.sub()
函数用其他字符替换特殊字符你可以有这样的东西:
例如:
创建特殊字符列表:
[\-\_\~\!\\\/\^\$\%]
选择要用什么替换特殊字符。可以是空间
' '
或任何.*
那么,你应该:
相关问题 更多 >
编程相关推荐