国产探花免费观看_亚洲丰满少妇自慰呻吟_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

原文未知


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 阿拉善右旗| 南充市| 石棉县| 镶黄旗| 尤溪县| 澳门| 静乐县| 明溪县| 白河县| 安陆市| 延长县| 丹江口市| 彰化县| 南皮县| 北票市| 镇平县| 红安县| 抚顺县| 海兴县| 芜湖县| 瓮安县| 分宜县| 九龙坡区| 元谋县| 沛县| 高邑县| 霍邱县| 平武县| 广灵县| 连江县| 惠东县| 鹤壁市| 启东市| 台中市| 五常市| 正安县| 湾仔区| 鸡泽县| 房产| 昌吉市|