簡體   English   中英

solr multicore中的NullPointerException

[英]NullPointerException in solr multicore

我正在為兩個內核配置我的solr並且已經完成了大部分工作,但是我收到了這個神秘的錯誤。

首先,這是我的solr.xml:

<?xml version='1.0' encoding='UTF-8'?>
<solr persistent="true">
 <cores adminPath="/admin/cores">
  <core name="cars" dataDir="/var/lib/solr/data/cars" config="/etc/solr/home_cars/conf/solrconfig.xml" schema="/etc/solr/home_cars/conf/schema.xml" instanceDir="home_cars" />
  <core name="industrial" dataDir="/var/lib/solr/data/industrial" config="/etc/solr/home_industrial/conf/solrconfig.xml" schema="/etc/solr/home_industrial/conf/schema.xml" instanceDir="home_industrial" />
 </cores>
</solr>

所有這一切似乎都很好。 我相信我已經為所有位置設置了適當的權限,但我仍然在catalina.out中收到此錯誤:

INFO: user.dir=/var/lib/tomcat6
Aug 8, 2010 2:03:27 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.NullPointerException
        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
        at org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:52)
        at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1147)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

一些[info]記錄然后這個:

SEVERE: java.lang.NullPointerException
        at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
        at org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:52)
        at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1147)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

我不是solr,java或tomcat的頂級貓(或其他很多東西,呵呵)。 任何幫助將不勝感激!

看起來這是因為QueryElevationComponent的配置不存在。 嘗試這個:

http://wiki.apache.org/solr/QueryElevationComponent

我碰巧復制了之前的solrconfig.xml,因此elev.xml路徑引用錯誤。

如果您從模板搜索開始:

<searchComponent name="elevator" class="solr.QueryElevationComponent" >
 <!-- pick a fieldType to analyze queries -->
 <str name="queryFieldType">string</str>
 <str name="config-file">elevate.xml</str>
</searchComponent>

並將其更改為:

<searchComponent name="elevator" class="solr.QueryElevationComponent" >
 <!-- pick a fieldType to analyze queries -->
 <str name="queryFieldType">string</str>
 <str name="config-file">../../conf/elevate.xml</str>
</searchComponent>

假設您正在使用所有默認目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM