我目前正在使用 JdbcDataSource 从 SqlServer 后端导入文档。一些字段中包含原始 HTML。我想在索引之前剥离 HTML。问题是索引时某些东西正在编码开头的“<”字符。最终,我想使用 HTMLStripTransformer 从 JobDescription 字段中删除所有 HTML,但是,它不会删除任何内容,因为半编码内容看起来不像 html。
数据配置.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://SERVERNAME;databaseName=DBNAME;integratedSecurity=true;"
applicationName="RHW_Jobs SOLR Data Import Handler"/>
<document>
<entity name="job" query="SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT [JobID],[JobDescription] FROM [JobSeeker].[Solr].[Jobs]"
transformer="HTMLStripTransformer,RegexTransformer,DateFormatTransformer">
<field column="JobID" name="JobID" />
<field column="JobDescription" name="JobDescription" stripHTML="true" />
</entity>
</document>
调试窗口的输出
<lst>
<arr name="JobID">
<str>373E383A-AD6C-4858-B5FB-C724486B186A</str>
</arr>
<arr name="JobDescription">
<str><td class="form"> <ul> <li> <p> <span style="FONT-FAMILY: Georgia; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><strong><u>
...
在数据库中,JobDescription 列具有以下内容:
<td class="form"> <ul> <li> <p> <span style="FONT-FAMILY: Georgia; FONT-SIZE: 12pt; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">