我是 Solr 的新手,我正在尝试 Solr(3.6) package( apache-solr-3.6.0.tgz
) 的示例文件夹中的示例。我启动了服务器并在其中发布了示例xml文件example/exampledocs
,然后我可以搜索东西,Solr 会返回匹配项,一切都很好。但后来我尝试发布另一个包含 10,000 多个文档的 xml 文件。我修改了example/solr/conf/schema.xml
文件以添加我的 xml 文件的字段,然后重新启动服务器并发布了我的 xml 文件。我检查了 Solr 管理面板(http://localhost:8983/solr/admin/stats.jsp
)中的统计信息,它显示numDocs : 10020
. 现在这意味着文件已成功过帐。但是当我搜索我发布的文档中存在的任何内容(来自 10,000 个文档 xml 文件)时,它返回 0 个结果。但是 Solr 仍然能够返回与example/exampledocs
文件夹中默认出现的文档内容相匹配的搜索结果。我对这里发生的事情一无所知。的值numDoc
清楚地表明我在 xml 文件中发布的文档已被索引。还有什么我可以检查的,看看这有什么问题吗?
Solr 包的示例中的模式是这样的
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/>
<field name="name" type="text_general" indexed="true" stored="true"/><field name="alphaNameSort" type="alphaOnlySort" indexed="true" stored="false"/>
<field name="manu" type="text_general" indexed="true" stored="true" omitNorms="true"/>
<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="features" type="text_en_splitting" indexed="true" stored="true" multiValued="true"/>
<field name="includes" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
<field name="weight" type="float" indexed="true" stored="true"/>
<field name="price" type="float" indexed="true" stored="true"/>
<field name="popularity" type="int" indexed="true" stored="true"/>
<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="subject" type="text_general" indexed="true" stored="true"/>
<field name="description" type="text_general" indexed="true" stored="true"/>
<field name="inStock" type="boolean" indexed="true" stored="true"/>
和更多....
我发布的 xml 文件的架构与上述架构有一些共同的字段,如标题、描述、价格等,所以我像这样在 schema.xml 中输入了其余字段
<field name="cid" type="int" indexed="false" stored="false"/>
<field name="discount" type="float" indexed="true" stored="true"/>
<field name="link" type="string" indexed="true" stored="true"/>
<field name="status" type="string" indexed="true" stored="true"/>
<field name="pubDate" type="string" indexed="true" stored="true"/>
<field name="image" type="string" indexed="false" stored="false"/>