首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更有效地显示搜索结果?

更有效地显示搜索结果?
EN

Stack Overflow用户
提问于 2013-08-12 15:13:01
回答 1查看 60关注 0票数 0

我想实现各种电商商店提供的自动补全功能。功能非常简单,当你输入一些字符时,它就会开始显示相关的建议。

我使用haystack.query.SearchQuerySet中提供的自动完成方法,使用solr (django-haystack)实现了它。基本上,我会得到一个按分数排序的结果列表。将前n个结果显示为建议。

Solr文档包含$product_name、$category_name等字段。所以我生成的结果看起来像是“in”的列表。

当我更改类别名称时出现问题。如果我更改了类别名称,我必须更新属于该特定类别的所有产品,以在自动补全中反映这些更改(更新solr中该类别产品的所有文档)。

另一种方法是将包含product的类别的id放在solr文档中。在这种情况下,我每次都要查找类别名称,这效率不高。有没有其他有效的方法来做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2013-08-13 21:31:02

由于您要更改底层数据,因此必须向SOLR传播相同的内容。

有不同的方法可以做到这一点:

  1. 更新数据库和reindex -优点:足够简单,缺点:索引时间可以很长。
  2. 更新数据库和Solr并列-优点:快速更新,几乎是瞬间的,缺点:可能导致数据不一致(如果一次更新失败)
  3. 更新数据库,并在Solr中安排增量导入。这就像是两者之间的中间地带。

我推荐第三种方法,但这需要一些预先的模式设计。在DataImportHandler的上下文中阅读有关增量导入here的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18181360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档