django_elasticsearch_dsl同义词配置

本文介绍了如何在Django项目中使用django_elasticsearch_dsl进行Elasticsearch同义词配置,以实现搜索时的同义词匹配。主要内容包括生成同义词文件、上传文件到Elasticsearch(自建或阿里云ES)以及更新索引的步骤,旨在解决在搜索中扩大关键字匹配范围的问题。
摘要由CSDN通过智能技术生成

有一种很常见的搜索场景:比如美国在数据库中存的是“USA”,但期望搜索“美国”、“美利坚”、“America”等,都可以把“USA”对应的数据搜索出来

此时就需要es的同义词配置了

大体流程说起来很简单,一共分为三步:

  1. 生成同义词文件
  2. 上传同义词文件
  3. 更新索引

但网上对于django_elasticsearch_dsl的资料又比较少,故记录以下步骤

生成同义词文件

上传同义词文件

自建es

  • 直接将同义词文件放在es的config文件夹下

阿里云es

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django 中使用 apscheduler 可以轻松地实现定时任务的调度。下面是配置步骤: 1. 安装 apscheduler: ```python pip install apscheduler ``` 2. 在 Django settings.py 中添加 apscheduler 配置: ```python # Apscheduler settings SCHEDULER_CONFIG = { 'apscheduler.jobstores.default': { 'type': 'sqlalchemy', 'url': 'sqlite:///jobs.sqlite' }, 'apscheduler.executors.default': { 'class': 'apscheduler.executors.pool:ThreadPoolExecutor', 'max_workers': '20' }, 'apscheduler.job_defaults.coalesce': 'false', 'apscheduler.job_defaults.max_instances': '3', 'apscheduler.timezone': 'Asia/Shanghai' } ``` 这里使用了 sqlite 作为 apscheduler 的 job 存储方式,并且设置了最大工作线程数为 20 个,任务不合并,最多同时运行 3 个,时区设置为 Asia/Shanghai。 3. 在 Django 的 app 中定义一个定时任务: ```python from apscheduler.schedulers.background import BackgroundScheduler scheduler = BackgroundScheduler() @scheduler.scheduled_job(trigger='interval', seconds=5) def test_job(): print('Testing job...') ``` 这里定义了一个每 5 秒钟执行一次的测试任务。 4. 在 Django 的 app 中启动 scheduler: ```python from django.apps import AppConfig class MyAppConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'myapp' def ready(self): from . import scheduler scheduler.start() ``` 在这里启动了定义在 step 3 中的定时任务。 5. 在 Django 项目中加载 apscheduler 配置: ```python from apscheduler.schedulers.background import BackgroundScheduler from django.conf import settings scheduler = BackgroundScheduler(settings.SCHEDULER_CONFIG) ``` 这里加载了 step 2 中的 apscheduler 配置。 以上就是 Django 中使用 apscheduler 的配置方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值