2016-09-27 119 views
0

我有Solr 4.10.4,我想索引一個xml文件。 Somes xml標籤包含html標籤。帶有html標記的Solr索引xml文件(帶有DataImportHandler)

<?xml version='1.0' encoding='UTF-8' standalone='no' ?> 
<root> 
    <info> 
     <text> 
      <p>text 1</p> 
      <p>text 2</p> 
      <p>text 3</p> 
     </text> 
    </info> 
</root> 

我用這個:

<charFilter class="solr.HTMLStripCharFilterFactory"/> 

,但它不工作,我不知道什麼是錯。

M.

+0

** solr.HTMLStripCharFilterFactory **將去除索引數據中的html標籤而不是存儲值。你還想要轉換存儲的值嗎? –

回答

0

HTMLStripCharFilterFactory是要剝去不從所存儲的索引的數據的HTML塔格。
要在索引時去除html標籤,您可以在dataimporthandler中使用HTMLStripTransformer。以下是同樣的樣本DIH。

<dataConfig> 
<dataSource name="fDS" type="FileDataSource" /> 
<document> 
    <entity name="tika-test" processor="XPathEntityProcessor" 
      url="${solr.install.dir}/example/exampledocs/content.xml" forEach="/root" dataSource="fDS"> 
      <field column="text" xpath="/root/info/text/p" /> 
    </entity> 
</document> 

有這個變壓器,stripHTML,這是一個布爾值(真/假)轉換成信號,如果 HTMLStripTransformer應處理場或不一個屬性。

+0

xpath怎麼樣? xpath =「/ root/info/text」是否正確? – Medley

+0

是的xpath將和你提到的一樣。 –

+0

當我從Web界面執行查詢時,該字段只填充「\ n」字符。 – Medley