Проблемы с индексом Lucene с символом «-»

У меня проблемы с индексом Lucene, в котором проиндексированы слова, которые содержать символы "-".

Это работает для некоторых слов, содержащих "-", но не для всех, и я не нахожу причину, почему это не работает.

Поле, в котором я ищу, анализируется и содержит версию слова с символом «-» и без него.

Я использую анализатор:org.apache.lucene.analysis.standard.StandardAnalyzer

вот пример:

если я ищу "gsx-*" я получил результат, проиндексированное поле содержит «SUZUKI GSX-R 1000 GSX-R1000 GSXR»

, но если я ищу «v-*», я не получил результата. Индексированное поле ожидаемого результата содержит:"SUZUKI DL 1000 V-STROM DL1000V-STROMVSTROM V STROM"

Если я ищу "v-strom" без "*", это работает, но если я просто ищу "v-str", например, я не получаю результата. (Должен быть результат, потому что это поиск интернет-магазина в реальном времени.)

Итак, в чем разница между двумя ожидаемыми результатами? почему это работает для «gsx -», но не для «v -»?

15
задан Zteve 17 April 2012 в 07:05
поделиться