【发布时间】:2021-12-31 03:46:16
【问题描述】:
感觉就像碰壁一样,非常感谢您的帮助!
我在数据库中有两个字段,都可以包含各种文本。 从我到目前为止所阅读的内容来看,我需要先创建一个索引,但是因为我有两个字段而不是一个..我如何在其中搜索?另外,它必须不区分大小写。 使用 MongoDB 4.4 Pymongo 有自己的“文本”变量,以及自己的 create_index 调用,所以这是正确的吗?
collection.create_index([('author' , pymongo.TEXT), ('title' , pymongo.TEXT)])
如何从这里开始,对一个 search_string 进行不区分大小写的搜索?
【问题讨论】:
-
您能否帮助我们描述 1 或 2 个文档的外观并对查询进行伪编码以产生所需的结果?
-
文本索引使用基于语言的规则进行词干化和复数化,这是您对作者字段所需要的吗?
-
如果您使用 Atlas,您可能会看到更好的查询结果。有一个 Python github 项目,其中遗留的文本搜索功能被 Atlas Search 取代:github.com/MarcusSorealheis/Atlas-Search-Python
-
它就像一个图书馆数据库,数以百万计的条目和用户输入一个字符串进行搜索,其中可能包含作者和标题中的一些单词,或者只有一些单词,或者只有作者..你明白了。不过,不需要词干和复数。我也宁愿避免使用正则表达式。
标签: python mongodb nosql pymongo