2010-08-08 33 views
6

Tôi đang định cấu hình solr của mình cho hai lõi và hầu hết đều hoạt động nhưng tôi nhận được lỗi khó hiểu này.NullPointerException trong solr multicore

tắt Thứ nhất, đây là solr.xml tôi:

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

Tất cả điều này có vẻ tốt đẹp. Tôi tin rằng tôi đã thiết lập các điều khoản thích hợp cho tất cả các địa điểm, nhưng tôi vẫn nhận được lỗi này trong 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) 

Một số [info] các bản ghi và sau đó một này:

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) 

tôi 'không phải là một con mèo hàng đầu trong solr, java hoặc tomcat (hoặc nhiều người khác cho rằng vấn đề, hehe). Bất kỳ trợ giúp sẽ được đánh giá rất nhiều!

Trả lời

5

Dường như điều này xảy ra vì cấu hình của QueryElevationComponent không tồn tại. Hãy thử điều này:

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

+0

Bạn chính xác và tuyệt vời! Một vài thông báo lỗi rõ ràng sau này và mọi thứ hoạt động tốt. Cảm ơn, Aillyn! – Jorn

4

Nó đã xảy ra với tôi rằng tôi đã sao chép solrconfig.xml trước, do đó đường dẫn tham chiếu elevator.xml đã sai.

Nếu bạn bắt đầu từ mẫu tìm kiếm cho:

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

Và thay đổi nó thành:

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

Giả sử bạn đang sử dụng tất cả các thư mục mặc định.

+0

Cảm ơn - Tôi chỉ gặp vấn đề tương tự và sửa lỗi đó :) – vitch

Các vấn đề liên quan