centos 7 安裝solr7.3.0 配置mysql

來源:互聯網
上載者:User

標籤:art   資料類型   def   bin   其他   source   名稱   url   products   

1、下載solr :wget http://archive.apache.org/dist/lucene/solr/7.3.0/solr-7.3.0.tgz   或者去官網自己下:http://archive.apache.org/dist/lucene/solr/  找下面圖片字樣點進去選版本

2、解壓solr   命令:tar -zxvf solr-7.3.0.tgz -C /usr/local/software/   -C指定解壓到的路徑

 3、啟動solr 命令: bin/solr start -force  在此之前有兩種做法  (1、直接啟動 但會報錯  它會建立一個目錄   2、先建立目錄,再添加core   這裡要注意兩個位置要和你建立的core名保持一致)

3.1 找到如下路徑建立一個目錄  沒有ftp  就用命令進入解壓solr位置下的/ server/solr  建立自訂目錄  這個目錄就等價於4.10.3下solrHome下的core 

3.2  複製如下路徑的兩個檔案夾到   3.1  步驟  你建立的目錄下 (這個具體是那個有點暈  查了很多資料說了很多目錄我也不知道用那個但是注意conf目錄裡面的東西)

 

 以上sorl基本配置就完成了  驗證是否成功 看就行   如果沒有表示的地方說明沒成功

4、配置中文分析器  下載中文分析器ik-analyzer-solr7-7.x.jar  添加到   /usr/local/software/solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib  下  據說有內建的不知道怎麼配置

5、開啟managed-schema 配置配置如下代碼

<fieldType name="text_ik" class="solr.TextField">  <analyzer type="index">      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>      <filter class="solr.LowerCaseFilterFactory"/>  </analyzer>  <analyzer type="query">      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>      <filter class="solr.LowerCaseFilterFactory"/>  </analyzer></fieldType>  

 

6、重啟solr 命令:bin/solr restart -force 

7、配置mysql    solr-dataimporthandler-7.3.0.jar 和 solr-dataimporthandler-extras-7.3.0.jar 和mysql-connector-java-5.1.46.jar放到solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib

mysql自己下   solr-dataimporthandler-7.3.0.jar 和 solr-dataimporthandler-extras-7.3.0.jar  在/solr-7.3.0/dist下面有複製到solr-7.3.0/server/solr-webapp/webapp/WEB-INF/lib

8、進入你建立的core/conf   開啟managed-schema  命令:vi solrconfig.xml 在requestHandler 最後面添加以下代碼即可

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">      <lst name="defaults">        <str name="config">data-config.xml</str>      </lst>    </requestHandler>

 

9、在同級目錄下建立   data-config.xml  內容如下

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr"
user="root"
password="root"/>
<document>

<!-- query中寫SQL語句 -->
<entity name="product"
query="SELECT pid,name,catalog,catalog_name,price,description,picture FROM products ">

<!-- column對應資料庫中的列名,name為對應的網域名稱(在scheme中沒有的話需要配置,即設定業務系統域), 這是一個映射關係 -->

<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<field column="catalog" name="product_catalog"/>
<field column="catalog_name" name="product_catalog_name"/>
<field column="price" name="product_price"/>
<field column="description" name="product_description"/>
<field column="picture" name="product_picture"/>
</entity>
</document>

</dataConfig>

 

10、 編寫managed_schema

managed_schema裡面定義了很多域,其實是使用了lucene中的域。 
什麼是域?域的作用是定義一個solr索引裡面的欄位是什麼類型,能做什麼,怎麼做。有點類似資料庫中欄位的類型。但表示的含義更加的豐富。

在managed_schema後面添加如下代碼:


<!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_catalog" type="string" indexed="true" stored="true"/>
<field name="product_catalog_name" type="string" indexed="true" stored="true" />
<field name="product_price" type="pfloat" 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_keywords" type="text_ik" indexed="true" stored="false" mult iValued="true"/>

name是這個域的名稱,在整個managed_schema檔案裡面需要唯一,不能重複,這裡定義成跟資料庫表欄位的名稱,方便使用。當然,也可以定義成其他名字。 
type是表示這個欄位的類型是什麼,string是字串類型,int是整形資料類型,date是時間類型,相當於資料庫裡面的timestamp。 
indexed表示是否索引,索引的話就能查詢到,否則,搜尋的時候,不會出現。 
stored表示是否儲存到索引庫裡面。
11、測試是否成功


 12、停止solr 命令:bin/solr stop -all

13、卸載solr  直接刪除solr根目錄 重啟虛擬機器

centos 7 安裝solr7.3.0 配置mysql

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。