Я ищу структуру данных для хранения синонимов. Я хотел бы сохранить синонимы в ведрах, таких как «Северная Америка», «США», «Соединенные Штаты».структура данных синонимов для поиска
Материалы для поиска могут быть помечены любыми «Северной Америкой», «США», «США».
For example,
Content_1 is tagged "USA"
Content_2 is tagged "North America"
Content_3 is tagged "United States"
Если пользователь ищет «США», результат поиска должен возвращать все три содержания не только Content_1. Чтобы получить это, я должен получить все синонимы США, а затем выполнить поиск.
Как хранить синонимы, где я ищу один из синонимов и получить все остальные?
Один из способов сделать это через HashMap, как показано ниже
USA -> North America,United States
United States -> USA, North America
North America -> USA,United States
Это не выглядит, что хорошо. Пожалуйста, предложите хорошую структуру данных для хранения синонимов.
спасибо.
Что случилось с хашмапом? Что вы подразумеваете под «хорошим»? Быстрый доступ? – macco
Доступ - O (1). Но построение структуры данных выглядит как создание повторяющихся элементов. Лучшая структура данных, в которой хранится только одна запись. – user3222372
Отличный вопрос. Это заставило меня подумать, какие поисковые системы, как Google, могут использовать. –