我有以下案文:
Lurasidone is a dopamine D<sub>2</sub>
我想对它进行标记,这样我就可以得到以下令牌:
卢拉西酮 多巴胺 D2
如何使用令牌程序或过滤器来实现这一点?我尝试使用html过滤器,但是D<sub>2</sub>被标记为:
D 2
而我需要它将其标记为:
D2
发布于 2015-11-25 14:58:32
您可以使用模式替换Char滤波器
我就是这么做的。
"char_filter": {
"html_pattern": {
"type": "pattern_replace",
"pattern": "<.*>(.*)<\\/.*>",
"replacement": "$1"
}
}我把它包括在我的custom analyzer里,像这样
"my_custom_analyzer": {
"tokenizer": "standard",
"char_filter": [
"html_pattern"
],
"filter": ["stop"]
}这些是为文本生成的标记。
{
"tokens": [
{
"token": "Lurasidone",
"start_offset": 0,
"end_offset": 10,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "dopamine",
"start_offset": 16,
"end_offset": 24,
"type": "<ALPHANUM>",
"position": 4
},
{
"token": "D2",
"start_offset": 25,
"end_offset": 38,
"type": "<ALPHANUM>",
"position": 5
}
]
}我希望这能帮到你。
https://stackoverflow.com/questions/33917791
复制相似问题