我写了自己的标记器,将文本拆分为' ' (空格)如果我有特定的预定义短语,他们就不会分裂。例如“无肉”'是一个短语,它不会分裂。 所以我的标记器工作得很好,但是当我在分析器中使用它与同义词标记过滤器结合使用时,它并不能代替“无肉食”。用它的同义词。
我是否有办法让它工作而无需重新编写我自己的同义词令牌过滤器?
这就是我设置分析器的方法:
"settings": {
"index" : {
"analysis" : {
"analyzer" : {
"my_analyzer" : {
"tokenizer" : "phrase_tokenizer",
"filter" : ["lowercase", "synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms" : [
"meat free=> vegan, vegetarian, veggie"
]
}
}
}
}
},
这是我测试它的方式:
GET /my_index/_analyze?analyzer=my_analyzer&text=try try meat free try try
结果令牌为:[try,try,meat free,try,try]
我希望得到:[try,try,vegan,vegetarian,veggiee,try,try]