2017-08-21 5 views
1

複数のパスにdescription要素のMarkLogicデータベースにxmlドキュメントがあります。例えば、.../program/descriptionおよび.../certification/description。特定の検索のために.../certification/descriptionを除外したいと思います。MarkLogic検索を使用する際に特定のパスを除外する方法:検索

.../certification/descriptionをすべての検索から除外したくないので、私はデータベースword-query configを使用してこの操作を行いたくありません。

ご協力いただければ幸いです。

答えて

1

組み込みのincludeおよびexcludeオプションを使用できない場合は興味深いです。

私は考えることができるいくつかのオプション:

  • 説明(プログラム記述、認証記述)の場所ごとにフィールドを設定し、など
    • その後、あなたがそれらを照会することができますcts:field- [value | word] -query - どちらもフィールド名のシーケンスを取る。したがって、あなたはどのものが含まれているかをオン/オフすることができます。

経路範囲インデックスと同じ影響を与える上記の両方は、いくつかのストレージのオーバーヘッド(及びフィールドの場合には、インデックスの時にわずかなコスト)を追加します。しかし、それはエレガントにどの場所が含まれているかを切り替えることができます。

もう1つの方法として、クエリの範囲を指定し、cts:element-queryをコンテナとして使用してターゲットの説明のみを含める方法があります。この場合、プログラム要素とその子要素だけを対象とします。

+0

Davidさんありがとうございます。私たちは、単語の検索に、証明書/説明以外のすべてのテキストを文書に含めることを望みます。私たちは認証/説明データを属性(証明/私たちが望む効果を与えるべき@記述)に移動させました。 – user2193014

1

私は、certification/descriptionデータを私たちが望むふるまいを与えるべき属性(certification/@description)に移動させました。

関連する問題