我正在尝试使用jdbc驱动程序方法在solr中实现solr dataimport处理程序。
我的用例是 我在virtuoso中有RDF数据,我想使用dataimport处理程序(自动提交)在solr中索引这些数据
这是我的代码
solrconfig.xml中
<lib dir="${solr.install.dir:../../../..}/dist/" regex="virt_dialect-.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="virtjdbc-.*\.jar" />
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
DB-数据-config.xml中
<dataConfig>
<dataSource driver="virtuoso.jdbc4.Driver" url="jdbc:virtuoso://localhost:1111/" user="dba" password "dba" />
<document>
<entity name="item" query="SELECT ?S, ?P, ?O FROM <http://localhost:8890/sparql> { ?S ?P ?O }"
deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'">
<field column="subject" name="item.S" />
<field column="description" name="item.P" />
<field column="title" name="item.O" />
</entity>
</document>
</dataConfig>
我也想尝试关注此链接 http://fatac.github.io/configuration.html 但由于这项技术的新功能,我无法正确实现这一点。 感谢
答案 0 :(得分:0)
如果这仍与s / o相关
假设找到了所需的驱动程序,并且您想索引dcterms:抽象文本,以下数据配置应该有效
<dataConfig>
<dataSource driver="virtuoso.jdbc4.Driver" url="jdbc:virtuoso://localhost:1111/" user="dba" password="dba" />
<document>
<entity name="item" query="SPARQL SELECT (STR(?s) AS ?s) (STR(?o) AS ?o) FROM <<urn:graph.to.be.indexed>> WHERE { ?s <http://purl.org/dc/terms/abstract> ?o FILTER(?o!='')}">
<field column="s" name="id" />
<field column="o" name="abstract_txt_en" />
</entity>
</document>