3

私は次のxml構造を持っています

 <patent-assignors>
        <patent-assignor>
          <name>VOLPENHEIN, ROBERT A.</name>
          <execution-date>
        <date>19841204</date>
          </execution-date>
        </patent-assignor>
 </patent-assignors>


    <patent-assignees>
        <patent-assignee>
          <name>PROCTER &amp; GAMBLE COMPANY, THE</name>
          <address-2>A CORP. OF  OHIO</address-2>
          <city>CINCINNATI</city>
          <state>OHIO</state>
        </patent-assignee>
   </patent-assignees>

を使用できるように、Marklogic サーバーでpatent-assignor&用のデータベース フィールドを作成したいと考えています。しかし、特許譲渡者と特許譲受人の名前を検索したい (両方とも同じ要素 " " を含む)。特許譲渡者と特許譲受人の名前に使用できるように、特許譲渡者のフィールドを特許譲渡者名に、特許譲受人を特許譲受人名にマッピングする方法を教えてください。完全一致が欲しい。patent-assigneects:field-word-querynamects:field-word-query

4

2 に答える 2

2

これは、フィールド インデックスのユース ケースとは思えません。要素 ' name' にインデックスを付けるだけで、両方のケースが同じインデックスでインデックス付けされます。区別するには、適切な親要素のword-queryまたはvalue-queryで囲みます。element-query

于 2012-05-07T09:04:34.667 に答える
1

利用可能なオプションを確実に理解することについての上記のコメントは、すべて考慮することが重要だと思います。私があなたの質問を正しく理解していれば、MarkLogicはおそらく「ユニバーサルインデックス」のみを使用して検索に答えることができます。

譲受人と譲受人の両方が" name"という名前の要素を使用するため、両方に完全一致を照会するのは実際には非常に簡単です(完全一致は通常、ではvalue-queryないことを意味しますword-query

cts:element-value-query(xs:QName("name"), "VOLPENHEIN, ROBERT A.")

ただしname、データに譲渡人と譲受人以外の要素が多く、ヒットを絞り込んで、これらのnameフィールドからのみ取得する必要がある場合element-queriesは、検索を制限するために使用できます(これを適切にスケーリングするには、データベースの設定がtrueに設定されてelement-word-positionsいることを確認してください)element-value-positions

cts:or-query((

    cts:element-query( xs:QName("patent-assignor"), 
                       cts:element-value-query(
                           xs:QName("name"), 
                           "VOLPENHEIN, ROBERT A.")),

    cts:element-query( xs:QName("patent-assignee"), 
                       cts:element-value-query(
                           xs:QName("name"), 
                           "VOLPENHEIN, ROBERT A."))
))

フィールドは、特定の要素を分離することに関して非常に強力な場合があります。特に、従うべき複雑な「包含」および「除外」ロジックがある場合はそうです。「ユニバーサルインデックス」を使用してクエリ時にフィルタリングを行うだけで、物事をより柔軟に保つことができる可能性が非常に高いと思います。

于 2012-05-07T19:19:47.167 に答える