В настоящее время я использую JdbcDataSource для импорта документа из серверной части SqlServer. Некоторые поля содержат необработанный HTML-код. Я хочу удалить HTML перед индексированием. Проблема в том, что что-то кодирует открывающий символ '‹' при индексировании. В конечном итоге я хотел бы использовать HTMLStripTransformer, чтобы вырезать весь HTML из поля JobDescription, однако он ничего не удаляет, потому что наполовину закодированный контент для него не похож на html.
данные-config.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>
...
In the DB the JobDescription column has the following:
<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">