我刚安装了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"/>
当我运行POST工具时,一切都很顺利,但是当我搜索我知道在
PageContent
字段中的内容时,我没有得到任何结果。然而,当我将
<defaultSearchField>
节点设置为PageContent
时,它可以正常工作。但如果我将其设置为任何其他字段,则不会搜索PageContent
。我做错了什么吗?问题出在哪里?
为了澄清错误:
我上传了一个包含以下数据的“doc”:
<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管理工具搜索“
某个名称
”时,我会得到结果。但是,如果我搜索“html内容
”,“html
”,“内容
”或“928
”,我就找不到结果了。为什么呢?