前兩天,學習了
solr
的基本用法,接下來我們就開始真正來學習一下
solr
。學習一下它的檔案結構,配置檔案等。
以我們現在學習的階段,最重要的資料夾就是
example
資料夾,這個裡面包含了許多我們要學習的東西。
我們再來看一下該資料夾結構
我們看到這樣的檔案結構,資料夾的意思大家肯定都看得懂,這裡只介紹兩個資料夾,
multicore
和solr
。multicore
是多個solr
例項時才需要用到,現在我們暫時沒用,先不管它。
solr
是自帶的乙個
solr.home
,這個是我們此次介紹的重點。
進入此資料夾,我們可以看到如下的結構:
bin資料夾為我們有額外的處理指令碼時,需要放在這裡,這裡暫時沒用到,我們先跳過。
conf
是solr
的配置檔案所在,這裡是重點。
data
為索引目錄。
由於我以為執行過,所以有這個
data.bak
目錄,這具是以前的備份。
我們主要來看一下
conf
資料夾內的配置檔案:
這裡帶副本的是我的備份檔案。最主要的檔案是
schema.xml
和solrconfig.xml
,其餘的如
stopwords.txt
為停頓詞,當索引和查詢時遇到這些詞會自動忽略,其他檔案,我們暫時不用,先不講了。
開啟solrconfig.xml
我們可以看到
這個標籤,預設情況下是這樣的$
它預設在當前目錄下的
solr
目錄下建立
data
目錄來存放索引。這就是為什麼當我們把
solr.home
設定成這個時,在
tomcat
的bin
資料夾內啟動時會生成
solr/data
資料夾。因為我們啟動
tomat
時的當前目錄為
bin。
當然這個不是
solr
配置錯誤,對於它自帶的
jetty
伺服器來說,它是正確的,因為當前目錄,正好是
solr
的目錄。
這個檔案我們需要配置的東西不多,先講到這裡,以後用到時再慢慢講解。
接下來我們看一下重點的
schema.xml
,這個檔案是對我們索引欄位的說明,我們可以索引什麼
field
都在這裡進行了說明。
我們可以看到裡面有一大堆注釋,其實看裡面的注釋,大部分都是可以理解的。這個檔案的配置跟我們以後需要進行的中文分詞的整合有很大關係,所以這個檔案要多看看。
我們看到
types
標籤,而在它裡面有一大堆
fieldtype
,裡面也有一大堆屬性,這裡大概介紹一下:
fieldtype
是定義索引的
field
型別,它有好幾個屬性,最主要的是
name
和class
:name
是型別的名稱,
class
是相應的
solr
中的類。還有兩個屬性看英文注釋可能比較難理解,是
sortmissinglast
和sortmissingfirst
,這兩個屬性是指當查詢出來的內容為空時,它被排在**,當
sortmissinglast
為true
時,表示放在最後,
sortmissingfirst
為true
時,表示放在最前。為
false
時相反。
注意,我們看到後面時發現有
fieldtype
裡面有標籤,這個是用於配置分詞器的,這個我們以後再說。
接著是標籤和在它裡面的
,field
當然就是我們在索引的內容啦。
它有屬性
indexed
和stored
分別對應是否索引和儲存,另外還有乙個
multivalued
表示是否允許多值。
這裡我們看到
features
有好幾個值,而我們看到配置檔案中配置的
features
也是這樣的:
<它表示我們索引的field有多個值,如果這裡沒配置,在傳送資料的時候會報錯。field
name
="features"
type
="text"
indexed
="true"
stored
="true"
multivalued
="true"
/>
這裡的type是對應我們前面配置的fieldtype。
另外有乙個這是乙個動態匹配的域,
<我們看到它的name指定了萬用字元,它指的是可以匹配所有以_i結尾的名稱的field,如果我們指定dynamicfield
name
="*_i"
type
="int"
indexed
="true"
stored
="true"
/>
<那我們就可以匹配所有的field。dynamicfield
name
="*"
/>
接下來,我們看到:
<uniquekey
>id
uniquekey
>
<defaultsearchfield
>text
defaultsearchfield
>
<這裡應該看英文就可以看明白了,最主要是最下面的copyfield,它是指複製field,它會把在source field裡的值拷貝到text field裡面,這樣方便進行索引。注意,這裡一般也只有對多值的才會這樣做,也即是配置了multivalued為true的field才用copyfield.solrqueryparser
defaultoperator
="or"
/>
<
copyfield
source
="cat"
dest
="text"
/>
Apache Solr初體驗三
前兩天,學習了 solr 的基本用法,接下來我們就開始真正來學習一下 solr 學習一下它的檔案結構,配置檔案等。以我們現在學習的階段,最重要的資料夾就是 example 資料夾,這個裡面包含了許多我們要學習的東西。我們再來看一下該資料夾結構 我們看到這樣的檔案結構,資料夾的意思大家肯定都看得懂,這...
Pandas初體驗(三)
r星校長 第3關 讀取csv格式資料 讀取csv reading a csv into pandas.如果資料集中有中文的話,最好在裡面加上 encoding gbk 以避免亂碼問題。後面的匯出資料的時候也一樣。df pd.read csv uk rain 2014.csv header 0 這裡我...
三分初體驗
特點 三分法就是用來求單峰函式的極值 二分查詢所面向的搜尋序列的要求是 具有單調性 不一定嚴格單調 沒有單調性的序列不能使用二分查詢。與二分查詢不同的是,三分法所面向的搜尋序列的要求是 序列為乙個凸 凹 型函式。通俗來講,就是該序列必須有乙個最大值 或最小值 在最大值 最小值 的左側序列,必須滿足不...