1. 程式人生 > >solr學習筆記-入門

solr學習筆記-入門

solr學習筆記
1、安裝前準備

solr依賴java 8 執行環境,所以我們先安裝java。如果沒有java環境無法啟動solr服務,並且會看到如下提示:

[[email protected] solr-6.1.0]# ./bin/solr start -e cloud -noprompt /*執行solr服務*/
Java not found, or an error was encountered when running java.
A working Java 8 is required to run Solr!
Please install Java 8 or fix JAVA_HOME before running this script.
Command that we tried: 'java -version'
[
[email protected]
~]# java -version /*檢測是否已安裝java*/ [[email protected] ~]# yum install -y java /*安裝java*/

2、下載&安裝&啟動&停止
1.1、下載&安裝:下載安裝包,然後直接解壓到指定目錄即可。

[[email protected] ~]# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/lucene/solr/6.1.0/solr-6.1.0.tgz
[[email protected] ~]# tar zxvf solr-6.1.0.tgz -C /usr/local/
[
[email protected]
~]# cd /usr/local/solr-6.1.0 [[email protected]t solr-6.1.0]# ls bin CHANGES.txt contrib dist docs example licenses LICENSE.txt LUCENE_CHANGES.txt NOTICE.txt README.txt server [[email protected] solr-6.1.0]# ./bin/solr -help /*檢視solr命令幫助*/ [[email protected] solr-6.1.0]# ./bin/solr status /*檢視solr服務啟動狀態*/

1.2、啟動solr服務
[[email protected] solr-6.1.0]# ./bin/solr start -e cloud -noprompt /*啟動solr服務*/
Welcome to the SolrCloud example!
Starting up 2 Solr nodes for your example SolrCloud cluster.
/*省略中間部分*/
SolrCloud example running, please visit: http://localhost:8983/solr /*瀏覽器開啟這個url可以看到solr的執行情況*/
[[email protected] solr-6.1.0]# ps aux | grep solr /*可以看到solr服務程序*/
[[email protected] solr-6.1.0]# ./bin/solr start -help /*檢視啟動命令幫助*/

1.3、停止solr服務
[[email protected] solr-6.1.0]# ./bin/solr stop -all
[[email protected] solr-6.1.0]# ./bin/solr start -help /*檢視停止命令幫助*/

3、生成索引資料
solr使用./bin/post命令生成索引資料。支援多種生成方式:
3.1、指定檔案生成索引資料,支援格式:xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
[[email protected] solr-6.1.0]# ./bin/post -c gettingstarted filename.json

3.2、指定目錄生成索引資料
[[email protected] solr-6.1.0]# ./bin/post -c gettingstarted ~/docdir

3.3、網路爬蟲
[[email protected] solr-6.1.0]# ./bin/post -c gettingstarted http://lucene.apache.org/solr -recursive 1 -delay 1

3.4、標準輸入/輸出管道
[[email protected] solr-6.1.0]# echo '{commit: {}}' | ./bin/post -c gettingstarted -type application/json -out yes -d

3.5、字串
[[email protected] solr-6.1.0]# ./bin/post -c gettingstarted -type text/csv -out yes -d $'id,value\n1,0.47'

