语义搜索的增量索引
Incremental indexing for semantic search
我想知道在为语义搜索目的执行三元组存储的增量索引时是否有一些标准或最佳实践。
确实要支持语义搜索,通常使用 solr 或 elasticsearch,其中根据某些特定的 SPARQL 查询对资源进行索引。例如,虽然可以每天一次重新索引其整个资源集,但这并不理想。因此需要逐步执行它。然而,这需要以某种方式跟踪更改,最终山羊能够继续索引或删除仅更改的内容。
例如,为了只索引发生变化的内容,SPARQL 查询应该以某种方式包含一些时间戳过滤器。
如果有人有一些建议或执行它的经验,他愿意分享这个,我们将不胜感激
到目前为止,我在某种程度上受到了 EEA ElasticSearch RDF River 插件的启发。我也在查看 ontology 变更集 Ontology。
实现此目的的最简单方法是在交易生命周期中加入一些东西。然后您可以看到数据库的更改,这将为您提供需要索引的图表。
但不要拒绝定期执行完整的重新索引,例如每晚。除非你的要求是全文搜索必须总是针对最新的数据并且你的数据变化很快,一个完整的重新索引定期会工作得很好。
我想知道在为语义搜索目的执行三元组存储的增量索引时是否有一些标准或最佳实践。
确实要支持语义搜索,通常使用 solr 或 elasticsearch,其中根据某些特定的 SPARQL 查询对资源进行索引。例如,虽然可以每天一次重新索引其整个资源集,但这并不理想。因此需要逐步执行它。然而,这需要以某种方式跟踪更改,最终山羊能够继续索引或删除仅更改的内容。
例如,为了只索引发生变化的内容,SPARQL 查询应该以某种方式包含一些时间戳过滤器。
如果有人有一些建议或执行它的经验,他愿意分享这个,我们将不胜感激
到目前为止,我在某种程度上受到了 EEA ElasticSearch RDF River 插件的启发。我也在查看 ontology 变更集 Ontology。
实现此目的的最简单方法是在交易生命周期中加入一些东西。然后您可以看到数据库的更改,这将为您提供需要索引的图表。
但不要拒绝定期执行完整的重新索引,例如每晚。除非你的要求是全文搜索必须总是针对最新的数据并且你的数据变化很快,一个完整的重新索引定期会工作得很好。