将预先标记化的文本插入 Elasticsearch
Insert pre-tokenized text into Elasticsearch
我有一个问题,我想使用托管的 Elasticsearch 服务,但他们特别没有我需要的插件。该插件是拼音插件,它提供了一个自定义的分词器。我的想法是在插入 Elasticsearch 之前在预处理步骤中复制这种标记化。
例如,如果我调用 _analyze?text=%e5%88%98%e5%be%b7%e5%8d%8e&analyzer=pinyin_analyzer
我会收到输出
{
"tokens": [
{
"token": "ldh",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 1
},
{
"token": "liu",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 2
},
{
"token": "hua",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 4
}
]
}
我有办法在预处理步骤中生成这样的标记,但是否可以将它们预先分析后插入到 Elasticsearch 索引中?
您可以创建一个标记化值数组。效果是一样的。此外,如果您正在进行所有预处理而不仅仅是标记化,请使用关键字字段。否则您的代币将再次单独分析。
我有一个问题,我想使用托管的 Elasticsearch 服务,但他们特别没有我需要的插件。该插件是拼音插件,它提供了一个自定义的分词器。我的想法是在插入 Elasticsearch 之前在预处理步骤中复制这种标记化。
例如,如果我调用 _analyze?text=%e5%88%98%e5%be%b7%e5%8d%8e&analyzer=pinyin_analyzer
我会收到输出
{
"tokens": [
{
"token": "ldh",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 1
},
{
"token": "liu",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 2
},
{
"token": "hua",
"start_offset": 0,
"end_offset": 3,
"type": "word",
"position": 4
}
]
}
我有办法在预处理步骤中生成这样的标记,但是否可以将它们预先分析后插入到 Elasticsearch 索引中?
您可以创建一个标记化值数组。效果是一样的。此外,如果您正在进行所有预处理而不仅仅是标记化,请使用关键字字段。否则您的代币将再次单独分析。