2015-04-21 5 views
0

Я использую Solr 4.10.0 с PostgreSql 9.3. Я могу правильно сконфигурировать свой ядро ​​solr, используя data-config.xml, и выполнить поиск в разных таблицах базы данных. Однако я не могу настроить функцию autoCommit. Всякий раз, когда какая-либо строка добавляется в таблицу, я ожидаю, что они начнут появляться в результатах после maxTime (1 минута), но этого не произойдет. Я должен явно перестроить индекс, выполнив полный импорт данных, а затем все работает нормально.Solr AutoCommit не работает с Postgresql

Мой solrconfig.xml является:

<updateHandler class="solr.DirectUpdateHandler2"> 

    <autoCommit> 
     <maxTime>60000</maxTime> 
     <openSearcher>true</openSearcher> 
    </autoCommit> 

    <autoSoftCommit> 
     <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
    </autoSoftCommit> 

    </updateHandler> 

Есть ли что-то дополнительные, необходимо сделать для использования Autocommit здесь? Я также проверил свои файлы журналов, но нет ошибки/исключения. Что мне не хватает?

ответ

0

Пожалуйста, найдите ссылку ниже ...

SOLR: What does an autoSoftCommit maxtime of -1 mean?

Я думаю, что это то, что происходит в вашем случае ..

Во-первых, вы можете увидеть выражение $ {solr.autoSoftCommit .maxTime: -1} в теге. Это позволяет вам использовать замену переменных Solr. Эта особенность подробно описана здесь в ссылке. Если эта переменная не была заменена каким-либо из этих средств, то -1 принимается за значение для этой конфигурации. Превращение commitMaxTime в -1 эффективно отключает автокоммутацию.

+0

Я уже пытался удалить тег autoSoftCommit, но не нашел изменений в поведении. Будь то это или нет, новые документы автоматически не добавляются в индекс. – AAgg