0

我已经成功创建了一个 Solr 索引,它使用 nutch 抓取了几页。使用 Luke 查询索引我得到了预期的结果(默认字段“内容”)。但是,当我尝试使用 solr/admin 界面时,我使用 q= 得到所有内容如预期的那样:

<response>
<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">0</int>
  <lst name="params">
    <str name="indent">on</str>
    <str name="start">0</str>
    <str name="q">*:*</str>
    <str name="version">2.2</str>
    <str name="rows">10</str>
  </lst>
</lst>
<result name="response" numFound="11" start="0">
  <doc>
    <float name="boost">1.0</float>
    <str name="content">
      'a lot of text...'
    </str>
    <str name="digest">f73dc90d5ab992f62ba3980de2312dfe</str>
    <str name="id">http://thenet.net/</str>
    <str name="segment">20120529084510</str>
    <str name="title">1 < 2 < 3</str>
    <date name="tstamp">2012-05-29T06:45:12.872Z</date>
    <str name="url">http://theurl.net</str>
  </doc>

但在查询特定字符串时绝对没有:

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">0</int>
    <lst name="params">
      <str name="indent">on</str>
      <str name="start">0</str>
      <str name="q">java</str>
      <str name="version">2.2</str>
      <str name="rows">10</str>
    </lst>
  </lst>
  <result name="response" numFound="0" start="0"/>
</response>

在 Solr 管理界面它说:

mro:8983
cwd=/$PATH_TO_SOLR_AND_NUTH_DIRS/solr/example SolrHome=solr/./ 
HTTP caching is OFF

在 schema.xml 中,“内容”是默认搜索字段。

任何帮助都感激不尽!

4

1 回答 1

0

请检查 schema.xml 文件中内容字段的 fieldType。如果它设置为stringthen 这将解释为什么您没有获得特定文本值的任何查询结果。您应该使用 fieldType oftext_general或类似的东西来获得更好的搜索结果,因为该 fieldType 将标记、过滤和阻止索引的值。请参考Solr Wiki上的分析器、标记器和标记过滤器以获取更多信息。

于 2012-05-30T11:32:54.843 回答