海象没有正确地索引这些词

时间:2017-12-07 03:32:48

标签: django python-3.x walrus

在我的Django项目中,我使用walrus来缓存位置名称。 例如:新西兰,纽约市,纽卡斯尔e.t.c 因此,当我在寻找一个关键的“新”时,我希望它能够返回上述所有位置,但它只给了我纽卡斯尔。但是当我使用'n'或'ne'作为关键时,我得到了所有这些。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

最后发现了这个问题,当你初始化海象的对象时,有一个传递stopwords_file的选项。如果您没有传递任何名为stopwords.txt的库中定义的默认文件。 这个stopwords.txt文件有很多单词列为'new'。因此,只要在要索引的单词中找到来自stopwords文件的单词,它就不会索引该特定单词。

在我的情况下,'new'出现在stopwords.txt中。因此,当它将“纽约”编入索引时,它没有将“纽约”这个词映射到“新”,而是将其映射到“纽约”。这就是为什么我不能用'new'搜索。

我通过使用空的stopwords_file初始化海象数据库搜索对象来解决它。