gpt4 book ai didi

elasticsearch - Elasticsearch-我可以在文档级别定义索引时间分析器吗?

转载 作者:行者123 更新时间:2023-12-03 01:18:55 34 4
gpt4 key购买 nike

我想将多种语言的页面索引到一个索引中。但是对于每种语言,我需要定义自定义语言分析器。因此,对于英语页面,它将使用英语分析器,对于捷克页面,它将使用捷克分析器。

在搜索时,我将根据当前语言环境设置正确的分析器,因为我不需要跨语言搜索。

似乎在Elasticsearch的早期版本中是可能的,但我找不到在7.6中实现此目的的方法

有没有办法实现这一目标,或者我真的需要为每种语言的每种类型创建索引吗?这将导致许多索引只有很少的索引文档。

还是有更好的方法来处理这种情况?我们正在考虑20种语言和几种文档类型(据我所知,现在不推荐使用类型,因此每种类型都需要自己的索引)。

最佳答案

您可以使用Elastic 7.6中提供的fields feature,它允许您将不同的语言存储在一个索引中,还可以在查询时间使用您要查询的语言子字段。

实际上,有一种nice official blog from elastic在谈论使用多语言搜索的不同方法,而我给出的方法则受到基于逐字段的语言搜索的启发。

示例

样本索引映射如下所示

{
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "english",
"fields": {
"fr": {
"type": "text",
"analyzer": "french"
},
"es": {
"type": "text",
"analyzer": "spanish"
},
"estonian": {
"type": "text",
"analyzer": "estonian"
}
}
}
}
}
}

关于elasticsearch - Elasticsearch-我可以在文档级别定义索引时间分析器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61268365/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com