2016-04-01 17 views
5

file xml của tôi là với cấu trúcindex phạm vi trên nút nội dung hỗn hợp trong tồn tại db

<root> 
    <compound>abc<parts>a b c</parts></compound> 
    <compound>xyz<parts>x y z</parts></compound> 
</root> 

Tôi đã tạo ra một chỉ số phạm vi trên

<range> 
    <create qname="compound" type="xs:string"/> 
</range> 

tôi mong đợi các điều khoản index là abcabcxyzxyz nhưng tôi đã tìm thấy abcxyz dưới liên kết chỉ mục trong cửa sổ theo dõi và định cấu hình. Và cũng là chuỗi tìm kiếm

//compound[.="abca b c"] giving 0 results. 

Can bất kỳ một sự giúp đỡ trong việc tạo chỉ mục trên toàn bộ nội dung của hợp chất như trên abcabc, xyzxyz vv ..

Cảm ơn

sony

Trả lời

0

Trong xquery, bạn phải sử dụng chức năng data() để trả về tất cả e hậu duệ hoặc các giá trị phần tử con. Vì vậy, để kiểm tra xem các giá trị của phần tử compound thể được trả lại bạn có thể sử dụng như sau:

//compound/data()[.="abca b c"] 
+0

nhưng nó sử dụng các chỉ số được tạo trên nút –

+0

bạn có thể dùng thử! Tài liệu marklogic cho hàm fn: data(): https://docs.marklogic.com/fn:data –

+0

Nó không hoạt động cho db tồn tại –

0
nested="yes" attribute solved the problem. 

Tôi đã thay đổi chỉ số phạm vi để

<range> 
    <create qname="compound" type="xs:string" nested="yes" /> 
</range> 
Các vấn đề liên quan