#ruby-on-rails #solr #sunspot
#ruby-on-rails #solr #sunspot
Вопрос:
в моем приложении rails я использую следующий запрос:
@destinations = Destination.search do
keywords params[:search],
{:minimum_match => 1}
Предположим, что в базе данных находятся следующие два пункта назначения: «Berlin» и «Berliner Tor»
Если я ищу «Berliner Tor», то в результирующем наборе есть только «Berliner Tor». Я хотел бы также иметь «Берлин» в результирующем наборе.
У кого-нибудь есть идея?
Ответ №1:
Вы можете получить поле, в котором вы ищете, через PorterStemFilterFactory.
PorterStemFilterFactory сократил бы термины до своих корней, а berliner сократился бы до своего корневого berlin.
Это позволяет включить документ с термином berlin, который также возвращается.