8

私はエラスティックにまったく慣れていないので、私の知識はelasticsearchサイトからのみであり、支援する必要があります. 私の仕事は、html 形式の大きな行データをエラスティック検索にインデックス付けすることです。すでにデータをクロールしてディスクに保存しました (200,000 個の html ファイル)。私の質問は、すべての html ファイルを Elasticsearch にインデックス化する最も簡単な方法は何ですか? エラスティックにプットリクエストを行うには、ドキュメントごとに手動で行う必要がありますか? たとえば、次のようにします。

curl -XPUT 'http://localhost:9200/registers/tomas/1' -d '{
    "user" : "tomasko",
    "post_date" : "2009-11-15T14:12:12",
    "field 1" : "field data"
    "field 2" : "field 2 data"
}'

2 番目の質問は、例のコードのように HTML ドキュメントを解析して JSON フィールド 1 のデータを取得する必要があるかどうかです。

最後に、インデックスを作成した後、すべての HTML ドキュメントを削除してもよろしいですか? 全てに感謝。

4

2 に答える 2

5

インデックス作成プロセスを高速化するために、1 回のリクエストで複数のドキュメントを送信できるバルク APIを検討します。大きさにもよりますが、10、20、またはそれ以上のドキュメントのバッチを送信できます。

インデックスを作成する対象によっては、html 全体を 1 つのフィールドとしてインデックス作成する場合を除き、html を解析する必要がある場合があります (その場合は、html ストリップ文字フィルターを使用して、インデックス作成されたフィールドから html タグを削除することをお勧めします)。文章)。

インデックスを作成したら、マッピングが正しく、探しているものが見つかることを確認することをお勧めします。Elasticsearch がフードの下に保存する_source特殊フィールドを使用していつでも再インデックス化できますが、既にインデクサー コードを記述している場合は、必要に応じて (もちろん同じ HTML ドキュメントで) 再インデックス化するために再度使用することをお勧めします。実際には、データに一度もインデックスを作成することはありません... したがって、注意してください :) Elasticsearch は常に _source フィールドで役立ちますが)、既存のインデックスにクエリを実行し、別のインデックスですべてのドキュメントのインデックスを再作成するだけです。

于 2012-11-30T20:45:59.730 に答える