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

时间:2013-02-15 18:01:04

标签: 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

haystack的SearchQuerySet().autocomplete(content=above query)不会产生上述结果。

如何构建这样的查询集?

我们也在stackoverflow的问题页面中看到它;也就是说,当我们输入标题字段时,它会为我们提供一个可能已经有您答案的问题的列表。

1 个答案:

答案 0 :(得分:1)

我使用以下方式得到了预期的结果:

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

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