版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Solr使用入門指南由于搜索引擎功效在門戶社區(qū)中對(duì)提高顧客體驗(yàn)有著重在門戶社區(qū)中涉及大量需要搜索引擎的功效需求,現(xiàn)在在實(shí)現(xiàn)搜索引擎的方案上有集中方案可供選擇:1.基于Lucene自己進(jìn)行封裝實(shí)現(xiàn)站內(nèi)搜索。工作量及擴(kuò)展性都較大,不采用。2.調(diào)用谷歌、百度的API實(shí)現(xiàn)站內(nèi)搜索。同第三方搜索引擎綁定太死,無(wú)法滿足后期業(yè)務(wù)擴(kuò)展需要,臨時(shí)不采用。3.基于Compass+Lucene實(shí)現(xiàn)站內(nèi)搜索。適合于對(duì)數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用數(shù)據(jù)進(jìn)行索引,特別是替代傳統(tǒng)的like‘%expression%’來(lái)實(shí)現(xiàn)對(duì)varchar或clob等字段的索引,對(duì)于實(shí)現(xiàn)站內(nèi)搜索是一種值得采納的方案。但在分布式解決、接口封裝上尚需要自己進(jìn)行一定程度的封裝,臨時(shí)不采用。4.基于Solr實(shí)現(xiàn)站內(nèi)搜索。封裝及擴(kuò)展性較好,提供了較為完備的解決方案,因此在門戶社區(qū)中采用此方案,后期加入Compass方案。1、Solr介紹Solr是一種基于Lucene的Java搜索引擎服務(wù)器。Solr提供了層面搜索、命中醒目顯示并且支持多個(gè)輸出格式(涉及XML/XSLT和JSON格式)。它易于安裝和配備,并且附帶了一種基于HTTP的管理界面。Solr已經(jīng)在眾多大型的網(wǎng)站中使用,較為成熟和穩(wěn)定。Solr包裝并擴(kuò)展了Lucene,因此Solr的基本上沿用了Lucene的有關(guān)術(shù)語(yǔ)。更重要的是,Solr創(chuàng)立的索引與Lucene搜索引擎庫(kù)完全兼容。通過(guò)對(duì)Solr進(jìn)行適宜的配備,某些狀況下可能需要進(jìn)行編碼,Solr能夠閱讀和使用構(gòu)建到其它Lucene應(yīng)用程序中的索引。另外,諸多Lucene工具(如Nutch、Luke)也能夠使用Solr創(chuàng)立的索引。2、Tomcat下Solr安裝配備由于Solr基于java開(kāi)發(fā),因此Solr在windows及Linux都能較好布署使用,但由于Solr提供了某些用于測(cè)試及管理、維護(hù)較為方便的shell腳本,因此在生產(chǎn)布署時(shí)候建議安裝在Linux上,測(cè)試時(shí)候能夠在windows使用。下面以Linux下安裝配備Solr進(jìn)行闡明,windows與這類似。wgetunzipapache-tomcat-6.0.16.zipmvapache-tomcat-6.0.16/opt/tomcatchmod755/opt/tomcat/bin/*wgettarzxvfapache-solr-1.2.0.tgzSolr的安裝配備最為麻煩的是對(duì)solr.solr.home的理解和配備,重要有三種基于現(xiàn)在途徑的方式cpapache-solr-1.2.0/dist/apache-solr-1.2.0.war/opt/tomcat/webapps/solr.warmkdir/opt/solr-tomcatcp-rapache-solr-1.2.0/example/solr//opt/solr-tomcat/cd/opt/solr-tomcat/opt/tomcat/bin/startup.sh由于在此種狀況下(沒(méi)有設(shè)定solr.solr.home環(huán)境變量或JNDI的狀況下),Solr查找./solr,因此在啟動(dòng)時(shí)候需要切換到/opt/solr-tomcat基于環(huán)境變量solr.solr.home在現(xiàn)在顧客的環(huán)境變量中(.bash_profile)或在/opt/tomcat/catalina.sh中添加以下環(huán)境變量exportJAVA_OPTS="$JAVA_OPTS-Dsolr.solr.home=/opt/solr-tomcat/solr"基于JNDI配備mkdir–p/opt/tomcat/conf/Catalina/localhosttouch/opt/tomcat/conf/Catalina/localhost/solr.xml,內(nèi)容以下:Xml代碼<Context
docBase="/opt/tomcat/webapps/solr.war"
debug="0"
crossContext="true"
>
<Environment
name="solr/home"
type="java.lang.String"
value="/opt/solr-tomcat/solr"
override="true"
/>
</Context>
訪問(wèn)solr管理界面http://ip:port/solr3、Solr原理Solr對(duì)外提供原則的http接口來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的索引的增加、刪除、修改、查詢。在Solr中,顧客通過(guò)向布署在servlet容器中的SolrWeb應(yīng)用程序發(fā)送HTTP請(qǐng)求來(lái)啟動(dòng)索引和搜索。Solr接受請(qǐng)求,擬定要使用的適宜SolrRequestHandler,然后解決請(qǐng)求。通過(guò)HTTP以同樣的方式返回響應(yīng)。默認(rèn)配備返回Solr的原則XML響應(yīng),也能夠配備Solr的備用響應(yīng)格式。能夠向Solr索引servlet傳遞四個(gè)不同的索引請(qǐng)求:add/update允許向Solr添加文檔或更新文檔。直到提交后才干搜索到這些添加和更新。commit告訴Solr,應(yīng)當(dāng)使上次提交以來(lái)所做的全部更改都能夠搜索到。optimize重構(gòu)Lucene的文獻(xiàn)以改善搜索性能。索引完畢后執(zhí)行一下優(yōu)化普通比較好。如果更新比較頻繁,則應(yīng)當(dāng)在使用率較低的時(shí)候安排優(yōu)化。一種索引無(wú)需優(yōu)化也能夠正常地運(yùn)行。優(yōu)化是一種耗時(shí)較多的過(guò)程。delete能夠通過(guò)id或查詢來(lái)指定。按id刪除將刪除含有指定id的文檔;按查詢刪除將刪除查詢返回的全部文檔。一種典型的Add請(qǐng)求報(bào)文Xml代碼<add>
<doc>
<field
name="id">TWINX2048-3200PRO</field>
<field
name="name">CORSAIR
XMS
2GB
(2
x
1GB)
184-Pin
DDR
SDRAM
Unbuffered
DDR
400
(PC
3200)
Dual
Channel
Kit
System
Memory
-
Retail</field>
<field
name="manu">Corsair
Microsystems
Inc.</field>
<field
name="cat">electronics</field>
<field
name="cat">memory</field>
<field
name="features">CAS
latency
2,
2-3-3-6
timing,
2.75v,
unbuffered,
heat-spreader</field>
<field
name="price">185</field>
<field
name="popularity">5</field>
<field
name="inStock">true</field>
</doc>
<doc>
<field
name="id">VS1GB400C3</field>
<field
name="name">CORSAIR
ValueSelect
1GB
184-Pin
DDR
SDRAM
Unbuffered
DDR
400
(PC
3200)
System
Memory
-
Retail</field>
<field
name="manu">Corsair
Microsystems
Inc.</field>
<field
name="cat">electronics</field>
<field
name="cat">memory</field>
<field
name="price">74.99</field>
<field
name="popularity">7</field>
<field
name="inStock">true</field>
</doc>
</add>
一種典型的搜索成果報(bào)文:Xml代碼<response>
<lst
name="responseHeader">
<int
name="status">0</int>
<int
name="QTime">6</int>
<lst
name="params">
<str
name="rows">10</str>
<str
name="start">0</str>
<str
name="fl">*,score</str>
<str
name="hl">true</str>
<str
name="q">content:"faceted
browsing"</str>
</lst>
</lst>
<result
name="response"
numFound="1"
start="0"
maxScore="1.058217">
<doc>
<float
name="score">1.058217</float>
<arr
name="all">
<str>http://localhost/myBlog/solr-rocks-again.html</str>
<str>Solr
is
Great</str>
<str>solr,lucene,enterprise,search,greatness</str>
<str>Solr
has
some
really
great
features,
like
faceted
browsing
and
replication</str>
</arr>
<arr
name="content">
<str>Solr
has
some
really
great
features,
like
faceted
browsing
and
replication</str>
</arr>
<date
name="creationDate">-01-07T05:04:00.000Z</date>
<arr
name="keywords">
<str>solr,lucene,enterprise,search,greatness</str>
</arr>
<int
name="rating">8</int>
<str
name="title">Solr
is
Great</str>
<str
name="url">http://localhost/myBlog/solr-rocks-again.html</str>
</doc>
</result>
<lst
name="highlighting">
<lst
name="http://localhost/myBlog/solr-rocks-again.html">
<arr
name="content">
<str>Solr
has
some
really
great
features,
like
<em>faceted</em>
<em>browsing</em>
and
replication</str>
</arr>
</lst>
</lst>
</response>
有關(guān)solr的具體使用闡明,請(qǐng)參考4、Solr測(cè)試使用Solr的安裝包包含了有關(guān)的測(cè)試樣例,途徑在apache-solr-1.2.0/example/exampledocs1.使用shell腳本(curl)測(cè)試Solr的操作:cdapache-solr-1.2.0/example/exampledocsvipost.sh,根據(jù)tomcat的ip、port修改URL變量的值URL=http://localhost:8080/solr/update./post.sh*.xml
#2.使用Solr的java包測(cè)試Solr的操作:查看協(xié)助:java-jarpost.jar–help提交測(cè)試數(shù)據(jù):java-Durl=http://localhost:8080/solr/update-Ddata=files-jarpost.jar
*.xml
下面以增加索引字段liangchuan、url為例,闡明一下Solr中索引命令的使用1)修改solr的schema,配備需要索引字段的闡明:vi/opt/solr-tomcat/solr/conf/schema.xml,在<fields>中增加以下內(nèi)容Xml代碼<field
name="liangchuan"
type="string"
indexed="true"
stored="true"/>
<field
name="url"
type="string"
indexed="true"
stored="true"/>
[xml]\o"viewplain"viewplain\o"copy"copy<field
name="liangchuan"
type="string"
indexed="true"
stored="true"/>
<field
name="url"
type="string"
indexed="true"
stored="true"/>
2)創(chuàng)立增加索引請(qǐng)求的xml測(cè)試文獻(xiàn)touch/root/apache-solr-1.2.0/example/exampledocs/liangchuan.xml,內(nèi)容以下:Xml代碼<add>
<doc>
<field
name="id">liangchuan000</field>
<field
name="name">Solr,
the
Enterprise
Search
Server</field>
<field
name="manu">Apache
Software
Foundation</field>
<field
name="liangchuan">liangchuan's
solr
"hello,world"
test</field>
<field
name="url"></field>
</doc>
</add>
3)提交索引請(qǐng)求cdapache-solr-1.2.0/example/exampledocs./post.shliangchuan.xml4)查詢通過(guò)solr的管理員界面http://localhost:8080/solr/admin查詢或通過(guò)curl測(cè)試:exportURL="http://localhost:8080/solr/select/"curl"$URL?indent=on&q=liangchuan&fl=*,score"5、Solr查詢條件參數(shù)闡明參數(shù)
描述
示例q
Solr中用來(lái)搜索的查詢。能夠通過(guò)追加一種分號(hào)和已索引且未進(jìn)行斷詞的字段的名稱來(lái)包含排序信息。默認(rèn)的排序是scoredesc,指按記分降序排序。
q=myField:JavaANDotherField:developerWorks;dateasc此查詢搜索指定的兩個(gè)字段并根據(jù)一種日期字段對(duì)成果進(jìn)行排序。start
將初始偏移量指定到成果集中??捎糜趯?duì)成果進(jìn)行分頁(yè)。默認(rèn)值為0。
start=15返回從第15個(gè)成果開(kāi)始的成果。rows
返回文檔的最大數(shù)目。默認(rèn)值為10。
rows
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工承包合同協(xié)議范本格式格式模板
- 贛州房屋買賣合同條款
- 沙石運(yùn)輸業(yè)務(wù)協(xié)議書(shū)
- 石材采購(gòu)合同文本
- 砌筑分包工程勞務(wù)合同模板
- 廣告服務(wù)合同的共贏策略
- 建設(shè)項(xiàng)目運(yùn)營(yíng)移交合同的履行要點(diǎn)
- 大學(xué)生貸款助學(xué)的合同范本解析
- 牛只選購(gòu)合同
- 河道整治勞務(wù)分包合同
- LY/T 1863-2009自然保護(hù)區(qū)生態(tài)旅游評(píng)價(jià)指標(biāo)
- NB∕T 13007-2021 生物柴油(BD100)原料 廢棄油脂
- 肺結(jié)核患者管理結(jié)案評(píng)估表
- T-JSTJXH 15-2022 裝配式勁性柱-鋼梁框架結(jié)構(gòu)設(shè)計(jì)規(guī)程
- 市政工程人行道維修方案
- 2021離婚協(xié)議書(shū)電子版免費(fèi)
- 《班主任工作常規(guī)》課件
- 初中英語(yǔ)期末考試方法與技巧課件
- 四年級(jí)上冊(cè)綜合實(shí)踐試題-第一學(xué)期實(shí)踐考查卷 粵教版 含答案
- 油煙管道清洗服務(wù)承諾書(shū)
- 卷積神經(jīng)網(wǎng)絡(luò)講義課件
評(píng)論
0/150
提交評(píng)論