注:檔案內容格式可以參考solr安裝目錄內的/usr/local/solr-6.1.0/example/exampledocs/*下檔案。

4、刪除索引資料
我們可以指定要刪除記錄的主鍵值來刪除指定記錄,或者在文件中定義指定記錄的值批量刪除
4.1、刪除主鍵ID值為SP2514N的記錄,-d引數是可以是其他solr支援的格式或檔案
[[email protected] solr-6.1.0]# ./bin/post -c gettingstarted -d "<delete><id>SP2514N</id></delete>"

5、搜尋
Solr支援多種搜尋渠道,如:REST clients, cURL, wget, Chrome POSTMAN等等.理論上支援所有語言。
5.1、CURL方式:
[[email protected] solr-6.1.0]# curl "http://localhost:8983/solr/gettingstarted/select?q=*:*&wt=json&indent=true"

5.2、搜尋API常用引數說明
5.2.1、引數[q=keyword|field:value|keyword1+keyword2|keyword1+-keyword2]:搜尋關鍵字|包含value的欄位field|同時包含keyword1和keyword2|包含keyword1,但不包含keyword2。
5.2.2、引數[wt=json]:結果返回格式:json、xml、python、ruby、php、csv等。
5.2.3、引數[start=0]:分頁偏移量,即從第幾條開始。
5.2.4、引數[rows=10]:每頁數量,預設10。
5.2.5、引數[fl=id[,field2,field3,...]]:結果只返回指定的欄位,多個用“,”隔開。
5.2.6、引數[indent=false|true]:返回結果個否格式化(縮排)。
5.2.7、引數[fq=field:value]:過濾結果
5.2.8、引數[facet=true|false|on|off]:開始/關閉分組,統計分組數量
5.2.8、引數[facet.field=field]:以field欄位分組統計
更多引數說明:https://cwiki.apache.org/confluence/display/solr/Query+Syntax+and+Parsing

相關推薦

solr學習筆記-入門

solr學習筆記 1、安裝前準備solr依賴java 8 執行環境,所以我們先安裝java。如果沒有java環境無法啟動solr服務,並且會看到如下提示: [[email protected] solr-6.1.0]# ./bin/solr start -e cl

Solr學習筆記——導入JSON數據

管理 app 可能 pen ges nali fromfile mit print 1.導入JSON數據的方式有兩種,一種是在web管理界面中導入,另一種是使用curl命令來導入 curl http://localhost:8983/solr/baikeperson/up

Vue學習筆記入門篇——組件的內容分發(slot)

節點 pan 如何 new 深入 接收 span 初始 特殊屬性 本文為轉載,原文:Vue學習筆記入門篇——組件的內容分發(slot) 介紹 為了讓組件可以組合,我們需要一種方式來混合父組件的內容與子組件自己的模板。這個過程被稱為 內容分發 (或 “transclus

Solr學習筆記(2)—— solr-7.0.0 安裝與目錄說明

導入 lms services pan conf nvi os x ins admin      一:Solr系統要求     您可以在任何系統中安裝 Solr,但是這些系統中必須有適用的 Java 運行時環境(JRE),具體介紹如下文所述。目前,這包括 Linux,Mac

Solr學習筆記(三)-----SpringDataSolr操作

對solr伺服器進行訪問:本質上就是使用了http請求和響應,當我們訪問solr進行搜尋時,實質上就是傳送了一個http請求,如http://localhost:9080/solr/collection1/select?q=%3A&wt=json&indent=true

Solr學習筆記(二)

solr中文分析器的安裝配置: 1、IK Analyzer 是一個開源的,基亍 java 語言開發的輕量級的中文分詞工具包。從 2006年 12 月推出 1.0 版開始, IKAnalyzer 已經推出了 4 個大版本。最初,它是以開源專案Luence 為應用主體的,結合詞典分詞和文

Solr學習筆記(一)

一:什麼是solr: 1、Solr是一個開源搜尋平臺,用於構建搜尋應用程式。 它建立在Lucene(全文搜尋引擎)之上。 Solr是企業級的,快速的和高度可擴充套件的。 使用Solr構建的應用程式非常複雜,可提供高效能。 2、Solr可以和Hadoop一起使用。由於Hadoop處

Solr學習筆記(四)----使用solrJ操作

solrJ是solr官方類庫,實現原理就是使用http請求和響應,只是進行了一層封裝,不需要寫請求的url等引數。 使用solrJ操作solr索引庫的一些方法: 1、向solr索引庫新增文件 @Test public void testAddDocument() throws Exc

MyBatis學習筆記---入門

MyBatis學習筆記 一、資料庫與資料表的建立 1.建立資料庫 create database thymeleaf; use thymeleaf; 2.建立資料表 create table tb_user( -> id int not null auto_in

Solr學習筆記(1) —— Solr概述&Solr的安裝

一、概述   使用Solr實現電商網站中商品資訊搜尋功能,可以根據關鍵字、分類、價格搜尋商品資訊,也可以根據價格進行排序。    1.1 實現方法   在一些大型入口網站、電子商務網站等都需要站內搜尋功能,使用傳統的資料庫查詢方式實現搜尋無法滿足一些高階的搜尋需求,比如:搜尋速度要快、搜尋結

JAVA學習筆記——入門

1.Java中每個變數在使用之前均必須宣告它的型別。先給出變數型別,隨後寫上變數名。一行可以宣告多個變數,可宣告同時初始化。 2.變數之間可以相互轉換,有的轉換會損失資訊。實箭頭表示無損,虛箭頭表

Hadoop學習筆記入門須知

1.Hadoop的主要組成部分   HDFS:分散式檔案儲存(海量資料的儲存)   MapReduce:分散式計算(海量資料的計算和分析)   YARN:資源管理排程(多個任務排隊執行還是同時執行) 2.HDFS:解決海量資料的儲存   HDFS由3種主要的節點構成:     1) 

Solr學習筆記---部署Solr到Tomcat上,視覺化介面的介紹和使用,Solr的基本內容介紹,SolrJ的使用

學習Solr前需要有Lucene的基礎 1.部署Solr到Tomcat(Windows)   Solr自帶小型伺服器jetty,但在我們開發環境中,習慣使用Tomcat,所以把Solr部署到Tomcat上(Tomcat 8.0以上,jdk 1.8以上)   其實步驟相同,但在windows配置要方便一些,所

webservice學習筆記——入門

                 web service入門學習筆記最近要做一個java專案,裡面用到了webservice技術,經過一個多月的磕磕絆絆的摸索,總算如了點門。現將我的學習筆記貼出來,供大家參考。一、實驗環境  win2k + jdk1.6  + javee5.0  + Myeclipse5.1

Activiti工作流學習筆記入門(四)——流程例項的構建、判斷狀態、歷史流程例項查詢和歷史活動查詢

第一節:構建學生請假審批流程 第二節:執行物件概念 第三節:判斷流程例項狀態 第四節:歷史流程例項查詢 第五節:歷史活動查詢 package com.java1234.activiti.flow; import java.util.List; import or

Activiti工作流學習筆記入門(五)——流程變數

package com.java1234.activiti.variable; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; i

MongoDB學習筆記(入門)

一、文件的注意事項: 1.  鍵值對是有序的,如:{ "name" : "stephen", "genda" : "male" } 不等於 { "genda" : "male", "name" : "stephen" } 2.  文件資訊是大小寫敏感的,如:{ "name

solr學習筆記(二):進階

    jetty啟動: wiki有教程;         實驗遇到的問題:1. 在windows上不同jetty帶起的solr例項註冊不到zk上。                                     2. 在虛擬機器啟動了2個shard,windows上的例項無法同步到已經啟動的sha

mui學習筆記-入門

mui是用來做什麼的想來大家都已經非常清楚了。在這裡我想說明的是為什麼選mui,我之前也用過light7,f7等前端框架,直到接觸到mui。用一句xx的話來形容就是"斯人若彩虹,遇上方知有",因為它真的很好很強大,這裡說的強大,是說它的配套工具和事件方法以及它的親生父親h5+

docker 學習筆記入門(安裝docker-io)

本人使用centos6.5安裝docker 如果已經安裝了docker,解除安裝 yum remove docker 安裝 yum install -y docker-io docker run 啟動docker 驗證是否成功安裝 配置國內yum源,否則獲取映象非常慢 vi