Redisearch的基本命令1--FT.CREATE

sayWhat_sayHello發表於2018-06-30

FT.CREATE

格式:

  FT.CREATE {index} 
    [MAXTEXTFIELDS] [NOOFFSETS] [NOHL] [NOFIELDS] [NOFREQS]
    [STOPWORDS {num} {stopword} ...]
    SCHEMA {field} [TEXT [NOSTEM] [WEIGHT {weight}] | NUMERIC | GEO] [SORTABLE] [NOINDEX] ...

redisearch中最為基本的是要建立一個index(索引,下標),所以不管什麼操作都離不開createcreate的選項有幾個,但是和其他比起來並不算多,我們要首先知道最基本的使用方法:

ft.create dept schema id numeric name text

上面建立了一個indexdept ,它有兩個欄位 一個叫id,是數字型別的;一個是name,是文字型別的。
在redisearch中欄位一共有三種型別:numeric(數字)、 text(文字) 、geo(地理位置)

作為擴充,redisearch提供了很多提供搜尋效率、節約記憶體的選項。接下來對各個選項進行描述:

MAXTEXTFIELDS: redisearch在text欄位大小32位元組及以下時對索引編碼的方式和32位元組以上的編碼方式不一樣,當text欄位超過32位元組時,啟用該選項以提高索引效率。

NOOFFSETS: 啟用該選項代表不儲存document的偏移量。

NOHL: no highlight。代表不啟用高亮,在搜尋時,如果啟用高亮,會在搜尋結果中的搜尋詞加上“高亮”,預設顯示是加<b><b>搜尋詞<b>。

NOFIELDS: 在過濾時,某些時候會使用欄位進行過濾,啟用該選項後不允許該形式的過濾。

NOFREQS: 弄 frequent.啟用該選項,避免頻繁儲存term。這個term我把握不準怎麼理解。可能指的是document中的一條資料?

 [STOPWORDS {num} {stopword} ...]: 在索引、搜尋時忽略的一組詞。預設有一組stopword,其中包含了像as,a,in這些。num代表接下來設定的stopword的個數,0代表關閉預設stopword。>0=n,代表後面跟著n個stopword。記住啟用了stopword代表不用預設的stopwords。

SCHEMA 欄位關鍵字,隨後新增欄位名與欄位描述。

以下是欄位的可選選項:
SORTABLE:text或者numeric是可排序的,如果搜尋時要sortby(排序)則宣告。注意會增加記憶體開銷,不需要排序則不啟用。

NOSTEM:redisearch預設會有一套stem(詞幹)分析的法則,類似於你搜尋go,在結果中可能會有go,going這類詞幹一致的結果。nostem代表不啟用。

NOINDEX:欄位可以選擇不被索引。

相關文章