这对Django+Algolia来说是个很奇怪的例子。我使用的是Algolia特定的Django包:
$ pip install algoliasearch-django
我有以下模型模式:
^{pr2}$索引为:
from algoliasearch_django import AlgoliaIndex
class RoomIndex(AlgoliaIndex):
fields = ('title', 'last_activity')
settings = {
'searchableAttributes': ['title'],
'attributesForFaceting': ['title', 'last_activity'],
'hitsPerPage': 15,
}
index_name = 'Room Index'
基本上,要将“last_activity”值带到前端,它需要通过索引,该索引在运行时已更新:
$ python manage.py algolia_reindex
但是,最后一个活动来自最后一次(转换为人性化django自然时间,例如“3天前”等)在websocket连接中发送消息-持久化到数据库。除了需要运行algolia_reindex命令才能进行更新外,所有这些功能都能正常工作。在
很不确定如何才能同时完成这个任务。。。?在
好吧,这个稍微复杂一点,因为我使用的是websockets。当消息被发送并持久化到数据库时,我们还可以在相关的“consumer”方法中执行以下操作(实际上,消费者.pywebsocket是否等同于视图.py文件,所以我应该知道这一点!)在
以下代码行起作用:
客户机从u端传递的消息的值是什么。在
别忘了加上:
^{pr2}$在顶部消费者.py文件!在
我还发现Algolia提供的特定于python的增量更新文档非常有用: 我https://www.algolia.com/doc/tutorials/indexing/synchronization/incremental-updates/
为了以“实时”的方式呈现更新后的时间,我使用jQuery,但是Vue.js版或者React.js公司同样有效。在
相关问题 更多 >
编程相关推荐