前述のように 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>
要素ではcode1
、code2
以下のコードを試しました
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をその値として持つドキュメントを返す必要があります。queryDefinition1
code1
queryDefinition2
code2
code
code1
code2
StructuredQueryDefinition queryDefinition1 = queryBuilder.value(queryBuilder.element("code"), "code1 AND code2");
Marklogic Java APIを使用し、要素の要素範囲インデックスを作成せずに可能かどうか教えてくださいcode
。