Если вы используете Solr 3.1 или новее, посмотрите на Extended DisMax Query Parser
, который поддерживает подстановочные запросы.Вы можете включить его, используя <str name="defType">edismax</str>
в конфигурации обработчика запросов.
Затем вы можете использовать запрос типа title:New York*
с тем же поведением, что и запрос с предложением likeОсновное различие между моим ответом и принятым заключается в том, что вы можете даже искать фрагмент слова, используя подстановочные знаки.Например, New Yorkers
будет соответствовать в этом случае.К сожалению, у вас могут возникнуть проблемы с чувствительными к регистру запросами, даже если вы используете LowerCaseFilterFactory
.Взгляните здесь чтобы узнать больше.Большинство из этих проблем будут исправлены в выпуске solr 3.6, так как проблема SOLR-2438 была решена.