【发布时间】:2010-12-15 08:23:47
【问题描述】:
刚刚安装了 Solr,编辑了 schema.xml,现在正在尝试对其进行索引并使用一些测试数据对其进行搜索。
在我发送给 Solr 的 XML 文件中,我的一个字段如下所示:
<field name="PageContent"><![CDATA[<p>some text in a paragrah tag</p>]]></field>
那里有 HTML,所以我将它包装在 CDATA 中。
在我的 Solr schema.xml 中,该字段的定义如下所示:
<field name="PageContent" type="text" indexed="true" stored="true"/>
当我运行 POSTing 工具时,一切正常,但是当我搜索我知道在 PageContent 字段中的内容时,我没有得到任何结果。
但是,当我将 <defaultSearchField> 节点设置为 PageContent 时,它可以工作。但如果我将其设置为任何其他字段,它不会在 PageContent 中搜索。
我做错了吗?有什么问题?
澄清错误:
我上传了一个包含以下数据的“文档”:
<field name="PageID">928</field>
<field name="PageName">some name</field>
<field name="PageContent"><![CDATA[<p>html content</p>]]></field>
在我的架构中,我已将字段定义为:
<field name="PageID" type="integer" indexed="true" stored="true" required="true"/>
<field name="PageName" type="text" indexed="true" stored="true"/>
<field name="PageContent" type="text" indexed="true" stored="true"/>
还有:
<uniqueKey>PageID</uniqueKey>
<defaultSearchField>PageName</defaultSearchField>
现在,当我使用 Solr 管理工具并搜索“some name”时,我得到了一个结果。但是,如果我搜索“html content”、“html”、“content”或“928”,我没有得到任何结果
为什么?
【问题讨论】: