Nutch-Solr中的索引问题(想要在solr中显示数据)

时间:2013-10-05 06:46:46

标签: solr lucene nutch

我正在尝试抓取数据 Nutch 索引 Solr 中的数据。

我已按照此网址Using Nutch with SolrNutch Wiki Tutorial

中的步骤操作

我使用 Solrindex命令

成功编制索引数据

bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb -linkdb crawl/linkdb crawl/segments/*但在结果中我找不到索引数据。

我想要结果如下图像Solr Query

但我无法在右侧看到任何结果数据。

1 个答案:

答案 0 :(得分:1)

如果您希望通过搜索响应返回一些数据,请检查目标字段是否由solr存储,然后您可以使用fl参数设置要在查询中返回的字段列表(存储字段)名称为值)。您还可以在solrconfig.xml中设置默认fl值。

例如,假设您希望返回content字段。在schema.xml中,在<fields>声明中,您应该为此字段选择stored="true",如下所示:

<field name="content" type="text" indexed="true" stored="true"/>

然后在solrconfig.xml中,在requestHandler定义中声明default fl params,可以设置特定字段(以空格分隔的字段名称)。如果我们只希望返回存储在content字段中的数据,那么xml示例(从教程中获取)应如下所示。

<requestHandler name="/nutch" class="solr.SearchHandler" >
  <lst name="defaults">
    <str name="defType">dismax</str>
    <str name="echoParams">explicit</str>
    <float name="tie">0.01</float>
    <str name="qf">
    content^0.5 anchor^1.0 title^1.2
    </str>
    <str name="pf">
    content^0.5 anchor^1.5 title^1.2 site^1.5
    </str>
    <str name="fl">
    url content
    </str>
    <str name="mm">
    2&lt;-1 5&lt;-2 6&lt;90%
    </str>
    <int name="ps">100</int>
    <bool hl="true"/>
    <str name="q.alt">*:*</str>
    <str name="hl.fl">title url content</str>
    <str name="f.title.hl.fragsize">0</str>
    <str name="f.title.hl.alternateField">title</str>
    <str name="f.url.hl.fragsize">0</str>
    <str name="f.url.hl.alternateField">url</str>
    <str name="f.content.hl.fragmenter">regex</str>
  </lst>
</requestHandler>

您可以在查询中直接覆盖这些默认值。一个常见的用例是在solr查询界面中将“*,score”放在fl区域中,以便您可以查看所有存储的字段(使用通配符*)以及结果中的分数。您可能还希望根据目标请求处理程序(应为“/ nutch”)指定查询类型参数(qt)。

有用的链接:

http://wiki.apache.org/solr/SchemaXml#Common_field_options http://wiki.apache.org/solr/CommonQueryParameters#fl