我想实现各种电商商店提供的自动补全功能。功能非常简单,当你输入一些字符时,它就会开始显示相关的建议。
我使用haystack.query.SearchQuerySet中提供的自动完成方法,使用solr (django-haystack)实现了它。基本上,我会得到一个按分数排序的结果列表。将前n个结果显示为建议。
Solr文档包含$product_name、$category_name等字段。所以我生成的结果看起来像是“in”的列表。
当我更改类别名称时出现问题。如果我更改了类别名称,我必须更新属于该特定类别的所有产品,以在自动补全中反映这些更改(更新solr中该类别产品的所有文档)。
另一种方法是将包含product的类别的id放在solr文档中。在这种情况下,我每次都要查找类别名称,这效率不高。有没有其他有效的方法来做到这一点?
发布于 2013-08-13 21:31:02
由于您要更改底层数据,因此必须向SOLR传播相同的内容。
有不同的方法可以做到这一点:
我推荐第三种方法,但这需要一些预先的模式设计。在DataImportHandler的上下文中阅读有关增量导入here的更多信息。
https://stackoverflow.com/questions/18181360
复制相似问题