동일한 노드의 두 속성에 대해 cts:and-query
을 수행하고 싶습니다. cts:and-query
은 같은 노드가 아닌 문서의 테스트 조건을 별도로 검색합니다.Marklogic : 동일한 노드에서 두 속성을 검색하는 CTS : and-query
검색을 동일한 노드에 적용하도록 제한하는 방법이 있습니까?
동일한 노드의 두 속성에 대해 cts:and-query
을 수행하고 싶습니다. cts:and-query
은 같은 노드가 아닌 문서의 테스트 조건을 별도로 검색합니다.Marklogic : 동일한 노드에서 두 속성을 검색하는 CTS : and-query
검색을 동일한 노드에 적용하도록 제한하는 방법이 있습니까?
여기 번째 예에서 설명 된 바와 같이 소자 질의 내부 및 쿼리 감싸 : 그것은 직접 소자 자체에 필요한 제한도 자손이 경기를 포함하지 않는
http://docs.marklogic.com/cts:element-query?q=cts:element-query
콘텐츠 구조에 따라 충분할 수도 있습니다.
그렇지 않은 경우 XPath 조건자를 사용하여 검색 결과에서 가양 성을 필터링합니다. 검색 합계 등을 계산하는 것이 더 어려워 지지만 최소한 올바른 결과를 제공합니다.
HTH!
XML 구조에 따라 cts:and-query()
을 사용하는 대신 거리가 0 인 cts:near-query()
을 사용하여 XML 구조에 따라이 작업을 수행 할 수 있습니다. 나는 얼마 전 near-query distance에 관한 글을 썼다. 즉, 거리는 요소 내부의 단어에 따라 다르지만 특성의 단어의 영향을받지 않습니다. 다른 요소들에서 하나 개의 요소의 속성을 분리 element-level
단어가없는 경우이 방법이 작동하지 않습니다
cts:near-query(
(cts:element-attribute-value-query($element-qname, $attr1-qname),
cts:element-attribute-value-query($element-qname, $attr2-qname)),
0
)
참고 :이 트릭을 할해야합니다. 예를 들어 :
<doc>
<stuff a="1" b="2">some text</stuff>
<stuff a="3" b="4">some other text</stuff>
</doc>
물건 요소의 내부 텍스트는 /doc/stuff\[1\]
의 속성과 /doc/stuff\[2\]
의 속성 사이에 약간의 거리를 제공합니다. a와 b 속성 사이에는 거리가 없습니다. stuff 요소에 텍스트가 없으면 /doc/stuff\[1\]
의 특성과 /doc/stuff\[2\]
의 특성 사이에 거리가 없습니다.