首页 > 其他分享 >elasticsearch7.13.4(7.X版本)使用RealtimeSignalProcessor进行删除时,索引_doc文档不会同步删除的解决办法

elasticsearch7.13.4(7.X版本)使用RealtimeSignalProcessor进行删除时,索引_doc文档不会同步删除的解决办法

时间:2023-05-04 17:58:03浏览次数:35  
标签:删除 get doc django 文档 RealtimeSignalProcessor haystack id

环境

django==3.8.18
elasticsearch==7.13.4
drf-haystack==1.8.11
django-haystack==3.2.1

原因

django-haystack如果没有指定HAYSTACK_IDENTIFIER_METHOD,默认使用<app.label>.<object_name>.<pk>作为id进行删除,而大部分生成文档时都是默认使用纯数字作为id。

解决方法

将删除id改为自定义的数字id,在settings.py中配置:

get_identifier = lambda obj: obj.id
HAYSTACK_IDENTIFIER_METHOD = '你的项目名称.settings.get_identifier'

PS:全网几乎没搜到该问题的答案,还是自己通过全面分析了django-haystack源码才发现的,不知道是大家都没遇到还是都去用java了?有知道的朋友希望可以告诉我一下

标签:删除,get,doc,django,文档,RealtimeSignalProcessor,haystack,id
From: https://www.cnblogs.com/aiyablog/p/17372004.html

相关文章

  • Docker - 容器虚拟化
    目录Docker0虚拟化0.1什么是虚拟化0.2虚拟化技术中常见名词1docker简介1.1什么是docker1.2docker的优势1.3容器与虚拟机比较2Docker镜像、容器、仓库Docker中有三个核心概念:镜像、容器和仓库因此,准确把握这三大概念对于掌握Docker技术尤为重要①镜像(Image)②容器(Conta......
  • docker mysql 容器自动停止 -- docker update
    原因:mysql容器占用资源过高被系统杀死解决方法dockerupdate-m500M--memory-reservation500M--memory-swap1000M容器id/容器名说明-m限制内存最大值--memory-reservation是弹性控制内存大小,防止损失性能,建议要开。当宿主机资源充足时,允许容器尽量多地使......
  • postgresql有进程链接数据时删除数据库
    selectpg_terminate_backend(pg_stat_activity.pid)frompg_stat_activitywheredatname='数据库名称'andpid<>pg_backend_pid();命令解释:pg_terminate_backend:用来终止与数据库的连接的进程id的函数。pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。pg_......
  • k8s 编写pod yaml 文件 启动pod 查看pod详细信息 查看pod日志 连接pod容器 删除po
    #1创建podyaml文件#使用帮助命令 [root@master01pod]#kubectlexplainpod.spec[root@master01pod]#catpod-self.yamlapiVersion:v1kind:Podmetadata:name:pod-selfnamespace:defaultlabels:app:my-selfdev:prospec:restartPolic......
  • k8s labels 创建和删除
    #1lables#nodelabel[root@master01pod]#kubectllabelpodspod-selftime=2023 [root@master01pod]#kubectlgetnode--show-labels [root@master01pod]#kubectllabelnodesnode01host- #2podlabel [root@master01pod]#kubectllabelnodesno......
  • [Docker] Add a SQLite Console Shortcut with the Dockerfile
    Withalong-runningnodeserverandadatabase,sometimesit'susefultosshintothevirtualmachinetoexplorethefilesystem,andlookatthedatabase.InDockerfile,add:RUNecho'#!/bin/sh\nset-xe\nsqlite3\$DATABASE_URL'>/u......
  • 基于ChatGPT的文档知识库客服系统-支持上传网址/文本/docx等数据
    现在,很多公司都有自己的内容知识库,会产生大量的碎片话的内部知识,但是这样内部知识难以整合搜索。我开发的文档知识库客服系统gofly.v1kf.com,可以应用于企业内部知识库管理,用户可以使用自然语言提问,让ChatGPT自动归纳总结企业知识信息,帮助员工快速获取所需知识,提升资源流转效率......
  • linux删除命令
    当前文件夹里的删除文件夹以aa开头的rm-r-faa*当前文件夹里的删除文件夹aa,bb,ccrm-r-faabbcc删除当前目录文件夹所在的所有文件Linuxrm-r-f./*其中,.表示当前目录,/*表示匹配当前目录下的所有文件和子文件夹。-r参数表示递归地删除文件夹及其子文件夹和文件;-......
  • Docker可视化管理工具对比(DockerUI、Shipyard、Rancher、Portainer)
    1、前言   谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell、技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化。但对于命令行过敏、非技术人员,进行docker部署、管理是比较头疼的,学习成本是很高的。    而市面上的可视化......
  • Docker可视化管理工具Portainer
    1、portainer介绍    Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。 Portainer展示......