【问题标题】:How to make a search engine in django with suggestions?如何在 django 中制作带有建议的搜索引擎?
【发布时间】:2021-04-03 20:01:23
【问题描述】:

我想制作一个适用于 JavaScript 的搜索栏。这样,当你在寻找某些东西时,我可以像谷歌那样添加建议。我已经有搜索栏和视图来过滤Patients(我的模型)。

这里是代码

def search_patient(request):
  """
  Will return all the patients that start with the name that the user searches
  """
  q = request.POST['q']
  results = Patient.objects.filter(names__startswith=q)
  for result in results:
    result.serialize()

  return JsonResponse({'results': results}, status=200)

这是一个非常简单的功能。问题是我真的认为每次用户键入一个字母或删除一个字母时都请求新字符串会炸毁服务器,我不希望这样。我真的需要帮助,我愿意接受每一个建议。

谢谢!

【问题讨论】:

标签: javascript python django api search-engine


【解决方案1】:

您可以在触发建议功能之前在 javascript 上设置最小字符长度。

【讨论】:

  • 它仍然会发出很多请求,所以如果将 min 设置为 5,如果我搜索我的名字 Joaquin,我仍然会发出 2 个请求,而不是 idk。另外,如果我想搜索你的名字,它甚至不会提供任何建议
  • 是的,如果您使用 Django 数据库,我认为这是我唯一的建议 :) 您也可以尝试使用 Elasticsearch,但您需要更改一些保存功能,以便它也将其保存在您的 Elasticsearch 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
  • 2016-12-31
  • 1970-01-01
相关资源
最近更新 更多