Несколько условий поиска с использованием Ruby Searchkick

Я настроил все с помощью ElasticSearch и SearchKick, однако не могу заставить его работать так, как хочу. Мне нужно иметь несколько поисков.

Моя модель Car имеет два атрибута, таких как «Марка» и «Год». Я могу сделать это:

Car.search( query: { match: {make: { query: "toyota" } }} )

Как мне также найти совпадения, которые принадлежат Тойото, но также относятся к определенному году, скажем, 2012.

Спасибо


person user3308357    schedule 14.02.2014    source источник
comment
Вы имеете в виду ElasticSearch?   -  person rainkinz    schedule 14.02.2014
comment
Да, прости. ElasticSearch (упс)   -  person user3308357    schedule 14.02.2014


Ответы (2)


Предполагая, что год является либо атрибутом вашей модели автомобиля, либо явно определен в вашей конфигурации search_data, это должно работать:

Car.search "toyota", where: { year: 2012 }
person standingwave    schedule 23.02.2014

При этом будут возвращены автомобили марки "Toyota" И года выпуска 2012.

Car.search "*", where: { make: 'toyota', year: 2012 }

Для марки "Toyota" ИЛИ год выпуска 2012.

Car.search "*", where: { or: [[{make: 'toyota'},{year: 2012}]] }
person Dias    schedule 11.02.2016