如何在核心模式下设计solr searchhandler以及如何使用它?

时间:2017-03-10 07:39:53

标签: solr

我使用Solr 6.1.0而不使用云模式,

我在solrconfig.xml中添加了searchhandler并且它的工作正常,可以看到搜索结果

但是,当我使用此搜索处理程序并在URL中添加查询时,它会发生错误

像这样:

http://localhost:8983/solr/testcorea/contentsearch?indent=on&q=%22test%22&wt=json&shards=localhost:8983/solr/testcorea,localhost:8983/solr/testcoreb,localhost:8983/solr/testcorec,localhost:8983/solr/testcored

这是我的搜索处理程序:

<requestHandler name="/contentsearch" class="solr.SearchHandler">
    <lst name="defaults">
        <str name="echoParams">explicit</str>
        <str name="wt">json</str>
        <str name="indent">true</str>

        <str name="defType">edismax</str>
        <str name="qf">
        title^100.0 content^80.0 text^5.0
        </str>
        <str name="q">*:*</str>
        <str name="indent">true</str>
        <str name="rows">10</str>

        <!-- Facet settings -->
        <str name="facet">on</str>
        <str name="facet.field">content_type</str>
        <str name="facet.field">category</str>
        <str name="facet.field">author</str>
        <str name="facet.field">editor</str>
        <str name="facet.field">source_type</str>

        <str name="hl">on</str>
        <str name="hl.fl">title content</str>
        <str name="hl.preserveMulti">true</str>
    </lst>    
    <arr name="last-components">
        <str>elevator</str>
    </arr>
</requestHandler>

错误讯息:

=============================================== ==========================

{&#34; responseHeader&#34; {&#34;状态&#34;:404,&#34; QTIME&#34;:10,&#34; PARAMS&#34; {&#34; q&#34;:&#34; \&#34;测试\&#34;&#34;&#34;碎片&#34;:&#34;本地主机:8983 / solr的/ testcorea,本地主机:8983 /的solr / testcoreb,本地主机:8983 / solr的/ testcorec,本地主机:8983 / solr的/ testcored&#34;&#34;缩进&#34;:&#34;上&#34;&#34;重量&#34 ;: &#34; JSON&#34;}},&#34;错误&#34; {&#34;元数据&#34;:[&#34;误差级&#34;&#34; org.apache。 solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException&#34;&#34;根误差级&#34;&#34; org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException&#34; ],&#34; msg&#34;:&#34;来自http://localhost:8983/solr/testcorec的服务器的错误:预期的mime类型application / octet-stream但是得到了text / html。 \ n \ n \ n错误404未找到\ n \ n

HTTP错误404

\ n

访问/ solr / testcorec / contentsearch时出现问题。原因:\ n

    Not Found

\ n \ n \ n&#34;&#34;代码&#34;:404}}

当我使用solr默认的searchhandlr和查询网址时,它会工作 像这样:

http://localhost:8983/solr/testcorea/browse?indent=on&q=%22test%22&wt=json&shards=localhost:8983/solr/testcorea,localhost:8983/solr/testcoreb,localhost:8983/solr/testcorec,localhost:8983/solr/testcored

有谁知道不同之处?

为什么它不起作用?

由于

1 个答案:

答案 0 :(得分:1)

向网址添加突出显示参数。

将hl = on和hl.fl = field_name添加到您的网址

例如:

hl.fl=title&hl=on&indent=on&q=test