目錄java
添加一個文檔數據庫
查詢添加的文檔tomcat
以上詳細介紹了query裏面的參數詳解。性能
當不輸入任何條件時,進行查詢,看看返回結果。spa
返回了剛纔添加進去的文檔。3d
添加文檔時,咱們添加了id,title,content 分詞,那麼若是咱們想本身定義,該如何?code
{"id":"change.me","aaaaaa":"change.me"}
結果返回錯誤:xml
Status: error Error: Bad Request Error: { "responseHeader": { "status": 400, "QTime": 1 }, "error": { "msg": "ERROR: [doc=change.me] unknown field 'aaaaaa'", "code": 400 } }
不能發現 aaaaaa 這個filed!!blog
1.Schema.xml索引
schema.xml位於solr/conf/目錄下,相似於數據表配置文件,定義了加入索引的數據的數據類型,主要包括type、fields和其餘的一些缺省設置。
Field:域的定義
dynamicField:動態域
存儲的都是一些solr內置的字段。
能夠本身定義一些字段和類型
solr/collection1/conf
找到Schema.xml文件,進行添加
<!-- Anny 配置字段--> <field name="title_ik" type="text_ik" indexed="true" stored="true"/> <field name="content_ik" type="text_ik" indexed="true" stored="true" multiValued="true"/> <!-- IKAnalyzer- 配置類型-> 採用中文分詞器 <fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> <!--IKAnalyzer Field-->
配置步驟:
jar包下載地址:http://pan.baidu.com/s/1skphG9v
IKAnalyzer.cfg.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 擴展配置</comment> <!--用戶能夠在這裏配置本身的擴展字典 --> <entry key="ext_dict">ext.dic</entry> <!--用戶能夠在這裏配置本身的擴展中止詞字典--> <entry key="ext_stopwords">stopword.dic;</entry> </properties>
ext.dic配置文件
惠民
中商惠民www
baby
屌絲男士
野菊花
向日葵
菊花
葵花
注:若是文檔第一行的詞,沒有進行分詞處理,那麼就驗證了第一行不進行分詞。能夠空一行!
配置完畢後,進行重啓tomcat便可訪問。
將數據庫的字段建立類型和域
<!--product--> <field name="product_name" type="text_ik" indexed="true" stored="true"/> <field name="product_price" type="float" indexed="true" stored="true"/> <field name="product_description" type="text_ik" indexed="true" stored="false" /> <field name="product_picture" type="string" indexed="false" stored="true" /> <field name="product_catalog_name" type="string" indexed="true" stored="true" /> <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="product_name" dest="product_keywords"/> <copyField source="product_description" dest="product_keywords"/>
copyField域
<copyField source="product_name" dest="product_keywords"/> 建立索引product_name,複製到product_keywords裏面了。把多個域的關鍵詞複製到同一個域,多個域時,能夠放到一個域中。就不用定義那麼多域了。搜索比較方便。