我只想索引第一个和最后一个字母。
例如
'abc'将被编入索引为'a'和'c'
我该如何处理?
答案 0 :(得分:0)
模式分析器是一种选择。例如:
{
"settings": {
"analysis": {
"analyzer": {
"firstAndLast": {
"type": "pattern",
"pattern": "(?<=^.).*(?=.$)"
}
}
}
}
}
此模式将从以下输入生成以下标记:
abc
=&gt; a
c
abc def
=&gt; a
f
编辑: 如果您想为每个单词生成第一个和最后一个单词,则必须按如下方式定义自定义分析器:
{
"settings": {
"analysis": {
"filter": {
"regexpFilter": {
"type": "pattern_capture",
"preserve_original": "false",
"patterns": [
"(^\w)|(\w$)"
]
}
},
"analyzer": {
"test": {
"filter": [
"regexpFilter"
],
"tokenizer": "whitespace"
}
}
}
}
}