2011-12-28 68 views
2

我已经创建了一个solr多核心,每件事情都按预期工作。但是,当我把SolrPhpClient,并试图ping服务器(码头)我收到错误,它没有运行的地方,因为它正在运行。ping多核的solr

我甚至尝试了如下网址:

http://localhost:8983/solr/core1/admin/ping然后我得到一个500错误。

我甚至试图让solrconfig.xml中

<requestHandler name="/core1/admin/ping" class="PingRequestHandler"> 
    <lst name="defaults"> 
     <str name="qt">standard</str> 
     <str name="q">solrpingquery</str> 
     <str name="echoParams">all</str> 
    </lst> 
    </requestHandler> 

变化,但即使这样也没有工作。

任何想法家伙如何使SolrPhpClient与多核工作。

任何帮助将不胜感激。

回答

2

知道这是旧的,但它可能会帮助别人,想这可能解决问题soneones:

<requestHandler name="/admin/ping" class="solr.PingRequestHandler"> 
    <lst name="invariants"> 
    <str name="q">solrpingquery</str> 
    </lst> 
    <lst name="defaults"> 
    <!--<str name="qt">standard</str>--> 
    <str name="echoParams">all</str> 
    <str name="df">user_namesearch</str> 
    </lst> 
    <!-- An optional feature of the PingRequestHandler is to configure the 
     handler with a "healthcheckFile" which can be used to enable/disable 
     the PingRequestHandler. 
     relative paths are resolved against the data dir 
     --> 
    <!-- <str name="healthcheckFile">server-enabled.txt</str> --> 
    </requestHandler> 

确保您更换user_namesearch为现有领域的核心之一。这是一个普遍的问题,如果所有内核不共享一个公共字段,则其他内核将失败。确保该字段已编入索引。

检查就往:solrserver:端口/ Solr的-4.0.0 /你的内核名/管理/平

如果你想创建一个测试场,尝试将此添加到架构的每个核心的:

<field name="test" type="searchterms" indexed="true" stored="false" multiValued="true"/> 

我没有得到平在“一般”的方式工作不断上Solr的4.0(我相信这是一篇关于)。测试是'每个核心',场地选择设置一个通用的afaik。

1

在PHP中为SolrClient设置选项时,需要将'path'属性设置为核心属性(即'solr/core1')。

然后在您的requestHandler in solrconfig.xml中将名称重新设置为'/ admin/ping'。

这应该可以解决您的问题。