Предположим, у меня есть следующий пример иерархии:
- США
- Мичиган
- Детройт
- Гранд-Рапидс
- Lansing
- Миннесота
- Гранд-Рапидс
- Миннеаполис
- Сент-Пол
- Огайо
- Columbus
- Гранд-Рапидс
- Sandusky
Я вижу два способа индексирования документа «Гранд-Рапидс, Мичиган» с префиксами:
XFIRSTLEVELus
XSECONDLEVELmichigan
XTHIRDLEVELgrandrapids
или
XFIRSTLEVELus
XSECONDLEVELus_michigan
XTHIRDLEVELus_michigan_grandrapids
Я склонен использовать второй подход, полагая, что он даст более интуитивные результаты. То есть поиск, который включает критерии поиска Гранд-Рапидс, Мичиган, с меньшей вероятностью будет включать документы из Миннесоты и Огайо.
Однако два аспекта этого подхода меня беспокоят. Во-первых, создание и поддержание префиксов терминов для каждого уровня иерархии кажется неправильным. Во-вторых, объединение значений кажется суррогатом использования весов.
Итак, как лучше всего представить иерархию с префиксами терминов?