1

2 つの別々のクエリを結合したい。そしてそれらからの情報を表示します。最初のクエリはカナダの会社で、2 番目のクエリはIncrementoという名前の会社です。そのため、個別のクエリを実行し、結果情報を結合する必要があります。

私のスキーマは次のとおりです。

<entity name="firm" dataSource="jdbc" pk="id"
  query="select * from firm"
  deltaImportQuery="select * from firm where id='${dih.delta.id}'"
      deltaQuery="select id from firm where upd_date &gt; '${dih.last_index_time}'">
    <field column="id" name="id"/>
    <field column="ADDRESS" name="address"/>
    <field column="EMPLOYEE" name="employee"/>
    <field column="NAME" name="name"/>
    <field column="VILLAGE" name="village"/>
    <field column="ZIPCODE" name="zipcode"/>
    <field column="PLACE" name="place"/>
    <entity name="country" pk="id"
    query="select country from country where id='${firm.country}'"
    deltaQuery="select id from country where upd_date > '${dih.last_index_time}'"
    parentDeltaQuery="select id from firm where country=${country.id}">
      <field column="country" name="countryName"/>
    </entity>
  </entity>

どうやってするか ???

4

1 に答える 1

0

検索中:-

あなたは例えばを使うことができます

q=name:incremento&fq=location:Canada-カナダに所在する企業でのみIncrementoという名前の企業を検索します

fq=location:Canada&fq=name:Incremento-場所がカナダで名前がIncrementoの企業をフィルタリングします

インデックス作成:-
カナダの会社とIncrementoという名前の会社のORを使用して、SQLクエリで処理できます。
例えばSELECT * FROM FIRMS WHERE COUNTRY='CANADA' OR NAME='INCREMENTO'

またはDIHはタグのみを許可します。複数のルートタグがある場合があります。例えば

<dataSource driver="..." url="..." user=".." />
    <document name="companies">
        <entity name="firm_canada" dataSource="jdbc" pk="id"
          query="select * from firm"
          deltaImportQuery="select * from firm where id='${dih.delta.id}'"
              deltaQuery="select id from firm where upd_date &gt; '${dih.last_index_time}'">
            <field column="id" name="id"/>
            ....
        </entity>
        <entity name="firm_incremento" dataSource="jdbc" pk="id"
          query="select * from firm where ..."
          deltaImportQuery="select * from firm where id='${dih.delta.id}'"
              deltaQuery="select id from firm where upd_date &gt; '${dih.last_index_time}'">
            <field column="id" name="id"/>
            ....
        </entity>       
    </document>
</dataSource>
于 2013-01-31T04:50:04.103 に答える