2012-01-03 6 views
0

Я внедряю elasticsearch на tire в моем приложении ruby ​​on rails.
Я делаю довольно хорошо до сих пор. Теперь я хочу получить результаты, соответствующие точным значениям.
, например. Если есть две записи с названием «Once Upon» и «когда-то давно», «название: когда-то» должен возвращать только один с названием именно «когда-то»Точный фразский матч в elasticsearch на покрышке

+0

Выполняет 'regex' - хорошая идея? – Pravin

+0

Я понятия не имею, как это делается с помощью шины, но, как правило, вы должны индексировать заголовок с помощью анализатора ключевых слов. – Karussell

ответ

1

Здесь приведен пример кода:

Tire.search 'articles', do |search| 
    search.size 100  # Limit record 
    search.from 0   # start offeset 

    # search.query.text keyword, :type => :phrase 
    search.query do |query| 
     query.text :_all, keyword, :type => :phrase 
    end 
    end 
end 

Надеюсь, это будет полезно!

+0

Почему вы используете здесь '' type:: phrase'' ?? – tomekfranek

+1

query.text не рекомендуется! Используйте query.match сейчас. – Boti

+0

Тип фразы ищет документы, как если бы ключевое слово задано фразой. Однако он не удовлетворяет то, что ОП запрашивает точно. –