2016-03-23 19 views
1

セマンティック検索の目的でトリプルストアのインクリメンタルインデックスを実行する際に、いくつかの標準やベストプラクティスがあるのだろうかと思います。セマンティック検索のインクリメンタルインデックス

確かにセマンティック検索をサポートするには、通常、solrまたはelasticsearchを使用します。ここで、リソースは特定のSPARQLクエリに従ってインデックスが付けられます。たとえば、1日に1回、リソース全体を再インデックスすることは可能ですが、それは望ましいことではありません。したがって、それを徐々に実行する必要があります。しかし、それは何とか変更を追跡する必要があります。究極のヤギは、変更されたものだけを索引付けしたり削除したりすることができます。

たとえば、変更内容を索引付けするには、SPARQLクエリには何らかのタイムスタンプフィルタを含める必要があります。彼は、これがうまくこれまでのところ、私はややEEA ElasticSearch RDF川のプラグインに触発されています

をapreciatedされるだろう共有したいという

誰もがいくつかの提案を持っている場合、またはそれを実行する上での経験、。私はオントロジのチェンジセットオントロジーも見ています。

答えて

1

これを達成する最も簡単な方法は、トランザクションのライフサイクルに関わるものを得ることです。次に、データベースへの変更を見ることができます。これにより、索引付けが必要なグラフが表示されます。

夜間などの定期的なスケジュールで完全な再インデックスを実行しないでください。あなたの要求が全文検索である場合を除き、は常にのデータを素早く変更する必要があります。定期的に完全なインデックスを再作成すると正常に動作します。

+0

「これを達成する最も簡単な方法は、トランザクションライフサイクルに関わるものを取得することです。次に、インデックスを作成する必要があるグラフを提供するデータベースの変更を確認できます。 " – MaatDeamon

+0

基本的に、この考えは変更セットのようなオントロジーを使用し、すべての変更を自分自身で記録するでしょうか?私のデータベースで操作を行うたびに、対応するchangeSet操作を追加する必要がありますか?あれは正しいですか ? – MaatDeamon

+0

フルテキストインデックス作成を行うデータベースの使用を検討しましたか? – Michael

関連する問題