地址 http://archive.apache.org/dist/lucene/solr/7.6.0/
進入solr壓縮包存放的文件夾
解壓命令: tar -zxvf solr-7.6.0.tgz
一般我們會將自己安裝的軟件放在usr/local文件夾中
先在usr/local下創(chuàng)建solr文件夾
然后移動文件
進入usr/local/solr文件夾查看時候操作成功
?
? 5.1 進入 solr-7.6.0/bin文件夾
?
? 5.2輸入啟動命令 ./solr start, 會顯示進程限制的警告信息
? 5.3 通過修改solr.in.sh文件取消進程限制
將SOLR_ULIMIT_CHECKS改為false
? 5.4 重啟啟動服務(wù),可能會出現(xiàn)如圖警告
?
? 5.5 使用 ./solr restart -force 方式啟動,出現(xiàn)Happy searching 代表啟動成功.
?
? windows系統(tǒng)或linux系統(tǒng)瀏覽器上 輸入192.168.1.4:8983/solr訪問
? 注意ip用你自己的linux服務(wù)器的ip
?
在solr中,每一個core代表一個索引庫,里面保存索引數(shù)據(jù)以及配置信息
solr中可以有多個core,也就相當于mysql服務(wù)器下可以多個數(shù)據(jù)庫
在solr-7.6.0/server/solr 文件夾下創(chuàng)建一個core文件夾 ,取名為goods
?
? 將solr-7.6.0/server/solr/configsets/_default下的conf文件復(fù)制一份到goods文件夾下
? 我這里是進入到_default文件夾后復(fù)制(哪個目錄都可以復(fù)制,注意路徑就可以)
?
solr默認不支持中文分詞
? 下載的ik-analyzer-7.6.0.jar(之前windows里下載的拿過來用就可以,沒有的找呆萌老師2398779723),上傳到linux服務(wù)器
并復(fù)制到solr-webapp/webapp/WEB-INF/lib 目錄中
? 輸入命令 vim server/solr/goods/conf/managed-schema 進入編輯狀態(tài)
?
? 添加如下內(nèi)容到managed-schema文件中,并保存退出
<!-- ik分詞器 -->
<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>
進入bin文件夾,輸入命令 ./solr restart -force
這里需要導(dǎo)入下載的mysql驅(qū)動包和solr-7.6.0/dist下的dataimporthandler-7.6.0.jar和dataimporthandler-extras-7.6.0.jar
先將mysql驅(qū)動包上傳到linux
再復(fù)制到solr-7.6.0/server/solr-webapp/webapp/WEB-INF/lib下
進入solr-7.6.0/dist文件夾,復(fù)制dataimporthandler-7.6.0.jar和dataimporthandler-extras-7.6.0.jar
先在goods/conf文件夾下創(chuàng)建mysql-db文件夾
再在mysql-db文件夾中創(chuàng)建data-config.xml文件
添加如下內(nèi)容,并保存退出
注意 <?xml 前面不能有空格
<?xml version="1.0" encoding="utf-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.4:3306/sc"
user="root"
password="Daimeng666="
/>
<document>
<entity name="goods" query="select goods_id,goods_name,sales_price,goods_img from goods">
<field column="goods_id" name="id" />
<field column="goods_name" name="goodsName" />
<field column="sales_price" name="salesPrice" />
<field column="goods_img" name="goodsImg" />
</entity>
</document>
</dataConfig>
進入goods/conf文件夾,輸入vim進去編輯狀態(tài)
在goods/conf/managed-schema文件中添加
注意: id,version,root 不能刪除, text 不需要 可以刪除
? 這里的id代表goodsId,不能改為goodsId
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<!-- docValues are enabled by default for long type so we don't need to index the version field -->
<field name="_version_" type="plong" indexed="false" stored="false"/>
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
<field name="goodsName" type="text_ik" indexed="true" stored="true" multiValued="false" />
<field name="salesPrice" type="plong" indexed="true" stored="true" multiValued="false" />
<field name="goodsImg" type="string" indexed="true" stored="true" multiValued="false" />
保存并退出
? 在goods/conf/solrconfig.xml文件中添加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-db/data-config.xml</str>
</lst>
</requestHandler>
Solr是一個高性能,基于Lucene的企業(yè)級全文搜索服務(wù)器。提供了比Lucene更為豐富的查詢語言,同時實現(xiàn)了可配置、可擴展并對查詢性能進行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。
之前社工褲搭建的時候接觸過,客戶體驗滿分,簡單說下使用感受,4E數(shù)據(jù)MSSQL查詢7-10分鐘,solr的查詢速度20-30s,所以說solr的查詢速度還是數(shù)據(jù)庫所無法達到的。
solr官方下載地址:http://lucene.apache.org/solr/downloads.htmlsolr舊版本下載地址:http://archive.apache.org/dist/lucene/solr
solr5之后安裝方法類似,如果你從網(wǎng)上看到solr>5依然在使用tomcat部署的文章,請果斷alt+F4,solr5之后集成了jetty,不再依賴tomcat部署。
因為本次搭建的需要,選擇6.0版本為例,與最新8.1版本類似。
Solr部署
下載并解壓:
tar zxvf solr-6.0.0.tgz
cd到bin目錄下:
其中install_solr_service.sh效果為把solr安裝為服務(wù),開機自動運行,我們此次直接運行。
./solr start -p 1988
至此,我們的solr已經(jīng)部署完畢了,并沒有網(wǎng)上教程那般繁瑣。
Core創(chuàng)建
然而此時的solr并不能正常使用,還需要創(chuàng)建核心。
Core是Solr特有的概念,core術(shù)語是用來指代一個單獨的索引、關(guān)聯(lián)的事務(wù)日志以及一些配置文件(包括schema.xml和solrconfig.xml等等),如果你需要的話,在安裝solr的時候你可以創(chuàng)建多個core,多core模式允許你在同一臺服務(wù)器上使用不同的結(jié)構(gòu)來索引你的數(shù)據(jù)以及在如何把索引數(shù)據(jù)展現(xiàn)給不同的用戶方面提供了更多的控制。
如果不夠形象,你可以把Core看作一個數(shù)據(jù)表,solr這個數(shù)據(jù)庫中有多張表,schema.xml即表結(jié)構(gòu)配置文件,emmmm,這么理解形象點。
首先在solr-6.0.0/server/solr/新建一個文件夾,命名即為Core_name,此處我們命名為rabbit,在它下面創(chuàng)建data文件夾用以存放數(shù)據(jù)。然后
把solr-6.0.0/example/example-DIH/solr/db/下的conf文件夾拷貝到solr-6.0.0/server/solr/rabbit/下面,作為我們的配置文件,大家根據(jù)需求對樣例文件進行修改,solrconfig.xml文件是自帶的,schema.xml需要大家自己創(chuàng)建,可以拷貝managed-schema文件重命名為solrconfig.xml,然后根據(jù)表結(jié)構(gòu)需求進行更改,另外還需要配置solr的同步所需數(shù)據(jù)源,同conf目錄下db-data-config.xml文件。
綜上,配置solrconfig.xml、db-data-config.xml、schema.xml三個文件即可保證基本使用。
對應(yīng)我們Solr服務(wù)器端配置如下填寫Add Core:
基本的查詢功能可以借助Core自帶的Query模塊:
當然也可以使用http請求進行直接訪問:
本章內(nèi)容相對簡單粗糙,在后邊大數(shù)據(jù)平臺搭建時展開對配置參數(shù)細節(jié)講解,本章內(nèi)容純粹為Solr相關(guān)漏洞復(fù)現(xiàn)做基礎(chǔ),敬請期待。
最后,我自己是一名從事了多年開發(fā)的Java老程序員,辭職目前在做自己的Java私人定制課程,今年年初我花了一個月整理了一份最適合2019年學(xué)習(xí)的Java學(xué)習(xí)干貨,可以送給每一位喜歡Java的小伙伴,想要獲取的可以關(guān)注我的頭條號并在后臺私信我:01,即可免費獲取。