Я могу заставить работать синонимы в моем настраиваемом анализаторе, но он работает правильно только в том случае, если введенная фраза соответствует введенной «клавише».Я хотел бы иметь возможность сопоставить любой синоним в списке 2+ с любым другим синонимом в этом же списке.
var map = new SynonymMap.Builder(true);
var synonyms = string.Join("\0", new string[] { "broken", "break", "malfunction" });
map.Add(new CharsRef("broke"), new CharsRef(synonyms), true);
stream = new SynonymFilter(stream, map.Build(), true);
Должен ли я добавить карту для каждогосиноним?
var synonyms2 = string.Join("\0", new string[] { "broke", "break", "malfunction" });
map.Add(new CharsRef("broken"), new CharsRef(synonyms2), true);
var synonyms3 = string.Join("\0", new string[] { "broken", "break", "broke" });
map.Add(new CharsRef("malfunction"), new CharsRef(synonyms3), true);
Я могу очистить его, чтобы он просматривал список и добавлял карту для каждого, я просто хотел, чтобы проблема была ясной.
Если у меня есть база данныхкоторый управляет синонимами для сотен или тысяч слов ... ожидается ли просто добавить десятки тысяч карт для каждой возможной комбинации?