我已经使用nutch成功创建了一个爬行几页的Solr索引。使用Luke查询索引我得到了预期的结果(默认字段'content')。但是,当我尝试使用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中,'content'是默认搜索字段。
非常感谢任何帮助!
答案 0 :(得分:0)
请检查schema.xml文件中contentType的fieldType。如果将其设置为string
,则可以解释为什么您没有获得特定文本值的任何查询结果。您应该使用text_general
或类似的类型的fieldType来获得更好的搜索结果,因为fieldType将标记,过滤和阻止索引的值。有关详细信息,请参阅Analyzers, Tokenizers, and Token Filters上的Solr Wiki。