Haystack的Xapian后端
项目描述
Xapian-haystack是Django-Haystack的Xapian搜索引擎后端。感谢您查看。
有关Xapian的更多信息,请在此处找到。
特性
Xapian-Haystack提供了Haystack的所有标准特性
权重
分面搜索(日期、查询等)
排序
拼写建议
EdgeNGram和Ngram(用于自动完成)
限制
《Xapian-Haystack》不支持搜索操作 endswith。
要求
Python 3+
Django 2.2+
Django-Haystack 2.8.0
Xapian 1.4+
安装
首先,在您的机器上安装Xapian,例如使用提供的脚本,install_xapian.sh。在激活虚拟环境后调用它来安装
source <path>/bin/activate ./install_xapian.sh <version>
<版本>必须 >=1.4.0。这大约需要10分钟。
最后,通过运行以下命令安装Xapian-Haystack
pip install xapian-haystack
配置
Haystack将Xapian配置为其他后端。您必须定义数据库的连接,这通常是通过到目录的路径来完成的,例如:
HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'xapian_backend.XapianEngine', 'PATH': os.path.join(os.path.dirname(__file__), 'xapian_index') }, }
后端有以下可选设置:
HAYSTACK_XAPIAN_LANGUAGE:词干化语言;默认为英语,可用语言列表可在此处找到:这里。
HAYSTACK_XAPIAN_WEIGHTING_SCHEME:传递给权重方案BM25的参数元组。默认情况下,它使用Xapian推荐的相同参数;此设置允许您更改它们。
HAYSTACK_XAPIAN_FLAGS:用于解析AutoQueries的选项;默认为FLAG_PHRASE | FLAG_BOOLEAN | FLAG_LOVEHATE | FLAG_WILDCARD | FLAG_PURE_NOT。有关更多信息,请参阅这里。
HAYSTACK_XAPIAN_STEMMING_STRATEGY:此选项允许您选择Xapian使用的词干化策略。可能的值是STEM_NONE、STEM_SOME、STEM_ALL、STEM_ALL_Z,其中STEM_SOME是默认值。有关不同策略的更多信息,请参阅这里。
XAPIAN_NGRAM_MIN_LENGTH、XAPIAN_NGRAM_MAX_LENGTH:用于自定义配置ngram(短语)长度的选项。
HAYSTACK_XAPIAN_USE_LOCKFILE:在运行带有多个工作进程的管理命令时,使用锁文件防止数据库锁定错误。默认为True。
测试
Xapian-Haystack有一个在GitHub Actions上持续部署的测试套件。文件.github/workflows/test.yml包含运行测试套件所需的步骤。
源代码
源代码可在github上找到。
致谢
Xapian-Haystack由Jorge C. Leitão维护;David Sauve是Xapian-Haystack的主要贡献者,Xapian-Haystack最初由Trapeze资助。 Claude Paroz是频繁的贡献者。ANtlord实现了对EdgeNgram和Ngram的支持。
许可证
Xapian-haystack是免费软件,根据GNU通用公共许可证v2授权,版权(c)2009,2010,2011,2012 David Sauve,2009,2010 Trapeze,2014 Jorge C. Leitão。它可以在LICENSE文件中指定的条款下重新分发。
问题、评论、关注
请随意在此处打开问题或提交您的拉取请求。
您可以在django-haystack 邮件列表或irc #haystack上提问。
项目详情
xapian-haystack-3.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f9ab90bf450bf6699d164594d569243aafb6c9f0990a16855f55a1d16bc09c6 |
|
MD5 | 6388e78cb6a3c73743eb6cd7b06eeb65 |
|
BLAKE2b-256 | a3dbc6219763f6c4519cdaae812e60fd9471a7805de2b39d912931e45575c8e6 |