какой анализатор lucene использовать?

у меня проблемы с индексацией названий предметов с цифрами и символами. пример моих данных показан ниже:

ANGLE BARS   ORANGE - 4.0MM 2 - 1/2"
B.I SQUARE TUBING     2" X 3"
B.I. PIPE S-40   10MM 3/8"
B.I SQUARE TUBING     1" X 2"
PLYWOOD   MARINE 3/4X4X8
PLYWOOD   STA. CLARA 1/8X4X8
PLYWOOD   STA. CLARA 3/16X4X8

я хочу токенизировать свои данные белыми или конечными пробелами, не отбрасывая символы, потому что эти символы очень важны. так что всякий раз, когда я ищу «фанера sta. clara», «b.i Square 2» X 3» или «угол оранжевый 2 — 1/2», я получаю результат. Я пытался использовать анализатор пробелов, но символы отбрасывались. Я также пробовал стандартный анализатор, но стоп-слова и символы также отбрасывались. какой анализатор лучше использовать вместо этого?


person maccramers    schedule 15.02.2012    source источник


Ответы (2)


Вы можете использовать PatternAnalyzer, написав регулярное выражение или создав Custom Analyzer.

person Parvin Gasimzade    schedule 15.02.2012
comment
Буду ли я также использовать PatternAnalyzer при поиске? - person maccramers; 15.02.2012
comment
Да. Вы должны использовать один и тот же анализатор при индексации и поиске. - person Parvin Gasimzade; 15.02.2012

Попробуйте использовать org.apache.lucene.analysis.miscellaneous.PatternAnalyzer. Вы можете указать регулярное выражение для определения разделителей токенов.

person z12345    schedule 15.02.2012