1

レールにタイヤを使用して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

これが私の2回目の試みですが、まだ機能していないようです

  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

ありがとう

4

1 に答える 1