我编写了自己的标记器,它将文本分成''(空格),如果我有特定的预定义短语,它们就不会拆分 . 例如,“无肉”是一个短语,不会被拆分 . 所以我的标记器工作得很好,但是当我在分析器中使用它与同义词标记过滤器结合时,它不会用同义词替换“无肉” .

我是否有办法让它工作而不重写我自己的同义词令牌过滤器?

This is how I set my anlyzer:

"settings": {
        "index" : {
            "analysis" : { 
                "analyzer" : {
                    "my_analyzer" : {
                        "tokenizer" : "phrase_tokenizer",
                        "filter" : ["lowercase", "synonym"]
                    }
                },
                "filter" : {
                    "synonym" : {
                        "type" : "synonym",
                        "synonyms" : [
                            "meat free=> vegan, vegetarian, veggie"
                        ]
                    }
                }
            }
        }
    },

This is how I test it:

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]