elasticsearch-dsl的使用

41 阅读1分钟

Django中的配置

下面是我的环境

django==4.2.23
django-elasticsearch-dsl==8.2
elasticsearch==8.19.1
elasticsearch-dsl==8.13.1

# 关于这个模块,已经不支持es8及以上版本了.
# 官档:https://django-elasticsearch-dsl-drf.readthedocs.io/en/latest/
# django_elasticsearch_dsl_drf

注意创建的

然后初次执行命令,同步MySQL表中的数据到es中:

python manage.py search_index --rebuild -f knowledge_files

# 重做索引命令

相关命令

重做索引命令

适用于调整了document类的结构,或者压根就像重建es对应的索引,就执行该命令:

# 指定重做应用下的模型类
python manage.py search_index --rebuild --models knowledge.KnowledgeFile   

# 或者--models后面跟应用名字,重做该应用下的所有的跟es进行同步的模型类
python manage.py search_index --rebuild -f --models knowledge

交互中输入y进行重构.

knowledge.KnowledgeFile表示knowledge应用下的KnowledgeFile模型类.

如果你所有的应用都放到一个目录内,即这样的目录结构:

项目根目录/
    apps/
        web/
        knowledge/
        ...

那也忽略掉apps这一层,直接应用名.模型类.