Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在一个核心Apache SOLR中索引多个实体_Php_Solr - Fatal编程技术网

Php 在一个核心Apache SOLR中索引多个实体

Php 在一个核心Apache SOLR中索引多个实体,php,solr,Php,Solr,我在为一个集合中的多个实体编制索引时遇到困难。当我尝试索引时,只有最后定义的实体得到索引 以下是配置文件: data-config.xml schema.xml 单键 我无法为表1编制索引,相反,表2和表3(它们是1对多关系表)正在编制索引,但表1未编制索引。通过在表1中添加以下行解决了此问题: <entity name="table1" pk="table1_id" dataSource="ds-1" transformer="HTMLStripTransformer

我在为一个集合中的多个实体编制索引时遇到困难。当我尝试索引时,只有最后定义的实体得到索引

以下是配置文件: data-config.xml

schema.xml

单键

我无法为表1编制索引,相反,表2和表3(它们是1对多关系表)正在编制索引,但表1未编制索引。

通过在表1中添加以下行解决了此问题:

<entity name="table1" 
pk="table1_id" 
dataSource="ds-1"   
transformer="HTMLStripTransformer,RegexTransformer,TemplateTransformer,DateForma    tTransformer,script:GenerateId,LogTransformer"            
logTemplate="The demo is ${table1.table1_id}" 
logLevel="info"
query="select table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') from table1 Where table1_flag=1 AND '${dih.request.clean}' != 'false' OR table1_date_updated &gt; '${dih.table1.last_index_time}'" 
deltaImportQuery="select table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') as table1_date_updated from table1 Where table1_id='${dih.delta.id}'"
deltaQuery="select  table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') as table1_date_updated from table1 Where table1_date_updated &gt; '${dih.table1 .last_index_time}'"
preImportDeleteQuery="select table1_id from table1  where table1_date_updated &gt; '${dih.table1 .last_index_time}'" 
>               
<field column="doc_id" name="singlekey" /> 
<field column="doc_type" template="TABLE1" name="doc_type" /> 
<field column="table1_desc" name="solr_table1_desc_en" stripHTML="true"/> 
<field column="table1_date_updated" name="solr_table1_date_updated_dt" dateTimeFormat="yyyy-MM-dd'T'HH:mm:ss" locale="en" /> 
</entity>

<field name="singlekey" type="string" required="true" multiValued="false" /> 
<field name="doc_type" type="string"  multiValued="false" />

<uniqueKey>singlekey</uniqueKey>

<field name="table1_desc_en"  type="text_auto" indexed="true" stored="true"  multiValued="false"  />
<field name="table1_date_updated_dt" type="date" indexed="true" stored="true"  multiValued="false"  />


<field name="table2_name" type="text_ws" indexed="true" stored="true" />
<field name="table3_name" type="text_ws" indexed="true" stored="true" multiValued="true" />
<field name="table3_desc"   type="text_en_splitting" indexed="true" stored="true" multiValued="true" />
<field name="table3_subdesc" type="text_en" indexed="true" stored="true" multiValued="true" />
<field name="table3_keyword" type="text_en" indexed="true" stored="true" multiValued="true" />
<field name="table3_date_updated_dt" type="date" indexed="true" multiValued="false" stored="true" />
<entity name="table1" 
pk="table1_id" 
dataSource="ds-1"   
transformer="HTMLStripTransformer,RegexTransformer,TemplateTransformer,DateForma    tTransformer,script:GenerateId,LogTransformer"            
logTemplate="The demo is ${table1.table1_id}" 
logLevel="info"
query="select table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') from table1 Where table1_flag=1 AND '${dih.request.clean}' != 'false' OR table1_date_updated &gt; '${dih.table1.last_index_time}'" 
deltaImportQuery="select table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') as table1_date_updated from table1 Where table1_id='${dih.delta.id}'"
deltaQuery="select  table1_id,table1_desc,table1_flag,DATE_FORMAT(table1_date_updated,'%Y-%m-%dT%TZ') as table1_date_updated from table1 Where table1_date_updated &gt; '${dih.table1 .last_index_time}'"
preImportDeleteQuery="select table1_id from table1  where table1_date_updated &gt; '${dih.table1 .last_index_time}'" 
>               
<field column="doc_id" name="singlekey" /> 
<field column="doc_type" template="TABLE1" name="doc_type" /> 
<field column="table1_desc" name="solr_table1_desc_en" stripHTML="true"/> 
<field column="table1_date_updated" name="solr_table1_date_updated_dt" dateTimeFormat="yyyy-MM-dd'T'HH:mm:ss" locale="en" /> 
</entity>