Я использую Tire for rails для интеграции elasticsearch. Это немного сбивает с толку, и я хочу убедиться, что делаю это правильно.
Это то, как я применяю несколько фильтров? Я в основном пытаюсь проверить, что «mixtape_id IS NULL AND artist_id IS NOT NULL»
def self.search(query)
tire.search() do
query { string query }
filter :exists, { field: 'artist_id' }
filter :not, { exists: { field: 'mixtape_id' } }
end
end
Вот моя вторая попытка, все еще не работает
def self.search(query)
tire.search(load: true) do
query { string query }
filter :and, [
{ exists: { field: 'artist_id' } },
{ not: { exists: { field: 'mixtape_id' } } }
]
end
end
Спасибо