Есть ли способ сопоставить сокращения с их расширенными именами в Lucene?
Я индексирую твиты людей и их местоположение с помощью Lucene, но люди называют такие странные имена как местоположение... однако...
Есть ли способ сопоставить их (во время индексации или во время запроса)? 1) США 2) Соединенные Штаты Америки 3) Соединенные Штаты
1) Оклахома 2) Хорошо
и так далее...
PS Я хотел бы найти решение, благодаря которому мне не нужно писать словарь синонимов самостоятельно.
1 ответ
Вы можете решить эту проблему как при индексации, так и при запросе.
Во время индексации вам нужно будет обогатить свои данные, выполнив поиск в словаре синонимов, который вы предоставляете, а затем проиндексировать как исходный термин, так и синоним с одной и той же информацией о публикациях.
В качестве альтернативы вы можете сделать то же самое со строкой запроса и создать BooleanQuery "ИЛИ" с исходным термином и синонимом.