1

私は以下を使用しています:

エラスティックサーチ – v0.90.9

MySQL 用 JDBC コネクタ – v5.1.28

エラスティックサーチ リバー – v2.3.1

ElasticSearch を使用して、インデックス付きデータを構築およびクエリできます。上記のバージョンは Ubuntu 12.04 LTS 仮想マシンにインストールされ、ElasticSearch はシステムの再起動後に自動的に開始されるサービスとして実行されます。

インデックスがなく、ElasticSearch River を使用して新しいインデックスを構築し、PUT コマンドを発行してインデックスを構築すると、インデックスが構築され、すべてが正常に機能するとします。問題は、仮想マシンをシャットダウンして再起動すると、このインデックスが再構築されることです。これは面倒です。インデックスの自動再構築を防ぐ方法はありますか?

インデックスの自動再構築を防ぐために、ElasticSearch River または ElasticSearch の設定で注意すべき点はありますか? 私の場合、これは重複を引き起こしています。

前もって感謝します。

4

1 に答える 1

0

インデックスの再作成を停止する唯一の方法は、実行後にリバー ドキュメントを削除することです。

ただし、ドキュメントが重複しているという問題がある場合は、id フィールドを特定する必要があります。これを行うには 2 つの方法があります。「_id」というラベルの付いたフィールドを使用してデータをインポートするか、次の例のように id フィールドを識別するインデックスのマッピングを作成するときに id フィールドを識別します。

PUT my_index
{
    "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 3
    },
    "mappings": {
        "my_type": {
            "properties":{
                "field1": { "type": "string", "analyzer": "keyword" }
        },
        "_id": { "path": "field1" }
    }
}
于 2014-02-27T23:37:04.293 に答える