Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED)); 這些地方與舊版本有很大的區別。
Field有兩個屬性可選:存儲和索引。通過存儲屬性你可以控制是否對這個Field進行存儲;通過索引屬性你可以控制是否對該Field進行索引。這看起來似乎有些廢話,事實上對這兩個屬性的正確組合很重要。
Field.Index             Field.Store       說明 
TOKENIZED(分詞)   YES                   被分詞索引且存儲 
TOKENIZED             NO                   被分詞索引但不存儲 
NO                         YES                   這是不能被搜索的,它只是被搜索內容的附屬物。如URL等 
UN_TOKENIZED     YES/NO             不被分詞,它作為一個整體被搜索,搜一部分是搜不出來的 
NO                         NO                   沒有這種用法
如果要對某Field進行查找,那麼一定要把Field.Index設置為TOKENIZED或UN_TOKENIZED。TOKENIZED會對Field的內容進行分詞;而UN_TOKENIZED不會,只有全詞匹配,該Field才會被選中。

如果Field.Store是No,那麼就無法在搜索結果中從索引數據直接提取該域的值,會使null。

2.4版本的補充

我們那文章表為例.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:存儲位置和偏移量

lucene中TOKENIZED,UN_TOKENIZED 解釋的更多相关文章

  1. Lucene 中自定义排序的实现

    使用Lucene来搜索内容,搜索结果的显示顺序当然是比较重要的.Lucene中Build-in的几个排序定义在大多数情况下是不适合我们使用的.要适合自己的应用程序的场景,就只能自定义排序功能,本节我们 ...

  2. 【Java】Lucene检索引擎详解

    基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能. L ...

  3. 转载:PCB名詞解釋:通孔、盲孔、埋孔

    在[電子製造業]打滾多年,分享 SMT.焊錫.塑膠射出.產品設計.瓦楞包裝…等經驗.請注意文章內容不見得都正確,服用前請三思… 之前有網友提醒我有篇文章把PCB的盲孔(Blind hole).埋孔(B ...

  4. 製程能力介紹(SPC introduction) ─ Cp之製程能力解釋

    Cp之製程能力解釋 從常態分配的特性來看,在群體中 ±3σ(標準差) 之範圍內的值,應包含群體全部的 99.73%.也就是說,若以 6σ為單位,就可以代表整個分布的範圍,但是有 0.27% (2700 ...

  5. lucene 中关于Store.YES 关于Store.NO的解释

    总算搞明白 lucene 中关于Store.YES  关于Store.NO的解释了 一直对Lucene Store.YES不太理解,网上多数的说法是存储字段,NO为不存储. 这样的解释有点郁闷:字面意 ...

  6. PCB名詞解釋:通孔、盲孔、埋孔(转载)

    文章转载自:https://www.researchmfg.com/2011/07/pth-blind-hole-buried-hole/ PCB名詞解釋:通孔.盲孔.埋孔 Posted by 工作熊 ...

  7. Lucene系列三:Lucene分词器详解、实现自己的一个分词器

    一.Lucene分词器详解 1. Lucene-分词器API (1)org.apache.lucene.analysi.Analyzer 分析器,分词器组件的核心API,它的职责:构建真正对文本进行分 ...

  8. Lucene 中的Tokenizer, TokenFilter学习

      lucene中的TokenStream,TokenFilter之间关系   TokenStream是一个能够在被调用后产生语汇单元序列的类,其中有两个类型:Tokenizer和TokenFilte ...

  9. 超強的Linux指令解釋網站《explainshell.com》,學Linux必備!

    ExplainShell 官方網站:http://explainshell.com/ 原始碼下載:https://github.com/idank/explainshell 用瀏覽器打該explain ...

随机推荐

  1. CentOS7.5最小化安装与初始化配置(做标准化)

    本文分享CentOS的标准化安装配置方法,方便集群批量装机配置 ------------------------- 完美的分割线 ---------------------------- 1.安装标准 ...

  2. PHP CURL HTTPS内存泄露问题

    还原场景:通过一直运行脚本,向微信用户发送模板消息,发现运行了一段时间,内存就爆了,然后立马看了一下代码,发现跟其他的消息逻辑一模一样,唯一不一样的就是请求了微信的接口:然后继续开始找问题,发现当时使 ...

  3. 51Nod 1058: N的阶乘的长度(斯特林公式)

    1058 N的阶乘的长度  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Inp ...

  4. 我的第一个Mybatis程序

    第一个Mybatis程序 在JDBC小结中(可以参阅本人JDBC系列文章),介绍到了ORM,其中Mybatis就是一个不错的ORM框架 MyBatis由iBatis演化而来 iBATIS一词来源于“i ...

  5. utf-8编码的csv文件,用excel打开乱码,解决办法,在输出前加 0xEF,0xBB,0xBF三个char

    转自 http://blog.csdn.net/zcmssd/article/details/6086649 是由于输出的CSV文件中没有BOM. 什么是BOM? 在UCS 编码中有一个叫做”ZERO ...

  6. pycharm的安装和激活

    这里可以自定意义安装路径 32-bit是创建32位桌面快捷方式(64-bit同理) .py勾选是默认关联py文件,勾选上后所有py文件默认用pycharm打开 Download....勾选是下载安装X ...

  7. 不用webservice wcf提供服务,用Rest更轻量

    从2005年开始就开始有基于服务的开发方式,到08年时候 微软和sun等公司都已经提供了很多基于服务的开发框架 . 微软 .net 平台的基于服务的框架主要有:.NET Remoting.webser ...

  8. leetcode:Minimum Depth of Binary Tree【Python版】

    1.类中递归调用添加self: 2.root为None,返回0 3.root不为None,root左右孩子为None,返回1 4.返回l和r最小深度,l和r初始为极大值: # Definition f ...

  9. Drupal 7 建站学习手记(五):QuickTabs模块内的元素无法溢出的问题

    背景 项目要求站点首页放Views生成的区块,而且要求有很多其它链接. Views生成的区块默认的很多其它链接仅仅能选在列表上方和下方 下图是默认在上方的样式图: 为了美观.我将很多其它链接上移了若干 ...

  10. Tensorflow & Python3 做神经网络(视频教程)

    Tensorflow 简介 1.1 科普: 人工神经网络 VS 生物神经网络 1.2 什么是神经网络 (Neural Network) 1.3 神经网络 梯度下降 1.4 科普: 神经网络的黑盒不黑 ...