Press "Enter" to skip to content

使用同义词API在Elasticsearch中方便地更新同义词

以不重新索引或重新加载的方式更新Elasticsearch同义词

Tumisu在Pixabay上的图片

Elasticsearch的同义词特性非常强大,在正确使用时可以显著提高搜索引擎的效率。在使用同义词特性时的一个常见问题是更新同义词集合。

在索引设置中内联定义的同义词无法直接更新,我们需要关闭索引,更新设置,然后重新打开索引才能使更改生效。另一种方法是使用可通过重新加载索引进行更新的同义词文件。然而,当Elasticsearch服务器分布或托管在云中时,使用索引文件很难管理。这是因为我们需要将文件放在所有集群节点上。

好消息是现在有了第三种方式,比前两种方式更加方便。我们现在可以使用同义词API来管理同义词。尽管在撰写时,这仍是Elasticsearch的beta功能,但我认为它很快就会被采用,因为该功能开发人员需求量很大,并且可以方便地解决更新同义词集合的棘手问题。我们将在本文中探讨同义词API的常见用法。

准备工作

我们将使用以下docker-compose.yaml文件在本地启动Elasticsearch和Kinana以进行演示。

version: "3.9"services:  elasticsearch:    image: elasticsearch:8.11.1    environment:      - discovery.type=single-node      - ES_JAVA_OPTS=-Xms1g -Xmx1g      - xpack.security.enabled=false    ports:      - target: 9200        published: 9200    networks:      - elastic   kibana:    image: kibana:8.11.1    ports:      - target: 5601        published: 5601    depends_on:      - elasticsearch    networks:      - elastic       networks:  elastic:    name: elastic    driver: bridge

请注意,您需要至少具有8.10.0版本的Elasticsearch才能使用同义词API。最新版本应该是最好的选择,因为该功能可能已经更加成熟。

创建同义词集合

Leave a Reply

Your email address will not be published. Required fields are marked *