Яков Сироткин (yakov_sirotkin) wrote,
Яков Сироткин
yakov_sirotkin

Поиск со звёздочкой

Lucene умеет обрабатывать поисковые запросы со звёздочками и вопросиками в словах. И если звёздочка стоит в конце слова, то никаких проблем с быстродействием нет, но если поставить звёздочку в начале слова, то Lucene начинает перебирать весь словарь и запрос обрабатывается довольно долго. Мы решили эту проблему при помощи суффиксных массивов и про это написали в корпоративном блоге.

Если вы тоже столкнулись с этой проблемой — используйте второй патч из LUCENE-7639. К сожалению, шансы попасть в основную ветку у этого патча невелики — в Lucene не принято строить при старте сервера объёмные структуры в памяти. Но, возможно, наш патч и ещё немного оперативной памяти будут для вас самым эффективным решением.
Tags: java
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments