django - 如何实现干草堆搜索获取自动完成功能

标签 django elasticsearch autocomplete django-haystack elasticsearch-5

我想在自动完成中实现获取,这是我的自动完成功能

def autocomplete(request):
fetch_field = request.GET.get('fetch_field')
sqs = SearchQuerySet().autocomplete(
    content_auto=request.GET.get(
        'query',
        ''))[
    :5]
s = []
for result in sqs:
    d = {"value": result.title, "data": result.object.slug}
    s.append(d)
output = {'suggestions': s}
print('hihi' ,output)
return JsonResponse(output)

现在,我可以获取字段,但是我不知道如何使用SearchQuerySet进行获取。

最佳答案

sqs = SearchQuerySet().filter(field_want_to_fetch = fetch_field ).autocomplete(
content_auto=request.GET.get(
    'query',
    ''))[
:5]

用这个 !!

关于django - 如何实现干草堆搜索获取自动完成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271655/

相关文章:

python - Django:维护跨多个域的 session

elasticsearch - Elasticsearch部分,不区分大小写的匹配

c# - 具有两个短语的多阶段方法 - Elasticsearch

javascript - 使用 angularjs 自动完成(无法获取输入值)

Django 转储 : models don't validate

python - Django 1.7 从内联表单中删除添加按钮

python - Elasticsearch - 来自工作 curl 示例的 python 语法

jquery - 轻量级和简单的 jquery 自动建议/自动完成?

c# - 如何在 C#.NET GUI 应用程序中实现语法高亮和自动完成功能?

python - 如何测试 Django 电子邮件的内容?