FessでIngestのパイプラインを使う

ちょっと前に対応するコードは入れていたのだけど動いていなかった…。ということで、次の13.2.1から使えるようになるはずです。

どう使うかというと、まずはパイプラインを以下のようにElasticsearchに設定しておく。(zip版で試したので9201ポート)

$ curl -XPUT -H "Content-Type: application/json" localhost:9201/_ingest/pipeline/split -d '{
  "description": "Splitter",
  "processors": [
    {
      "split": {
        "field": "tags",
        "separator": ","
      }
    }
  ]
}' 

あとは、Fessの管理画面でクロール設定の設定パラメータのところに

config.pipeline=split 

を記述しておけば、そのクロール設定でクロールしたものにはElasticsearch上のパイプラインが適用されます。

今回は動作確認をしたいので、設定パラメータに

field.value.tags=aaa,bbb

も入れておく。これでtagsフィールドに強制的にaaa,bbbの文字列が入る。入れるけど、パイプラインが適用されて配列として最終的にはインデックスに入る想定。

あとはクロールを実行して

$ curl -XPOST -H "Content-Type: application/json" localhost:9201/fess.search/_search?pretty
...
           "tags" : [
             "aaa",
             "bbb"
           ], 

という感じでインデクシングされたことが確認できる。

コメントを残す

メールアドレスが公開されることはありません。