solr中配置域


1、域相當於數據庫的表字段,用戶存放數據,因此用戶根據業務需要去定義相關的Field(域),一般來說,每一種對應着一種數據,用戶對同一種數據進行相同的操作。

域的常用屬性:

  • name指定域的名稱
  • type指定域的類型
  • indexed是否索引
  • stored是否存儲
  • required是否必須
  • multiValued是否多值

 

2、修改solrhome/collection1/conf/schema.xml

修改solrhomeschema.xml 文件  設置業務系統 Field,普通域

 

<!--IKAnalyzer Field-->
<field name="content_ik" type="text_ik" indexed="true" stored="true" /> 
<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<field name="item_seller" type="text_ik" indexed="true" stored="true" />
<field name="item_brand" type="string" indexed="true" stored="true" />
<field name="item_updatetime" type="date" indexed="true" stored="true" />

 

 

 

復制域:

復制域的作用在於將某一個Field中的數據復制到另一個域中

 

source:原來域
          dest:指定域(即:將原來域復制到該指定域)
復制域常用於多域搜索,如:電商項目中搜索商品,既要在標題域中搜索也要在分類域中搜索,傳統的做法需要手工寫兩次,而solr想發送一次請求,可到兩個域中搜索,為此,引入了復制域的概念,將兩個域的域名復制到一個text文本域中。

 

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/>

 

動態域:

當我們需要動態擴充字段時,我們需要使用動態域。對於優樂選,規格的值是不確定的,所以我們需要使用動態域來實現。需要實現的效果如下:

<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM