三つのソロがインデックスを提出する方式

2419 ワード


三つのsorがインデックスを提出する方式
1.comit
apiを通して直接comitを通して、このような性能は比較的に悪くて、私のテストの下で、平均的に各comit 600 msです。
Http SolrServer sorServer=new HttpSolrServer("http://localhost:8080/solr/dtrace");
SolrInput Dock doc 1=new SolrInput Dockment()
doc 1.addField(「id」、i)
sorServer.add(doc 1)
sorServer.co mmit()
 
2.AutoCommt
参考:http://wiki.apache.org/solr/SolrConfigXml
aut Comitの一般的な配置は以下の通りである。
 
  <updateHandler class="solr.DirectUpdateHandler2">
        <autoCommit>
                 <maxTime>2000</maxTime>
                <openSearcher>false</openSearcher>
        </autoCommit>
        <autoSoftCommit>
                <maxTime>10000</maxTime>
        </autoSoftCommit>
          <updateLog>
               <str name="dir">${solr.shard.data.dir:}</str>
          </updateLog>
     </updateHandler> 
 
4.0からaut SoftComitとopenSearcherの概念を導入しました。これはどういう意味ですか?
 
As of Solr 4.0、there is a new「soft comit」capability、and a new parameter for hard comits–openSearcher.Curently、there’s quite a bit of confusion about the interlay between bets and hard comit。
 
ソロハードコアのすること
 
1、新しいtlogファイルを作成し、古いtlogを削除します。
2、メモリのインデックスファイルfsyncをディスクに送り、index descriptorを作成します。ここは比較的に機械資源を消費します。
このようにjvmが崩れたり、あたごが壊れたりしても、この部分のインデックスには影響しません。
3、インデックスをsearcherに表示させる。でも、searcherをもう一度開けなければなりません。
 
ソフトバンクがすること
1、メモリファイルfsyncをディスクに送りますが、index descriptorを作成しません。
つまり元のインデックスと現在のインデックスはまだ感知されていませんので、jvmが崩壊すれば、この部分のインデックスはなくなります。
2、新たにsearcherを開くことができ、新しいインデックスが検索されます。
 
より詳細な情報参照:http://searchhub.org/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/
 
3.Commt Within
簡単に言うと、ソロは何ミリ秒以内に提出するかを教えてください。例えば、「add comitwithin=10000」を指定すれば、高速ソロは10秒以内に私のdocumentを提出します。使い方
1.add方法でパラメータを設定することができます。例えば、server.add(mySolrInput Dockment,10000)。
2.
UpdateRequest req=new UpdateRequest()
req.add(mySolr Input Dockment);
req.set CommtWithin(10000)
req.process(server);
参考:http://wiki.apache.org/solr/CommitWithin