gpt4 book ai didi

python - Django Haystack 在两个(多个)字段上自动完成

转载 作者:太空狗 更新时间:2023-10-29 22:16:30 25 4
gpt4 key购买 nike

我将 haystack 1.2.6 与 Whoosh 2.4 和 Django 1.3 一起使用。假设我们有以下模型描述一个假设的帖子。

Post(models.Model):
title = models.CharField()
body = models.TextField()

我们为 body 字段的自动补全建立了这样的帖子索引:

PostIndex(SearchIndex):
text = CharField(document=True, use_template=True)
content_auto = indexes.EdgeNgramField(model_attr='body')

在彻底阅读 haystack 文档后,我找不到是否可以在标题和正文字段上自动完成。

那么……有没有可能……?

最佳答案

我已经设法根据 this 做到了.您只需为索引中要自动完成的每个字段创建一个 EdgeNgramField,然后将自动完成应用于两个不同的搜索查询集并将它们连接起来:

sqs = SearchQuerySet().models(Post)
sqs1 = sqs.filter(title_auto=q)
sqs2 = sqs.filter(body_auto=q)

sqs = sqs1 | sqs2

如果你必须做额外的过滤,你需要在自动完成之后做(至少这是对我有用的唯一方法)。

关于python - Django Haystack 在两个(多个)字段上自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com