Как исправить IndexNotFoundException: не найден файл сегментов *?

Я пишу свой собственный код для индексирования некоторых файлов данных самостоятельно. Это было все работает. Однажды я изменилschema.xml файл, теперь я получаю внутреннюю ошибку сервера, что я понятия не имею, как ее интерпретировать.

Internal Server Error

request: http://127.0.0.1:8080/solr/update?wt=javabin&version=2
    at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:427)
    at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:249)
    at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
    at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:69)
    at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:54)
    at solr.client.SolrClient.index(SolrClient.java:109)
    at solr.client.SolrClient.main(SolrClient.java:26)

Затем я просматриваю лог-файл каталины, где говорится, что ядро не создано ...

   Jun 26, 2012 2:09:21 AM org.apache.solr.core.SolrCore close
INFO: []  CLOSING SolrCore [email protected]
Jun 26, 2012 2:09:21 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
    at org.apache.solr.core.SolrCore.close(SolrCore.java:712)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:599)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:483)
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:335)
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:219)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:161)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)

Jun 26, 2012 2:09:21 AM org.apache.solr.core.SolrCore closeSearcher
INFO: [] Closing main searcher on request.
Jun 26, 2012 2:09:21 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:600)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:483)
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:335)
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:219)
    at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:161)
    at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.RuntimeException: org.apache.lucene.index.IndexNotFoundException: no segments* file found in [email protected]/Users/nan/solr-tomcat/solr/data/index [email protected]: files: []
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1104)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:585)
    ... 23 more
Caused by: org.apache.lucene.index.IndexNotFoundException: no segments* file found in [email protected]/Users/nan/solr-tomcat/solr/data/index [email protected]: files: []
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:667)
    at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:72)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:375)
    at org.apache.solr.core.StandardIndexReaderFactory.newReader(StandardIndexReaderFactory.java:38)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1093)
    ... 24 more

Обновленный файл журнала catalina выше ... да, я удалил данные индекса, так как думал, что собираюсь создать новый индекс ... и я сделал это ранее сегодня, но до сих пор не видел такой ошибки ... как мне это исправить ? :(

Большое спасибо!!! (^ бесконечные времена)

 trillions26 июн. 2012 г., 11:57
спасибо за предложение помощи, javanna :). Я только что обновил файл журнала в вопросе. Дело в том, что я удалил индексный файл, так как я перезапущу индекс через мой код ... как мне это исправить сейчас? Спасибо!
 kenorb08 апр. 2015 г., 16:20
возможный дубликатHow to recover from Solr deleted index files?
 trillions26 июн. 2012 г., 12:13
@javanna Я исправил это, скопировав некоторые данные сегмента (сегментов.gen и сегментов_2) из каталога проверки орфографии в каталог индекса ..
 javanna26 июн. 2012 г., 11:50
Там должно быть что-то еще в вашем журнале каталины, выше того, что вы опубликовали. Можете ли вы опубликовать этот фрагмент вместо "Ядра не созданы"? один, пожалуйста?

Ответы на вопрос(2)

исключениеIndexNotFoundException сигнализирует о том, что в каталоге не найдено ни одного индекса. Возможно, потому что каталог пуст, однако также может указывать на повреждение индекса.

Итак, вы должны:

Delete the index directory or restore data from backups. Restart the server (or at least the reload the config).
Решение Вопроса

Как вы можете видеть из файла журнала, Solr / Lucene не может найти файл сегментов в каталоге данных.

Если вы удалите каталог данных, Solr при запуске автоматически создаст новый индекс (конечно, пустой). Из ошибки кажется, что ваш каталог данных там, но с каким-то файлом отсутствует. Поскольку я понял, что вы готовы переиндексировать все, вы можете исправить ошибку, просто удалив каталог индекса, а затем переиндексируйте.

 trillions27 июн. 2012 г., 22:14
Я сталкиваюсь со странным исключением Solr сегодня после перезапуска Tomcat. в основном мой экземпляр Solr больше не работает. я слишком новичок в этом деле и понятия не имею, как это исправить. не могли бы вы помочь мне взглянуть еще раз?stackoverflow.com/questions/11234132/strange-solr-exception
 trillions26 июн. 2012 г., 13:00
Яванна, большое спасибо за чистое решение :)
 13 сент. 2016 г., 18:50
Я хотел бы добавить, что удаление файлов вdata/ каталога может быть недостаточно (то, что я попробовал сначала). Вам необходимо удалить сам каталог.

Ваш ответ на вопрос