2017-02-27 1 views
0

solrのsemgentとは何かを説明できますか?セグメントはsolr

オンラインで良い説明が見つかりませんでした。

私はsolrにさまざまなセグメントファイルも見ましたか?何のためにあるのですか? 1つのセグメントファイルを削除するとどうなりますか?インデックスを破損するだろうか? 私はsolr 5.3を使用しています(違いがあれば)

また、どのようなものがtlogsであり、どのような役割がありますか?

+0

[Luceneのセグメントは何ですか?](http://stackoverflow.com/questions/2703432/what-are-segments-in-lucene)の可能な複製 – MatsLindh

答えて

5

Solrのセグメントファイルは、基になるLuceneインデックスの一部です。 Lucene index docsのインデックスフォーマットについて読むことができます。

原則として、各セグメントにはインデックスの一部が含まれています。ドキュメントを追加すると新しいファイルが作成され、完全に無視することができます。あまりにも多くのオープンファイルハンドルで問題がある場合のみ、インデックスOPTIMIZEコマンドと共にそれらのいくつかをマージします。

はい、いずれかのファイルを削除すると、インデックスが破損します。

TLOGファイルは、トランザクション変更するすべてのインデックス(ADDUPDATEを、DELETE)がダウン書かれているトランザクションログです。現在開いているセグメントがいくつかのトランザクションを受けている間にSolrサーバーに何か問題が発生すると、セグメントファイルが破損します。 Solrはtlogを使用して、すでに送信されたトランザクションを巻き戻し、失敗したセグメントを最良の推測に復元します。これについてはpost on the Lucidworks blogで詳しく読むことができます。