Мы используем Lucene.NET для реализации полнотекстового поиска на веб-сайтах клиентов. Сам поиск уже работает, но теперь мы хотим внести изменения.
В настоящее время ко всем терминам добавляется *
, что приводит к тому, что Lucene выполняет то, что я бы классифицировал как поиск StartsWith
.
В будущем мы хотели бы иметь поиск, который выполняет что-то вроде Содержит
, а не StartsWith
.
Мы используем
Примеры:
(Название: Orch *)
соответствует: Orchestra
, но:
(Title: rch *)
не соответствует: Orchestra
Мы хотим первый а второй соответствует обоим оркестру
.
В основном я хочу прямо противоположное тому, что было задано в этом вопросе, я не уверен, почему для этого человека Lucene по умолчанию выполнила Contains
, а не StartsWith
:
У меня такое чувство, что это как-то связано с Анализатором, но я не уверен.