在 Solr 中存储原始 HTML 文件



我有Solr 5.4.1,我正在尝试索引和存储html文件。我想存储原始 HTML,以便我可以使用它来突出显示。

有什么办法可以做到这一点吗?我的更新/提取请求处理程序使用 Tika,我相信它正在从我的文件中剥离 html 标签,因此希望避免这种情况来存储原始 html 内容。

提前致谢

在Solr中搜索HTML内容的最简单方法是使用HTMLStripCharFilterFactory进行索引。这会在索引时从文本中删除 HTML 标记(包括属性(,这意味着您可以搜索文本而无需搜索标记。字段的存储版本仍将包含 HTML 标记。

<!-- Field type for HTML fields, stripping HTML characters during indexing -->
<fieldType name="text_html" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <charFilter class="solr.HTMLStripCharFilterFactory"/>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

但是,这可能会导致突出显示标记,导致 HTML 标记中断,方法是出现在 HTML 标记的中间,或者剪切掉结束标记。另一种解决方案是在存储在Solr中之前剥离HTML。

最新更新