您好我已经使用TikaEntityprocessor配置Solr来从DB索引BLOB类型。我的问题是当excel文件的内容作为BLOB存储在DB中时,没有任何内容被索引到SOLR中。没有抛出任何异常。当BLOB字段包含简单的二进制数据时,一切正常。
下面是我的data-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource name="db" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//x.x.x.x:1521/d11gr21"
user="dummy" password="dummy"/>
<dataSource name="dastream" type="FieldStreamDataSource" />
<document>
<entity name="messages"
query="select MSG_PK,MESSAGE from table1" dataSource="db">
<field column ="MSG_PK" name ="id" />
<entity name="message" dataSource="dastream"
processor="TikaEntityProcessor"
url="message"
dataField="messages.MESSAGE"
format="text">
<field column="text" name="mxMsg" />
</entity>
</entity>
</document>
</dataConfig>
更新 在我查询索引后,输出显示如下:
<result name="response" numFound="1" start="0">
<doc>
<arr name="message">
<str>oracle.sql.BLOB@121c39fa</str>
</arr>
<int name="id">992</int>
<arr name="mxMsg">
<str/>
</arr>
<arr name="content">
<str/>
</arr>
<long name="version">1454004358166347776</long>
</doc>
</result>
BLOB字段中的文本根本没有被编入索引。