特定の要素を検索しようとしているので、オプション内に searchable-expression があります。また、この要素の値で並べ替えたいので、値要素に要素範囲インデックスを作成しました。うまくいけば物事を明確にする私の検索オプションは次のとおりです。
<options xmlns="http://marklogic.com/appservices/search">
<term>
<term-option>case-insensitive</term-option>
</term>
<debug>true</debug>
<searchable-expression>/summary/name/value</searchable-expression>
<sort-order type="xs:string" direction="ascending">
<element ns="" name="value"/>
<annotation>options for search institutions by name</annotation>
</sort-order>
</options>
問題は、ソート時に別の値ノードが追加されることです (search:report id="SEARCH-FLWOR" から取得)。
...order by xs:string(($result//value)[1]) ascending return $result)[1 to 50]
それ以外の:
...order by xs:string(($result)[1]) ascending return $result)[1 to 50]
これを防ぐにはどうすればよいですか?「名前」要素には、検索したくない別の子要素があるため、検索可能な式を変更できません。また、ソート順要素名を空白のままにしたり、現在のノードに設定したりすることもできません。これは簡単なようですが、これを機能させるものは何も見つかりませんでした。
助けていただければ幸いです。