0
我有Solr 5.4.1,我試圖索引和存儲HTML文件。我想存儲原始HTML,以便我可以使用它來突出顯示。在Solr中存儲原始HTML文件
有沒有辦法做到這一點?我的更新/提取請求處理程序使用Tika,我相信它是從我的文件中剝離html標記,因此想要避免這種情況用於存儲原始html內容。
在此先感謝
我有Solr 5.4.1,我試圖索引和存儲HTML文件。我想存儲原始HTML,以便我可以使用它來突出顯示。在Solr中存儲原始HTML文件
有沒有辦法做到這一點?我的更新/提取請求處理程序使用Tika,我相信它是從我的文件中剝離html標記,因此想要避免這種情況用於存儲原始html內容。
在此先感謝
最簡單的方法來搜索HTML內容的Solr是指數使用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。
Solr對於數據檢索來說並不好。你有沒有考慮將原始html存儲在另一個地方,比如sql數據庫或其他rdbms?只需將可搜索的文本放在Solr中,然後將頁面標識添加到solr文檔中,然後通過db中的頁面標識查找完整的html。 –
主要問題是我想搜索關鍵字,然後在原始html中突出顯示這些關鍵字。這可能嗎?例如, 。
Solr無法執行html標籤的動態插入,對吧?你會不會從你的數據庫中獲取原始的HTML,然後在事實之後搜索關鍵字並在那裏插入html? –