Linux+Solr+Zookeeper-07:Solr去除Html标签

Linux+Solr+Zookeeper-05:通过DataImport功能手动导入MySql的数据至Solr数据库

[超级连接:Linux+Solr+Zookeeper系列-序章]


我们在用Solr进行存储时,有时会存储html标签,如:通过富文本编辑器生成的文本内容等。

在全文检索的结果处理时,可能又不想要这些html标签。

本文讲述如何去除Html标签。

1.原有数据源配置:

<dataConfig>
        <!-- dataSource config -->
        <dataSource name="news_db" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://130.10.8.100:3306/exam" user="root" password="1qaz@WSX"/>
        <!-- document config -->
        <document>
                <!-- entity config -->
                <entity dataSource="news_db"  name="news"
                        query="select id,title,article from news where valid = '1'"
                        deltaQuery="select id from news where update_time > '${dataimporter.last_index_time}'"
                        deletedPkQuery="select id from news where valid = '0'"
                        deltaImportQuery="select id,title,article from news where id='${dih.delta.id}'">
                        <!-- field config -->
                        <field  column="id"  name="id"/>
                        <field  column="title"  name="title"/>
                        <field  column="article"  name="article"/>
                </entity>
        </document>
</dataConfig>

2.配置方式

2.1.修改entity配置

news-data-config.xml中的entity标签里边添加transformer="HTMLStripTransformer"

<dataConfig>
        <!-- dataSource config -->
        <dataSource .../>
        <!-- document config -->
        <document>
                <!-- entity config -->
                <entity dataSource="news_db"  name="news" transformer="HTMLStripTransformer"
                        ...>
                        <!-- field config -->
                </entity>
        </document>
</dataConfig>

2.在news-data-config.xml中的field字段需要过滤html代码的字段添加 stripHTML="true"

<dataConfig>
        <!-- dataSource config -->
        <dataSource .../>
        <!-- document config -->
        <document>
                <!-- entity config -->
                <entity ...>
                        <!-- field config -->
                        ...
                        <field  column="article"  name="article" stripHTML="true"/>
                </entity>
        </document>
</dataConfig>

3.修改managed-schema文件中的<analyzer type="query">标记中的内容,添加<charFilter class="solr.HTMLStripCharFilterFactory"/>

<analyzer type="query">
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
  <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <charFilter class="solr.HTMLStripCharFilterFactory" />
</analyzer>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值