在 Rails 中使用 Solr 和 Sunspot。
我正在使用这样的字段类型搜索 html 字段:
<fieldType name="text_html" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ISOLatin1AccentFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
然后我正在执行搜索并使用存储字段,以便我可以在结果中返回突出显示的文本。我遇到的问题是存储的值中有原始的 html 文本。例如:对“新闻”的搜索返回:
"与@@@hl@@@news@@@endhl@@@、体育、本地交易和所有最新对话的社区联系。</div>\n</div>\n</div>"
然后我想用html包装的标签替换标签@@@hl@@@、@@@endhl@@@。
我是否需要自己手动去除原始 html 标签(div 等)标签,或者有没有办法让存储的值已经去除了 html 标签?
我知道如何手动执行此操作,只是想确保我没有遗漏 schema.xml 或 solrconfig.xml 中的某些内容。
谢谢