我有问题确切地知道如何将SQL Server数据库中的blob数据导入SOLR。这也与NAV挂钩。我已经设法从NAV中的表中获取数据,但是我需要SOLR中的这些数据用于搜索目的。
这是我当前的dataConfig文件。
<dataConfig>
<dataSource name="dastream" type="FieldStreamDataSource" />
<dataSource name="db" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost;databaseName=TestingDB" user="sa" password="*******" />
<document name="items">
<entity name="item" query="select [No_], [Desc_ English] as desceng from [Foo$Item]" dataSource="db">
<field column="No_" name="id" />
<entity processor="TikaEntityProcessor" url="desceng" dataField="item.desceng" name="blob" dataSource="dastream" format="text" >
<field column="text" name="desceng" />
</entity>
</entity>
</document>
</dataConfig>
我一直得到的错误是:
完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:java.lang.RuntimeException:unsupported type:class java.lang.String
我不确定我错过了什么。
也许这是因为Nav以他自己的方式存储blob。看到这个question。这里有一个如何使用python提取数据的例子。