1

目前我们在基于 Django 的多语言项目中使用 Djapian + Xapian 进行全文搜索。为了对每种语言使用词干提取,我们为每种语言创建不同的搜索索引。在 Django 中,我们根据用户的语言、使用哪个词干和哪个搜索索引来决定。这很好用,但是,Djapian 似乎不再被维护,并且代码越来越分解。所以我们切换到 haystack,但 haystack 似乎没有提供我们需要的那种动态词干。

有没有办法在 haystack 版本 1.x、版本 2.x 或任何其他基于 Python/Django 的后端中集成这种可能性?

4

1 回答 1

0

因此,据我了解,您可以正确索引内容,但不能使用正确的词干分析器进行搜索?或者您想在索引和搜索时更改词干分析器?

xapian-haystack 将默认设置基于的词干语言settings.HAYSTACK_XAPIAN_LANGUAGE,但是对于实例化SearchBackend实例时的搜索,您应该能够SearchBackend.language在构建搜索以更改词干语言之前进行设置。

请注意,我根本没有尝试过,我只是查看了 github 上的代码

另外,我应该注意,虽然 haystack 很棒,但有时最好直接使用 xapian。它有足够的文档记录,对于复杂的、仅 xapian 的功能,它可能会更快更容易。显然,如果您已经拥有应用程序,情况并非如此,但如果您刚刚开始,那么值得这样做。:)

于 2012-02-07T22:25:40.053 回答