Solr6.5.1環(huán)境搭建+相關命令+索引查詢

前言
最近在研究搜索引擎,準備搭建一套屬于自己的搜索APP,用于搜索的數(shù)據(jù)我已通過scrapy抓到本地了,現(xiàn)在需要一個搜索引擎來跑這些數(shù)據(jù).于是選擇了基于Lucene的solr來為我做搜索引擎的工作.時至今日最新版的solr為6.5.1,話不多說,開始干吧~

目錄

1.solr簡介
2.solr環(huán)境搭建
3.solr相關命令
4.solr索引查詢


1.solr簡介


solr 名稱來源
Search On Lucene Replication
solr 基本概況
Apache Solr (讀音: SOLer) 是一個開源的搜索服務器。Solr 使用 Java 語言開發(fā),主要基于 HTTP 和 Apache Lucene 實現(xiàn)。Apache Solr 中存儲的資源是以 Document 為對象進行存儲的。每個文檔由一系列的 Field 構成,每個 Field 表示資源的一個屬性。Solr 中的每個 Document 需要有能唯一標識其自身的屬性,默認情況下這個屬性的名字是 id,在 Schema 配置文件中使用:id進行描述。
Solr是一個高性能,采用Java開發(fā),基于Lucene的全文搜索服務器。文檔通過Http利用XML加到一個搜索集合中。查詢該集合也是通過 http收到一個XML/JSON響應來實現(xiàn)。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結果,通過索引復制來提高可用性,提 供一套強大Data Schema來定義字段,類型和設置文本分析,提供基于Web的管理界面等。

2.solr環(huán)境搭建

環(huán)境準備:

1.Ubuntu 16.04 LTS
http://releases.ubuntu.com/16.04/
2.Java JDK 1.8.0
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3.Solr 6.5.1
http://www.apache.org/dyn/closer.lua/lucene/solr/6.5.1

安裝/配置solr:

1、將下載下來的solr-6.5.1.tgz解壓

2、在*\下新建文件夾solr_home

3、在solr_home中新建文件夾solr_core

4、從solr-6.5.1\solr\server\solr下的三個文件copy到solr_home中

5、將\solr-6.5.1\solr\server\solr\configsets\basic_configs下的conf文件夾copy到solr_home\solr_core中

啟動solr

在solr解壓目錄運行:

bin/solr start 

Solr的默認web管理頁面地址為
http://localhost:8983


3.Solr相關命令

查看幫助

bin/solr -help     

啟動start

bin/solr start  -help    查看start幫助
bin/solr start           在默認端口啟動
bin/solr start -f        前臺啟動
bin/solr start -p 8984   指定端口啟動
bin/solr start -cloud    啟動分布式版本
bin/solr start -e cloud -noprompt         -e表示要啟動一個現(xiàn)有的例子,例子名稱是cloud,cloud這個例子是以SolrCloud方式啟動的
bin/solr restart         重啟項目

新建 core

 bin/solr create -c abc   創(chuàng)建一個名為<abc>的core

post提交數(shù)據(jù)生成索引

bin/post -c abc docs/   向名為<abc>的core或collection提交數(shù)據(jù),數(shù)據(jù)源在<docs/>目錄中

刪除

bin/solr delete -c abc     刪除一個名為<abc>的core或collection

刪除索引

bin/post -c abc  -d "<delete><query>*:*</query></delete>"     刪除<abc>core的所有數(shù)據(jù)
bin/post -c abc  -d "data to be deleted"       在<data to be deleted>處填寫你想要刪除的數(shù)據(jù)

停止solr

bin/solr stop -all 停止所有端口
bin/solr stop -p 8080 停止<8080>端口

狀態(tài)

bin/solr status 查看當前運行的所有solr端口

當然了,有一些命令在solr的web管理界面也能實現(xiàn),不管是黑貓白貓,只要能抓耗子的貓就是好貓.

4.solr索引查詢

一.基本查詢

    q     查詢的關鍵字,此參數(shù)最為重要,例如,q=id:1,默認為q=*:*,
    fl    指定返回哪些字段,用逗號或空格分隔,注意:字段區(qū)分大小寫,例如,fl= id,title,sort
    start 返回結果的第幾條記錄開始,一般分頁用,默認0開始
    rows  指定返回結果最多有多少條記錄,默認值為 10,配合start實現(xiàn)分頁
    sort  排序方式,例如id  desc 表示按照 “id” 降序
    wt    (writer type)指定輸出格式,有 xml, json, PHP等
    fq   (filter query)過慮查詢,提供一個可選的篩選器查詢。返回在q查詢符合結果中同時符合的fq條件的查詢結果,例如:q=id:1&fq=sort:[1 TO 5],找關鍵字id為1 的,并且sort是1到5之間的。
    df    默認的查詢字段,一般默認指定。
    qt   (query type)指定那個類型來處理查詢請求,一般不用指定,默認是standard。
    indent    返回的結果是否縮進,默認關閉,用 indent=true|on 開啟,一般調試json,php,phps,ruby輸出才有必要用這個參數(shù)。
    version   查詢語法的版本,建議不使用它,由服務器指定默認值。

二. Solr的檢索運算符

    “:”      指定字段查指定值,如返回所有值*:*
    “?”      表示單個任意字符的通配
    “*”      表示多個任意字符的通配(不能在檢索的項開始使用*或者?符號)
    “~”      表示模糊檢索,如檢索拼寫類似于”roam”的項這樣寫:roam~將找到形如foam和roams的單詞;roam~0.8,檢索返回相似度在0.8以上的記錄。
    AND、||  布爾操作符
    OR、&&   布爾操作符
    NOT、!、-(排除操作符不能單獨與項使用構成查詢)
    “+”      存在操作符,要求符號”+”后的項必須在文檔相應的域中存在2
    ( )      用于構成子查詢
    []      包含范圍檢索,如檢索某時間段記錄,包含頭尾,date:[201507 TO 201510]
    {}      不包含范圍檢索,如檢索某時間段記錄,不包含頭尾date:{201507 TO 201510}

相關推薦:
Windows10下淺識Luke索引
scrapy通過scrapyinghub實現(xiàn)24小時爬蟲托管爬取
參考鏈接:
http://lucene.apache.org/solr/quickstart.html
http://blog.csdn.net/matthewei6/article/details/50620600

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容