簡體   English   中英

Solr數據導入不索引2實體

[英]Solr data import not index 2 entities

我使用數據導入處理程序對一個表(obs)建立了索引,並且everyty認為還不錯。

但是,當我嘗試添加另一個實體並對表(窗體)建立索引時,沒有索引任何內容,即使是obs表也是如此。

我的data-config.xml:

<document>
        <entity name="obs"
          query="SELECT  o.uuid as id,  obs_id,  person_id,  obs_datetime, obs_group_id, cn1.name as concept_name,   
          cn2.name as coded, value_boolean,  value_datetime, value_numeric, value_text
          FROM openmrs.obs o 
          inner join (SELECT * FROM openmrs.concept_name c WHERE c.locale = 'en' AND concept_name_type = 'FULLY_SPECIFIED') as cn1 on cn1.concept_id = o.concept_id 
          LEFT join (SELECT * FROM openmrs.concept_name c WHERE c.locale = 'en' AND concept_name_type = 'FULLY_SPECIFIED') as cn2 on cn2.concept_id = o.value_coded 
          WHERE person_id='${dataimporter.request.personId}' AND o.voided=0 AND cn1.voided=0"  

          deltaImportQuery="SELECT  o.uuid as id,  obs_id,   person_id,  obs_datetime, obs_group_id, cn1.name as concept_name,   
          cn2.name as coded, value_boolean,  value_datetime, value_numeric, value_text
          FROM openmrs.obs o 
          inner join (SELECT * FROM openmrs.concept_name c WHERE c.locale = 'en' AND concept_name_type = 'FULLY_SPECIFIED') as cn1  on cn1.concept_id = o.concept_id 
          LEFT join (SELECT * FROM openmrs.concept_name c WHERE c.locale = 'en' AND concept_name_type = 'FULLY_SPECIFIED') as cn2 on cn2.concept_id = o.value_coded 
          WHERE o.uuid='${dih.delta.id}' AND o.voided=0 AND cn1.voided=0"

            deltaQuery="select o.uuid as id from openmrs.obs o 
            inner join concept_name cn on cn.concept_id = o.concept_id
            where person_id='${dataimporter.request.personId}'
            AND o.voided=0 AND cn.voided=0
            AND o.date_created &gt; '${dataimporter.request.lastIndexTime}'"
            deletedPkQuery="select o.uuid as id from openmrs.obs o 
            inner join concept_name cn on cn.concept_id = o.concept_id
            where person_id='${dataimporter.request.personId}'
            AND (o.voided=1 OR cn.voided=1) AND o.date_voided &gt; '${dataimporter.request.lastIndexTime}'"
            >
        </entity> 
      <entity name="forms"
          query="SELECT f.uuid as form_uuid, form_id, f.name as form_name, date_created, et.name as encounter_type_name
            FROM openmrs.form f 
            INNER JOIN openmrs.encounter_type et ON et.encounter_type_id = f.encounter_type 
            WHERE f.retired = 0" 

          deltaImportQuery="SELECT f.uuid as form_uuid, form_id, f.name as form_name, date_created, et.name as encounter_type_name
            FROM openmrs.form f 
            INNER JOIN openmrs.encounter_type et ON et.encounter_type_id = f.encounter_type
            WHERE f.uuid='${dih.delta.id}' AND f.retired = 0"

            deltaQuery="select f.uuid as form_uuid from openmrs.form f
            INNER JOIN openmrs.encounter_type et ON et.encounter_type_id = f.encounter_type
            where f.retired = 0
            AND f.date_created &gt; '${dataimporter.request.lastIndexTime}'"
            deletedPkQuery="select f.uuid as form_uuid from openmrs.form f
            INNER JOIN openmrs.encounter_type et ON et.encounter_type_id = f.encounter_type
            where f.retired = 0
            AND f.date_voided &gt; '${dataimporter.request.lastIndexTime}'"
            >
        </entity> 
</document>

schema.xml中:

<field name="id" type="string" indexed="true" stored="true"
        required="true" />
    <field name="meta" type="boolean" indexed="true" stored="false"
        required="false" /> 
    <field name="obs_id" type="int" indexed="true" stored="true"
        required="false" />
    <field name="person_id" type="int" indexed="true" stored="true"
        required="false" />
    <field name="concept_name" type="string" indexed="true" stored="true" 
        required="false" />
    <field name="obs_datetime" type="date" indexed="true" stored="true"
        required="false" />
    <field name="value_boolean" type="text_general" indexed="true"
        stored="false" required="false" />
    <field name="value_datetime" type="text_general" indexed="true" stored="false"
        required="false" />
    <field name="obs_group_id" type="int" indexed="true" stored="true"
        required="false" />
    <field name="value_numeric" type="text_general" indexed="true" stored="false"
        required="false" />
    <field name="coded" type="string" indexed="true" stored="false"
        required="false" />
    <field name="value_text" type="text_general" indexed="true"
        stored="false" required="false" />

     <field name="form_uuid" type="string" indexed="true" stored="true"
        required="false" />
    <field name="form_id" type="int" indexed="true" stored="true"
        required="false" />
    <field name="form_name" type="text_general" indexed="true" stored="true"
        required="false" />
    <field name="encounter_type_name" type="text_general" indexed="true" stored="true"
        required="false" /> 
    <field name="date_created" type="date" indexed="true" stored="true"
        required="false" />

有人知道是什么問題嗎? 查詢很好。

我正在使用solrj 4.3.1版本。

謝謝。

看起來“ obs”正在工作,因為您正在使用唯一鍵:

o.uuid as id

您還需要類似的表格。 可能是:

f.something as id

沒有id鍵,您的文檔將被忽略,因為@Zouzias提到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM