私はこれがあなたのためのトリックを行います信じる:以下のコメントパー
let $myIndex := "myIndex"
let $sequence := ("one", "two two", "three")
let $or-query := cts:or-query(($sequence ! cts:word-query(.)))
return
cts:element-values(xs:QName($myIndex),(),(), cts:element-query(xs:QName($myIndex), $or-query))
を、それがハッキングのビットだが、私は、私はこれで望ましい結果であると考えているものを達成することができました:
fn:distinct-values(
cts:search(//lastname,
cts:or-query(($sequence !
cts:element-query(xs:QName("lastname"),
cts:element-value-query(xs:QName("lastname"), ., "self")
)
))
)/string()
)
最初のXPathをelement-queryの目的の要素とQNameに変更するだけです。要素値よりも速いかどうか、地図の各値をチェックすることで、私はあなたに伝えられませんでした。
これらの値が実際にそれらを格納するための単一のドキュメントにのみ存在する場合は、データベースの断片化戦略を変更することができます。それで私のアプローチ#1はうまくいくはずです。 [これから生じる可能性のある意図しない結果についての義務的な免責事項]
ありがとうございます@ロブS.、私はあなたに同意します。このクエリは、すべての範囲インデックスエントリを返します。 –
こんにちは@Ahmad Tamimi、試してみるコードの別のスニペットで私の答えを更新しました。がんばろう! –
こんにちは、@ロブS.、もう一度ありがとうございます。これは私のために働く。しかし、xPathを使用してこのクエリを実行してからマップオブジェクトを使用するよりも時間がかかります。しかし、私はあなたの3番目の推奨アプローチがパフォーマンスに影響を与えずに必要な仕事をすると信じています。 –