Solr使用入門指南_第1頁
Solr使用入門指南_第2頁
Solr使用入門指南_第3頁
Solr使用入門指南_第4頁
Solr使用入門指南_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Solr使用入門指南由于搜索引擎功效在門戶社區(qū)中對提高顧客體驗(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)搜索。同第三方搜索引擎綁定太死,無法滿足后期業(yè)務(wù)擴(kuò)展需要,臨時不采用。3.基于Compass+Lucene實(shí)現(xiàn)站內(nèi)搜索。適合于對數(shù)據(jù)庫驅(qū)動的應(yīng)用數(shù)據(jù)進(jìn)行索引,特別是替代傳統(tǒng)的like‘%expression%’來實(shí)現(xiàn)對varchar或clob等字段的索引,對于實(shí)現(xiàn)站內(nèi)搜索是一種值得采納的方案。但在分布式解決、接口封裝上尚需要自己進(jìn)行一定程度的封裝,臨時不采用。4.基于Solr實(shí)現(xiàn)站內(nèi)搜索。封裝及擴(kuò)展性較好,提供了較為完備的解決方案,因此在門戶社區(qū)中采用此方案,后期加入Compass方案。1、Solr介紹Solr是一種基于Lucene的Java搜索引擎服務(wù)器。Solr提供了層面搜索、命中醒目顯示并且支持多個輸出格式(涉及XML/XSLT和JSON格式)。它易于安裝和配備,并且附帶了一種基于HTTP的管理界面。Solr已經(jīng)在眾多大型的網(wǎng)站中使用,較為成熟和穩(wěn)定。Solr包裝并擴(kuò)展了Lucene,因此Solr的基本上沿用了Lucene的有關(guān)術(shù)語。更重要的是,Solr創(chuàng)立的索引與Lucene搜索引擎庫完全兼容。通過對Solr進(jìn)行適宜的配備,某些狀況下可能需要進(jìn)行編碼,Solr能夠閱讀和使用構(gòu)建到其它Lucene應(yīng)用程序中的索引。另外,諸多Lucene工具(如Nutch、Luke)也能夠使用Solr創(chuàng)立的索引。2、Tomcat下Solr安裝配備由于Solr基于java開發(fā),因此Solr在windows及Linux都能較好布署使用,但由于Solr提供了某些用于測試及管理、維護(hù)較為方便的shell腳本,因此在生產(chǎn)布署時候建議安裝在Linux上,測試時候能夠在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的安裝配備最為麻煩的是對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由于在此種狀況下(沒有設(shè)定solr.solr.home環(huán)境變量或JNDI的狀況下),Solr查找./solr,因此在啟動時候需要切換到/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>

訪問solr管理界面http://ip:port/solr3、Solr原理Solr對外提供原則的http接口來實(shí)現(xiàn)對數(shù)據(jù)的索引的增加、刪除、修改、查詢。在Solr中,顧客通過向布署在servlet容器中的SolrWeb應(yīng)用程序發(fā)送HTTP請求來啟動索引和搜索。Solr接受請求,擬定要使用的適宜SolrRequestHandler,然后解決請求。通過HTTP以同樣的方式返回響應(yīng)。默認(rèn)配備返回Solr的原則XML響應(yīng),也能夠配備Solr的備用響應(yīng)格式。能夠向Solr索引servlet傳遞四個不同的索引請求:add/update允許向Solr添加文檔或更新文檔。直到提交后才干搜索到這些添加和更新。commit告訴Solr,應(yīng)當(dāng)使上次提交以來所做的全部更改都能夠搜索到。optimize重構(gòu)Lucene的文獻(xiàn)以改善搜索性能。索引完畢后執(zhí)行一下優(yōu)化普通比較好。如果更新比較頻繁,則應(yīng)當(dāng)在使用率較低的時候安排優(yōu)化。一種索引無需優(yōu)化也能夠正常地運(yùn)行。優(yōu)化是一種耗時較多的過程。delete能夠通過id或查詢來指定。按id刪除將刪除含有指定id的文檔;按查詢刪除將刪除查詢返回的全部文檔。一種典型的Add請求報文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>

一種典型的搜索成果報文: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的具體使用闡明,請參考4、Solr測試使用Solr的安裝包包含了有關(guān)的測試樣例,途徑在apache-solr-1.2.0/example/exampledocs1.使用shell腳本(curl)測試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包測試Solr的操作:查看協(xié)助:java-jarpost.jar–help提交測試數(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)立增加索引請求的xml測試文獻(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)提交索引請求cdapache-solr-1.2.0/example/exampledocs./post.shliangchuan.xml4)查詢通過solr的管理員界面http://localhost:8080/solr/admin查詢或通過curl測試:exportURL="http://localhost:8080/solr/select/"curl"$URL?indent=on&q=liangchuan&fl=*,score"5、Solr查詢條件參數(shù)闡明參數(shù)

描述

示例q

Solr中用來搜索的查詢。能夠通過追加一種分號和已索引且未進(jìn)行斷詞的字段的名稱來包含排序信息。默認(rèn)的排序是scoredesc,指按記分降序排序。

q=myField:JavaANDotherField:developerWorks;dateasc此查詢搜索指定的兩個字段并根據(jù)一種日期字段對成果進(jìn)行排序。start

將初始偏移量指定到成果集中??捎糜趯Τ晒M(jìn)行分頁。默認(rèn)值為0。

start=15返回從第15個成果開始的成果。rows

返回文檔的最大數(shù)目。默認(rèn)值為10。

rows

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論