Solr indexversion и версия реплицируемого индекса отличаются

Я использую solrJ для добавления документов на сервер solr. У меня есть настройка master/slave. После индексации я делаю фиксацию через http://URL/update?commit=true, чтобы иметь возможность выполнять поиск в главном узле. Но для репликации, когда я вижу сведения о версии индекса с помощью команды replication?command=details, я вижу, что версия индекса и версия индекса для репликации отличаются.

`<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();

Я что-то пропустил здесь? Любая помощь очень ценится. Спасибо


person user1671301    schedule 14.09.2012    source источник


Ответы (1)


Я бы попытался избежать репликации после фиксации и запуска. Это вызывает некоторые проблемы. Попробуйте выполнить репликацию только после фиксации.

<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>

Это так работает?

person jeorfevre    schedule 03.06.2014