- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
一直在寻找这个解决方案,但找不到任何东西。我刚刚开始使用 Haystack == 2.6.1,并且正在使用 Elasticsearch==2.4.1 和 Elasticsearch 服务器 2.4.6。在关注 haystack 的 getting started 之后,我能够执行搜索并获得结果。运行后
python manage.py rebuild_index
第一次就成功了,因为就像我说的,我能够执行搜索。但后来我向数据库添加了 3 个条目,并尝试重建和/或更新索引。但现在我看到了这个:
RuntimeWarning: DateTimeField Order.dateEntered received a naive datetime (2017-11-11 16:07:54.324473) while time zone support is active.
RuntimeWarning)
Indexing 32 orders
GET /haystack/_mapping [status:404 request:0.004s]
因此,当我搜索时,我仍然看不到我的新条目。我现在有 35 个订单(它只索引了 32 个),并且我看到了 GET/haystack/_mapping 的 404 响应。抱歉,我是新人,所以有些问题可能看起来很愚蠢:
更新:早上我重新启动了elasticsearch服务器并重新运行python manage.pyrebuild_index
,然后它在索引过程中捕获了所有35个!但我尝试再次添加一个条目并重新运行它,它仍然只索引 35 个项目 - 现在我有 36 个项目,所以它应该索引 36 个项目。
最佳答案
事实证明:
RuntimeWarning: DateTimeField Order.dateEntered received a naive datetime (2017-11-11 16:07:54.324473) while time zone support is active.
RuntimeWarning)
就是问题所在。在 search_index.py
中,它根据 index_queryset
函数进行更新。从“入门”文档来看,index_queryset
应如下所示:
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(pub_date__lte=datetime.datetime.now())
但是由于 pub_date 不是正确的时区,或者因为它是一种简单的格式,rebuild_index
无法提取最新的项目。所以我使用了 django.utils 时区日期:
from django.utils import timezone
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.filter(pub_date__lte=timezone.now())
关于python - Rebuild_index不更新新项目 Haystack Elasticsearch Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47243410/
我正在尝试在我的本地开发环境(运行 Ubuntu 12.04 的 vagrant VM)上设置 ElasticSearch/Haystack,但我无法完成重新索引过程。 ES 正在运行,我已经创建了一
如何将我的模型包含在 rebuild_index 的索引中? 运行python manage.pyrebuild_index -v2输出: WARNING: This will irreparably
我想为 django-haystack 使用 elasticsearch 引擎。我能够成功安装每个模块和包。 我运行这个命令 sudo service elasticsearch start ,下面是
我正在使用 java 1.7.0_95、Django 1.8.4、Python 3.4.0、Django Rest Framework 3.1 .3、ElasticSearch 2.3.1、pyela
我正在尝试为只搜索单词的一部分(如果我没记错的话,根据 Haystack 文档称为 autocomplete)实现生成结果。 示例: 搜索 "gol" 结果 "goldfish" 我尝试了什么? 我按
我是一名优秀的程序员,十分优秀!