일부 XML 문서가 있습니다. 문서의 구조는 다음과 같다 : - assignor-name
및 assignee-name
에Marklogic에서 cts : and-query 문제가 발생했습니다.
<?xml version="1.0" encoding="UTF-8"?>
<patent-assignment>
<assignment-record>
<correspondent>
<name>NORTH AMERICA INTERNATIONAL PATENT OFFIC</name>
<address-1>P.O. BOX 506</address-1>
<address-2>MERRIFIELD, VA 22116</address-2>
</correspondent>
</assignment-record>
<patent-assignors>
<patent-assignor>
<assignor-name>TSAI, YU-WEN</name>
<execution-date>
<date>20050331</date>
</execution-date>
</patent-assignor>
<patent-assignor>
<assignor-name>HUANG, CHENG-I</name>
<execution-date>
<date>20050331</date>
</execution-date>
</patent-assignor>
</patent-assignors>
<patent-assignees>
<patent-assignee>
<assignee-name>FARADAY TECHNOLOGY CORP.</name>
<address-1>NO.10-2, LI-HSIN ROAD 1, SCIENCE-BASED INDUSTRIAL PARK</address-1>
<city>HSIN-CHU CITY</city>
<country-name>TAIWAN</country-name>
</patent-assignee>
</patent-assignees>
</patent-assignment>
내가 만든 필드. 지금은이 같은 cts:search
쿼리를 실행하고 있습니다 : - 양도인의 이름과 담당자 이름은 내가 만든 필드의 이름입니다
let $query:=cts:and-query((
cts:element-query(xs:QName("assignor-name"),
cts:field-word-query("Assignor Name", "apple")),
cts:element-query(xs:QName("assignee-name"),
cts:field-word-query("Assignee Name", "salix"))
))
for $x in cts:search(fn:doc(), $query)
return $x
. 이 필드의 로컬 이름은 각각
assignor-name
및
assignee-name
입니다. 그러나이 쿼리를 실행하면 빈 시퀀스가 생깁니다. 나는 또한 xml 문서와 문서가
assignor-name
이 "apple"이고
assignee-name
이 "salix"인 데이터를 가지고 있는지 확인했습니다. 여전히 결과를 얻지 못하고 있습니다. 할당 자 이름이나 할당 자 이름에 대해서만이 쿼리를 실행하면 결과가 표시되지만 그 결과를
and-query
에 결합하면 결과가 표시되지 않습니다. 도와주세요.
Puneet, 샘플 데이터가 당신이하려고하는 내용과 일치하지 않습니다 ")는 귀하의 데이터에 표시되지 않습니다. 사과와 살리실린도 없습니다. 일치해야하는 샘플로 업데이트 할 수 있습니까? –