我的目标是为每个文档建立一个索引,该索引将按单词ngram (uni、bi和tri)进行分解,然后捕获所有这些单词ngram的术语向量分析。用Elasticsearch可以吗?
例如,对于包含“红色汽车驱动器”的文档字段。我就能得到以下信息:
red - 1 instance
car - 1 instance
drives - 1 instance
red car - 1 instance
car drives - 1 instance
red car drives - 1 instance提前感谢!
发布于 2014-12-10 02:12:21
假设您已经了解了术语向量api,那么您可以在索引时应用瓦形令牌滤波器,以便在令牌流中彼此独立地添加这些术语。
将min_shingle_size设置为1(而不是默认的2),并将max_shingle_size设置为至少3(而不是默认的2)
基于这样的事实,在应用带状筛选器之前,您应该使用停止词过滤器。
分析器的设置如下所示:
{
"settings": {
"analysis": {
"analyzer": {
"evolutionAnalyzer": {
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"custom_stop",
"custom_shingle"
]
}
},
"filter": {
"custom_stop": {
"type": "stop",
"stopwords": "_english_",
"enable_position_increments":"false"
},
"custom_shingle": {
"type": "shingle",
"min_shingle_size": "1",
"max_shingle_size": "3"
}
}
}
}
}您可以使用api端点测试分析器。
https://stackoverflow.com/questions/27387231
复制相似问题