2

コードは Scala です。これは Java コードに非常に似ています。

マップ インデクサーがインデックスの作成に使用するコード: https://gist.github.com/a16e5946b67c​​6d12b2b8

上記のコードがインデックスとマッピングを作成するために使用するユーティリティ: https://gist.github.com/4f88033204cd761abec0

Java が与えるエラー: https://gist.github.com/d6c835233e2b606a7074

コードを実行してエラーが発生した後のhttp://elasticsearch.domain/maps/_settingsの応答: https://gist.github.com/06ca7112ce1b01de3944

JSON ファイル: https://gist.github.com/bbab15d699137f04ad87 https://gist.github.com/73222e300be9fffd6380

添付されているのは、私が読み込んでいるjsonファイルです。正しいjsonファイルを読み込んで、.loadFromSourceと.setSourceに文字列として適切に出力していることを確認しました。

_settings にあるにもかかわらず、アナライザーが見つからない理由はありますか? これらの json ファイルを curl で実行すると、正常に動作し、マッピングが適切にセットアップされます。

4

1 に答える 1

4

インデックスを作成するために使用していたコード (ここにあります: Java API を使用してカスタム ElasticSearch アナライザーを定義します) は、次のようなインデックスの設定を作成していました。

"index.settings.analysis.filter.my_snow.type: "ステマー","

設定パスに設定がありました。

これを修正するために、インデックス作成コードを次のように変更しました。

def createIndex(client: Client, indexName: String, indexFile: String) {
  //Create index
    client.admin().indices().prepareCreate(indexName)
    .setSource(Utils.loadFileAsString(indexFile))
    .execute()
    .actionGet()
}
于 2013-01-30T18:01:54.270 に答える