2017-09-23 6 views
1

검색된 단어가 JSON 컬렉션에 강조 표시되어있는 텍스트의 추출을 시도합니다. 내 검색 구문은 다음과 같습니다 'doc_text'Marklogic : "highlight"가 Node.js 및 QueryBuilder와 작동하지 않는 것 같습니다.

qb.word(qb.field('doc_text'),vartxt)

는 Node.js를 응용 프로그램에서, 필드 (field type: root, include root: false, includes: doc_text)으로 선언했다.

검색이 잘 작동하고,이 분야에 잘 있습니다 ... 그러나 txt[0].results[kl].matches[0]['match-text']에, 나는 처음 3 개 JSON, 의 속성이 아니라 발견 단어와 함께 'doc_text'에서 추출물을 찾을 수 있습니다. 강조 표시가 제대로 작동하는 다른 응용 프로그램이 있지만 XML을 기반으로합니다.

필드 선언에서 뭔가를 잊었거나 JSON 과 XML 데이터 사이에 다른 작업입니까, 아니면 Node.js 및 QueryBuilder를 통해 JSON에서 실행되지 않는 강조 시스템입니까?

친절한 답변

답변

0

필드는 XML과 JSON에서 완전히 똑같은 방식으로 작동하지 않습니다.

http://docs.marklogic.com/guide/app-dev/json#id_24090

XML의 필드의 값은 모든 텍스트 노드의 연결이 될 수 있지만, 같은 JSON에 적용되지 않습니다 : 나는 당신이 이러한 제한으로 실행하고 생각합니다.

+0

나는 이미이 페이지를 읽었습니다. 나는이 한계가 문제의 원인이라고 생각하지 않는다. 이 필드는 간단한 필드, 즉 "pdftotext"의 전역 내용으로, 하위 필드 또는 연결이 없습니다. 그리고 검색은 올바르게 작동합니다. – mbport

+0

XML 쿼리도 필드 쿼리입니까? Snippeting (JSON과 XML에 대해 일치하는 텍스트를 생성하는 것)은 서버와 일치하는 cts.walk() 함수를 사용합니다. – ehennum

+0

예, 정확히 동일한 쿼리입니다 (node.js 및 querybuilder를 기반으로 함). – mbport

0

나는 이해했다고 생각한다! ('문서'), mkcq.word ((mkcq.field ('doc_text'), 'connaitre')를 mkcq.collection을 mkcq.and :

이 쿼리는 추출물, 정확한 미리보기를 제공하고 단어 강조) 한편

는,이 쿼리는 JSON의 제 3 개 필드를 제공한다 : mkcq.and (mkcq.collection ('서') mkcq.word (mkcq.field ('doc_text')를 'connaitre '), mkcq.value (mkcq.element (' ','doc_user '),'mbp '))

정상인지 아닌지는 잘 모르겠지만 간략한 쿼리 및 특정 스니퍼 (snippeter)로 저녁에 반환 된 레코드에 대한 선택

친절한 대답

관련 문제