1

我正在尝试使用NutchIndex that Data in Solr来抓取数据

我已经按照这个 Url Using Nutch with Solr and Nutch Wiki Tutorial中的步骤进行操作

我已经使用Solrindex 命令成功索引数据

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

我想要结果如下图Solr 查询

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

4

1 回答 1

1

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

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

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

然后在solrconfig.xml中,在requestHandler定义中声明默认的fl参数,可以设置具体的字段(空格分隔的字段名)。如果我们只想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>

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

有用的网址 :

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

于 2013-10-05T16:01:23.810 回答