国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【轉載】lucene中Field.Index,Field.Store詳解

2019-11-17 01:40:51
字體:
來源:轉載
供稿:網友

【轉載】lucene中Field.Index,Field.Store詳解

lucene在doc.add(new Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED));

Field有兩個屬性可選:存儲和索引。

通過存儲屬性你可以控制是否對這個Field進行存儲;

通過索引屬性你可以控制是否對該Field進行索引。

事實上對這兩個屬性的正確組合很重要。

Field.IndexField.Store說明
TOKENIZED(分詞)YES被分詞索引且存儲
TOKENIZEDNO被分詞索引但不存儲
NOYES這是不能被搜索的,它只是被搜索內容的附屬物。如URL等
UN_TOKENIZEDYES/NO不被分詞,它作為一個整體被搜索,搜一部分是搜不出來的
NONO沒有這種用法

我們那文章表為例.articleinfo.有ID,title(標題),sumary(摘要),content(內容),userName(用戶名)

其中title(標題),sumary(摘要)屬于第一種情況,既要索引也要分詞,也要存儲.

content(內容)要分詞,索引,但不存儲.由于他太大了,而且界面也不用顯示整個內容.

ID要存儲,不用索引.因為沒人用他來查詢.但拼URL卻很需要他.索引要存儲.

userName(用戶名)索引,但不分詞.可用保存.為什么不分詞?比如"成吉思汗",我不想被"成漢"搜索到.我希望要么"成吉思汗"或者"*吉思*"通配符搜到.

總結如下:

1.如果要對某Field進行查找,那么一定要把Field.Index設置為TOKENIZED或UN_TOKENIZED。TOKENIZED會對Field的內容進行分詞;而UN_TOKENIZED不會,只有全詞匹配,該Field才會被選中。2.如果Field.Store是No,那么就無法在搜索結果中從索引數據直接提取該域的值,會使null。

補充:

Field.Store.YES:存儲字段值(未分詞前的字段值) Field.Store.NO:不存儲,存儲與索引沒有關系 Field.Store.COMPRESS:壓縮存儲,用于長文本或二進制,但性能受損 Field.Index.ANALYZED:分詞建索引 Field.Index.ANALYZED_NO_NORMS:分詞建索引,但是Field的值不像通常那樣被保存,而是只取一個byte,這樣節約存儲空間 Field.Index.NOT_ANALYZED:不分詞且索引 Field.Index.NOT_ANALYZED_NO_NORMS:不分詞建索引,Field的值去一個byte保存 TermVector表示文檔的條目(由一個Document和Field定位)和它們在當前文檔中所出現的次數 Field.TermVector.YES:為每個文檔(Document)存儲該字段的TermVector Field.TermVector.NO:不存儲TermVector Field.TermVector.WITH_POSITIONS:存儲位置 Field.TermVector.WITH_OFFSETS:存儲偏移量 Field.TermVector.WITH_POSITIONS_OFFSETS:存儲位置和偏移量

此文轉自:http://blog.csdn.net/id19870510/article/details/5896995

原文未知


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 阿合奇县| 金平| 青阳县| 常德市| 福建省| 云阳县| 六枝特区| 大庆市| 荣昌县| 崇信县| 调兵山市| 青阳县| 新竹市| 宜宾市| 安陆市| 开化县| 张家川| 虹口区| 黔西| 石城县| 藁城市| 孝昌县| 博爱县| 白沙| 如皋市| 龙州县| 黎平县| 平凉市| 九寨沟县| 南安市| 朔州市| 嘉定区| 陆丰市| 兰溪市| 那曲县| 葫芦岛市| 阿拉善盟| 宁阳县| 顺平县| 长丰县|