2

前述のように Marklogic に複数のドキュメントを保存しています

<testData>
<datatype>
    <datatypename>datatypename1</datatypename>
    <datatype>datatype1</datatype>
</datatype>
<datavalue>
    <code>code1</code>
    <value>value1</value>
</datavalue>
<datavalue>
    <code>code2</code>
    <value>value2</value>
</datavalue>
<datavalue>
    <code>code3</code>
    <value>value3</value>
</datavalue>
</testData>

要件:Maklogic Java APIを使用して、同じキーで異なる値を持つすべてのドキュメントを検索したい

例: のような複数の値を持つ上記の XML<code>要素ではcode1code2

以下のコードを試しました

        QueryManager manager = client.newQueryManager();
        StructuredQueryBuilder queryBuilder = new StructuredQueryBuilder();
        StructuredQueryDefinition queryDefinition1 = queryBuilder.value(queryBuilder.element("code"), "code1");
        StructuredQueryDefinition queryDefinition2 = queryBuilder.value(queryBuilder.element("code"), "code2");

        StructuredQueryDefinition definition = queryBuilder.and(queryDefinition1, queryDefinition2);

        SearchHandle searchHandle = new SearchHandle();
        manager.search(definition, searchHandle);

ここでは、forのStructuredQueryDefinitionように要素ごとに複数の値を使用しています。これを行う代わりに、このようにしたいので、要素名としてandをその値として持つドキュメントを返す必要があります。queryDefinition1code1queryDefinition2code2codecode1code2

StructuredQueryDefinition queryDefinition1 = queryBuilder.value(queryBuilder.element("code"), "code1 AND code2");

Marklogic Java APIを使用し、要素の要素範囲インデックスを作成せずに可能かどうか教えてくださいcode

4

0 に答える 0