簡體   English   中英

Solr 數據導入處理程序中文檔的靜態字段

[英]Static field for document in Data Import Handlerfor Solr

我通過以下方式從 db 在 solr 中創建索引:

<document name="Index">  

<entity name="c" query="SELECT * FROM C">  

  <field column="Name" name="name"/>  

</entity>  

<entity name="p" query="SELECT * FROM P">  

  <field column="Name" name="name"/>  

</entity>  

</document>  

是否可以為每一行設置一個靜態字段,表示返回給客戶端的類型,以便可以根據來自 json 結果的信息調用正確的數據庫表?

這是表中沒有列的字段

<field name="id" value="1"/> 

或者有其他方法可以解決這個問題嗎?

<document name="Index">  
<entity name="c" transformer="TemplateTransformer" query="SELECT * FROM C">  
  <field column="Name" name="name"/>  
  <field column="id" template="1"/>  
</entity>  
<entity name="p" transformer="TemplateTransformer" query="SELECT * FROM P">  
  <field column="Name" name="name"/>  
  <field column="id" template="1"/>  
</entity>  
</document> 

您可以向包含靜態數據的 SQL 查詢添加一列,如下所示:

<document name="Index">  
  <entity name="c" query="SELECT *, 'foo' as NameFromC FROM C">  
    <field column="NameFromC" name="name"/>
  </entity>

  <entity name="p" query="SELECT *, 'bar' as NameFromP FROM P">  
    <field column="NameFromP" name="name"/>
  </entity>  
</document>

如果您嘗試添加僅具有nametemplate屬性的字段,Solr 將拋出錯誤,指出Field must have a column attribute

暫無
暫無

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

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