django - 实现自动建议功能(不是自动完成)

标签 django elasticsearch django-haystack autosuggest

我正在使用django haystack(与ElasticSearch搜索引擎一起使用),并希望实现与自动完成功能不同的自动建议功能。

例如考虑已索引的小型数据集(表行):

When your code is all set
And you have finished it all
Your goals have been met
And you feel not so small

这是我希望实现的:
First input query(for search index): 'finished coding'
expected search result:
    When your code is all set
    And you have finished it all

Second, input query(for search index): 'finished coding! goals met!'
expected search result:
    When your code is all set
    And you have finished it all
    Your goals have been met

干草堆的SearchQuerySet().autocomplete(content=above query)无法产生以上结果。

如何建立这样的查询集?

我们也可以在stackoverflow的问题页面中看到它;即,当我们在标题字段中输入内容时,它会为我们提供列表,这些问题可能已经有了答案

最佳答案

我通过使用以下方法获得了预期的结果:

SearchQuerySet().filter(content__in=query.split())

也许这不是正确的方法,因为标记化是搜索引擎的任务,但对我有用。

关于django - 实现自动建议功能(不是自动完成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900625/

相关文章:

python - cookie 中的执行错误

sql - Django多对多: Best way to get elements in one related query set but exclude elements in other related query sets?

django - 使用 django-haystack,如何按内容类型对结果进行排序

Django AWS Elastic Beanstalk迁移数据库

python - 模板不显示信息 - django

sorting - 根据Elasticsearch中的位置和等级进行自定义排序

elasticsearch - Elasticsearch 多地理位置

java - 如何在使用 HibernateSearch QueryDSL 构建的 Elasticsearch 查询中包含 prefixLength

django - 搜索查询集上的多个字段

django - 如何设置 Haystack 的 QueuedSignalProcessor 以使用 Redis?