Techioz Blog

Elasticsearch アナライザーは Rails モデルのインデックス マッピングのどこかに適用されていますか?

概要

現在、モデルの 1 つにこのマッピング実装がありますが、アナライザーが適用されているかどうかはわかりません。

  settings index: { analysis: { analyzer: { default: { type: :english } } } } do
    mappings do
      indexes :field1, type: :integer
      indexes :field2, type: :integer
      indexes :field3, type: :float
      indexes :field4, type: :text do
        indexes :keyword, type: :keyword
      end
      indexes :field5,    type: :text do
        indexes :keyword, type: :keyword
      end
      indexes :field6,    type: :text do
        indexes :keyword, type: :keyword
      end
      indexes :field7, type: :text
      indexes :field8, type: :boolean
    end
  end

フィールドの型が宣言されていないが、使用されるアナライザーが宣言されているアナライザーの使用法の実装を見てきました。このようなもの:

  settings index: { analysis: { analyzer: { default: { type: :english } } } } do
    mappings do
      indexes :field1, analyzer: "default"
      indexes :field2, analyzer: "default"
      ...
    end
  end

そこで私の質問は、現在の実装で宣言されたアナライザーは何かを行っているのでしょうか?

解決策

searchkick を使用しようとする理由は、ここをクリックしてください。

その助けを借りて、さまざまなモデル間でマッピングする最適な方法を処理できるからです。さらに、Rails の ORM (アクティブ レコード) のように、最適な方法で Elastic にクエリを作成できます。

プロジェクトに取り組み始めると、このような構成ではなく、アプリケーション コードに集中できます。

試してみましょう。それは間違いなくあなたの開発過程に影響を与えます。アイデアが得られれば幸いです:)