我有Solr 4.10.4,我想索引一个xml文件。 有些xml标签包含html标签。
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<root>
<info>
<text>
<p>text 1</p>
<p>text 2</p>
<p>text 3</p>
</text>
</info>
</root>
我用过这个:
<charFilter class="solr.HTMLStripCharFilterFactory"/>
但它不起作用,我不知道出了什么问题。
微米。
答案 0 :(得分:0)
HTMLStripCharFilterFactory 将从索引数据中剥离HTML tage,而不是从存储的数据中删除。
要在编制索引时删除html标记,可以在dataimporthandler中使用 HTMLStripTransformer 。以下是相同的DIH样本。
<dataConfig>
<dataSource name="fDS" type="FileDataSource" />
<document>
<entity name="tika-test" processor="XPathEntityProcessor"
url="${solr.install.dir}/example/exampledocs/content.xml" forEach="/root" dataSource="fDS">
<field column="text" xpath="/root/info/text/p" />
</entity>
</document>
这个变换器有一个属性stripHTML,它是一个布尔值(true / false)来表示 HTMLStripTransformer应该处理该字段。