запрос sunspot solr

#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, который также возвращается.