1

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

4

1 回答 1

1

终于发现了问题,当你初始化一个海象对象时,有一个选项可以传递一个 stopwords_file 。如果您不传递任何在名为 stopwords.txt 的库中定义的默认文件,则会被采用。这个 stopwords.txt 文件列出了很多像“新”这样的词。因此,只要在要索引的单词中找到停用词文件中的单词,它就不会索引该特定单词。

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

我通过使用空的 stopwords_file 初始化 walrus db 搜索对象来解决它。

于 2018-01-06T03:57:13.513 回答