我开始使用Elasticsearch,并拥有一个小数据集,其中包含许多共享Ngrams的术语
例如,目前Elasticsearch正在排名
United Kingdom > Agriculture > Grains > Feed Wheat > Ex-Farm
作为“肉”的更好搭配,而不是
United Kingdom > Agriculture > Livestock & Meat > Lamb > Deadweight
我花了很多时间在谷歌上搜索任何提示,但到目前为止还没有任何结果
我已经使用python的ElasticSearchDSL定义了我的Ngram过滤器
ngram_filter = token_filter(
'ngram_filter',
type='ngram',
min_gram=3,
max_gram=10,
)
ngram_analyzer = analyzer(
'ngram_analyzer',
type='custom',
tokenizer='whitespace',
filter=[
'lowercase',
ngram_filter
]
)
在离开一段时间并思考之后,我决定将NGram分析器分成不同的字段,按长度分开。这样我可以手动增加更长的NGram匹配。我想我试图在一个领域做的太多了
我不是像这样使用django elasticsearch dsl以编程方式构建它们
相关问题 更多 >
编程相关推荐