2016-06-14 15 views
0

MarkLogic(およびnoSQL)に新たに失敗し、現在Java APIクライアントを学習しようとしています。検索結果のスニペット/マッチを返す検索に関する私の質問は、の特定のフィールドをドキュメントに含めることが可能ですか?MarkLogic特定のフィールドを検索して取得します

{"id":"1", "type":"classified", "description": "This is a classified type."} 

そして、私はこの使用して検索:このドキュメント与え例えば

QueryManager queryMgr = client.newQueryManager();  
    StringQueryDefinition query = queryMgr.newStringDefinition();  
    query.setCriteria("classified"); 
    queryMgr.search(query, resultsHandle); 

私は、JSON文書の3つの定義フィールド(ID、タイプ、説明)一部としてを取得できますか検索結果の - UIテーブルに表示することができますか?

URIを使用してドキュメントを読み込むことでDBをもう一度押す必要があります(1000レコードあると、1000回もDBに当たるということです)。

答えて

3

検索結果で特定のフィールドを検索するいくつかのオプションがあります。 Pojo Data Binding Interfaceを使用できます。 read multiple documents matching a queryで、各文書の全体を戻して、pojoやStringなどのハンドルとして取得できます。または、上記で使用しているのと同じAPIを使用できますが、検索オプションを追加してextract a portion of a matching documentを追加することができます。

あなたはマッチの数千人を取り戻すしている場合、あなたはおそらく、エンドユーザーにすべてのそれらのスニペットを示していないので、あなたはおそらくdisable snippetsあなたのオプションで

<transform-results apply="empty-snippet" /> 

ようなものを使用しなければなりません。

+0

ありがとうございました。ドキュメントの内容をDocumentPageとDocumentRecord.getAsContent(Class)で取得する「複数のドキュメントをクエリで読み込む」ために、リンク上のアプローチを使用しました。 –

関連する問題