Marklogic サーバーのフラグメントの意味を知りたいです。Marklogicでの断片化プロセスとは何か、断片化を避けるべき理由を詳しく説明してください。
1 に答える
ドキュメントを読みましたか?http://docs.marklogic.com/guide/admin/fragments#chapter
手短に:
Marklogic インデックスはフラグメント ベースです。つまり、フラグメント レベルで終わる細分性があります。通常、ドキュメントは単一のフラグメントとして保存されます (オプションで、そのプロパティ用に別のフラグメントを使用できます) が、フラグメントのルートとフラグメントの親を定義できます。これにより、保存時にドキュメントが断片化されますが、ドキュメントのルートを出力にシリアル化すると、すべてのサブパーツが取得され、ドキュメントが断片化されていないかのように結合されます。
なぜ避けるのですか?
最も重要なのは、cts クエリ (検索ライブラリでも使用されます) は通常、フラグメントの境界を越えないためです。たとえば、 cts :document-fragment-query を使用して、これらの境界を越えたいことを明示的に示す必要があります。-query.html#cts:ドキュメントフラグメントクエリ
フラグメントを個別のドキュメントとして保存することにより、フラグメント化を明示的にすると、これが明示的になります。結果を組み合わせるには、複数の検索を行う必要があります。MarkLogic は非常に高速であるため、通常は 1 回だけ検索するのではなく、数回検索してもほぼ同じ速度で動作します。
また、多くの (数万の) フラグメントで構成される大きなドキュメントを処理する際にパフォーマンスの問題が発生することも確認されました。別々のドキュメントでは起こらないこと。
チッ!