2

solrJを使用してドキュメントをsolrサーバーに追加しています。マスター/スレーブのセットアップがあります。http://URL/update?commit=trueインデックスを作成した後、マスターノードで検索を実行できるようにコミットを実行します。ただし、レプリケーションの場合、replication?command = detailsを使用してindexversionの詳細を表示すると、indexverionとreplicatableindexversionが異なることがわかります。

`<arr name="commits">
<lst>
<long name="indexVersion">1346928051888</long>
<long name="generation">1907</long>
<arr name="filelist"></arr>
</lst>
</arr>
<str name="isMaster">true</str>
<str name="isSlave">false</str>
<long name="indexVersion">1346928051888</long>
<long name="generation">1907</long>
<lst name="master"><arr name="replicateAfter"><str>commit</str>
<str>startup</str></arr>
<str name="replicationEnabled">true</str>
<long name="replicatableIndexVersion">1346928046763</long>
<long name="replicatableGeneration">1</long></lst>
</lst>`

Because of this the slave is not replicating the commited document.


Here is the code i used for solrJ to add documents
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
SolrInputDocument doc = new SolrInputDocument();
doc.add(FIELDS);
docs.add(doc);

SolrInputDocument doc = new SolrInputDocument();
doc.add(FIELDS);
docs.add(doc);

SolrInputDocument doc = new SolrInputDocument();
doc.add(FIELDS);
docs.add(doc);

server.add(docs);
server.commit();

ここに何か足りないものがありますか?どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

0

コミットと起動後にレプリケーションをまとめないようにします。いくつかの問題を引き起こしています。コミット後にのみレプリケーションを試してください。

<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="master">

        <str name="replicateAfter">commit</str>     
        <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>
        <str name="commitReserveDuration">00:00:10</str>
    </lst>
     <str name="maxNumberOfBackups">1</str> 
</requestHandler>

このように機能していますか?

于 2014-06-03T03:44:11.997 に答える