Solr 索引CJK和strip HTML标记

Solr 索引CJK和strip HTML标记,solr,ezpublish,Solr,Ezpublish,我正在使用eZ Find,eZ Publish to solr的前端,对一些包含日语文本和html标记的字段进行索引 我在schema.xml中修改了文本分析器,如下所示: <fieldType name="text" class="solr.TextField"> <analyzer> <charFilter class="solr.HTMLStripCharFilterFactory"/> <tokenizer

我正在使用eZ Find,eZ Publish to solr的前端,对一些包含日语文本和html标记的字段进行索引

我在schema.xml中修改了文本分析器,如下所示:

<fieldType name="text" class="solr.TextField">
    <analyzer>
        <charFilter class="solr.HTMLStripCharFilterFactory"/>
        <tokenizer class="solr.CJKTokenizerFactory"/>
    </analyzer>
</fieldType>
如何防止HTML标记被索引

提前感谢。

通过使用,您只能阻止HTML标记被“索引”,而不能阻止HTML标记被“存储”

换句话说,您将获得
的结果すもももももももものうち"(当然带有HTML标记),但不适用于
“すもももももももものうち

注意:假设您在搜索过程中不会去掉html标记

如果不希望这些HTML标记被索引,可以使用

您的配置可能如下所示:

    <analyzer>
        <charFilter class="solr.PatternReplaceCharFilterFactory" 
                    pattern="Your regular expression to match HTML tags" 
                    replacement=""/>
        <tokenizer class="solr.CJKTokenizerFactory"/>
    </analyzer>

谢谢!事实上,存储字符串和索引字符串是不同的。因为我只关心索引字符串,所以我的当前设置很好,但正则表达式的技巧很好。
<str name="attr_free_1_t"><h1>ほげほげ<h1><p>すもももももももものうち</p></str>
    <analyzer>
        <charFilter class="solr.PatternReplaceCharFilterFactory" 
                    pattern="Your regular expression to match HTML tags" 
                    replacement=""/>
        <tokenizer class="solr.CJKTokenizerFactory"/>
    </analyzer>