我的目标是为每个文档建立一个索引,将其按单词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
提前致谢!
假设您已经了解术语向量API,则可以在索引时间应用带状令牌过滤器,以将这些术语彼此独立地添加到令牌流中。
设置min_shingle_size为1(而不是默认值2),并max_shingle_size至少设置为3(而不是默认值2)
min_shingle_size
max_shingle_size
并且基于您将“ the”排除在可能的条件之外的事实,您应在应用带状疱疹过滤器之前使用停用词过滤器。
分析仪设置如下所示:
{ "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" } } } } }
您可以使用_analyzeapi端点测试分析器。
_analyze