Точное совпадение фразы в elasticsearch на шине

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


person Pravin    schedule 03.01.2012    source источник
comment
Является ли выполнение regex хорошей идеей?   -  person Pravin    schedule 03.01.2012
comment
Я понятия не имею, как это делается с помощью шины, но обычно вы должны индексировать заголовок с помощью анализатора ключевых слов.   -  person Karussell    schedule 22.01.2012


Ответы (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

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

person hendragunz    schedule 20.03.2012
comment
Почему вы используете здесь type: :phrase ?? - person tomekfranek; 30.01.2013
comment
query.text устарел! Используйте query.match прямо сейчас. - person Boti; 11.03.2013
comment
Тип фразы ищет документы, как если бы заданное ключевое слово было фразой. Однако это не соответствует тому, о чем именно просит ОП. - person Henley; 28.07.2013