虽然我无法让它发挥作用,但我有一个看似非常简单的问题 . 我有一个令牌流的单词,我想删除任何单个单词的标记,例如 [the quick, brown, fox]
应输出为 [the quick]
.
我已经尝试使用 pattern_capture
令牌过滤器并使用了许多类型的模式,但它只生成新的令牌,并且不会删除旧的令牌 .
这是我构建的分析仪(为清晰起见缩写)
"analyzer": {
"job_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"char_filter": [
"some_custom_char_filter"
],
"filter": [
other filters....,
"dash_drop",
"trim",
"unique",
"drop_single_word"
]
}
},
"char_filter": {...},
"filter": {
"dash_drop": {
"type": "pattern_capture",
"preserve_original": false,
"patterns": [
"([^-]+)\\s?(?!-.+)",
"- (.+)"
]
},
"drop_single_word": {
"type": "pattern_capture",
"preserve_original": false,
"patterns": [**nothing here works**]
}
}
}
我知道我正在使用 whitespace
tokenzier将句子分解为单词,但这里没有显示使用 shingles
来创建新的nGrams .
dash_drop
过滤器的用途是将 -
的句子拆分为令牌而不使用 -
,例如: my house - my rules
将拆分为 [my house, my rules]
.
任何帮助都非常有用 .