org.apache.lucene.index

Java Code Examples for org.apache.lucene.index.IndexOptions

Example 4
Project: languagetool   File: EmptyLuceneIndexCreator.java View source code 6 votes
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.out.println("Usage: " + EmptyLuceneIndexCreator.class.getSimpleName() + " <indexPath>");
System.exit(1);
}
Analyzer analyzer = new StandardAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(analyzer);
Directory directory = FSDirectory.open(new File(args[0]).toPath());
IndexWriter writer = new IndexWriter(directory, config); FieldType fieldType = new FieldType();
fieldType.setIndexOptions(IndexOptions.DOCS);
fieldType.setStored(true);
Field countField = new Field("totalTokenCount", String.valueOf(0), fieldType);
Document doc = new Document();
doc.add(countField);
writer.addDocument(doc); writer.close();
}
 
ES里,
first of all index_options & term_vectors are two totally different things. 
index_options are "options" for the index you are searching on, a 
datastructure that holds "terms" to document lists (posting lists). 
TermVectors are a datastructure that gives you the "terms" for a given 
document and in addition their position in the document as well as their 
start and end character offsets. Now the index (each field has such an 
index) holds a sorted list of terms and each term points to a posting list. 
these posting lists are a list of documents that contain the term. On the 
posting list you can also store information like frequencies (how often did 
term Y occur in document X -> useful for scoring) as well as "positions" 
(at which position did term Y occur in document X -> this is required fo 
phrase & span queries).

if you have for instance a field that you only use for filtering you don't 
need freqs and postions so documents only will do the job. In an index the 
position information is the biggest piece of data usually aside stored 
fields. If you don't do phrase queries or spans you don't need them at all 
so safe the disk space and improve perf by only use docs and freqs. In 
previous version it wasn't possible to have only freqs but no positions 
(index_options supersede omit_term_frequencies_and_positions) so this is an 
improvement overall since the most common usecase might only need freqs but 
no positions. 

 
附上一些选项:
1:term_vector
TermVector.YES: Only store number of occurrences.
TermVector.WITH_POSITIONS: Store number of occurrence and positions of terms, but no offset.
TermVector.WITH_OFFSETS: Store number of occurrence and offsets of terms, but no positions.
TermVector.WITH_POSITIONS_OFFSETS:number of occurrence and positions , offsets of terms.
TermVector.NO:Don't store any term vector information.
2: index_options
Allows to set the indexing options, possible values are docs (only doc numbers are indexed), freqs (doc numbers and term frequencies), and positions (doc numbers, term frequencies and positions). Defaults to positions for analyzed fields, and to docs for not_analyzed fields. It is also possible to set it to offsets (doc numbers, term frequencies, positions and offsets).
 
参考:https://lucene.apache.org/core/4_1_0/core/org/apache/lucene/index/FieldInfo.IndexOptions.html
http://elasticsearch.cn/question/119

lucene IndexOptions可以设置DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS DOCS,ES里也可以设置的更多相关文章

  1. ES里设置索引中倒排列表仅仅存文档ID——采用docs存储后可以降低pos文件和cfs文件大小

    index_options The index_options parameter controls what information is added to the inverted index, ...

  2. 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样

    在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": { "publish- ...

  3. 导航栏和里面的View设置的是同一颜色值,实际运行又不一样.

    导航栏和里面的View设置的是同一颜色值,实际运行又不一样.如何保证两者的颜色一致呢?  答案就是:( navigationBar.translucent = NO; )   去除 导航条的分割线(黑 ...

  4. 14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置

    14.3.3 Locks Set by Different SQL Statements in InnoDB 不同的SQL语句在InnoDB里的锁设置 locking read, 一个UPDATE,或 ...

  5. Ubuntu里字符编码设置

    Ubuntu里字符编码设置   Ubuntu系统在默认的状况下只支持中文UTF-8编码,但是我们写的一些文档,还有java代码编译时采用gbk编码.所以需要修改.步骤如下:  www.2cto.com ...

  6. spring里的事物设置

    有的人说事物在spring里设置有两种,其实事物设置在spring配置文件中共有五种方式:第一种方式:每个Bean都有一个代理第二种方式:所有Bean共享一个代理基类第三种方式:使用拦截器第四种方式: ...

  7. FL studio里的项目设置介绍

    FL studio作为具有众多音乐功能,能够制作多轨音频录制,排序和混音的一款专业软件,我们可以借助VST主机,灵活的调音台,高级MIDI和ReWire支持,来创建专业品质的各种音乐曲目. 而今天我们 ...

  8. Android ViewPager里的所有图片设置监听打开同一活动显示不同图片

    Android ViewPager里的所有图片设置监听请看前一文章 为了省时所以2层菜单只做一个点击任意图片后显示相应图片的活动 关键点是每个点击对应的图片如何传参给显示的活动 因为只启动一个活动,所 ...

  9. 在tomcat启动时解析xml文件,获取特定标签的属性值,并将属性值设置到静态变量里

    这里以解析hibernate.cfg.xml数据库配置信息为例,运用dom4j的解析方式来解析xml文件. 1.在javaWeb工程里新建一个java类,命名为GetXmlValue.java,为xm ...

随机推荐

  1. php中需要注意的函数(持续更新)

    explode 函数 $a = null; explode("#",$a); //不会报错会返回一个只包含空字符串的数组

  2. 图片预先加载 preloadjs

    <body><div class="loading"> <div class="progress"></div> ...

  3. 关于INT_MIN

    来自为知笔记(Wiz)

  4. linux驱动开发随手记【1】

    1.一个patch只完成一项任务 2.用vim编辑多个文件,想同时关闭所有文件时候,可以用 :qall 命令 .vim用户手册08 3.mmc dev 0.mmc为U-boot命令,这句话的含义是设置 ...

  5. linux-修改树莓派分辨率

    直接在树莓派下编辑 使用命令行来编辑配置文件 sudo nano /boot/config.txt 并在config.txt文件的最后加上以下代码即可 max_usb_current=1 hdmi_g ...

  6. Formal Analysis of the TLS Handshake Protocol -----论文整理

    1.关键词  TLS.SSL.Formal Analsysis  Conridentiality  Secerecy 2.Table  THE SSL/TLS handshake Protocol 3 ...

  7. VGridControl 使用技巧

    1. 让列的宽度自动填充 如果VGridControl的LayoutStyle属性为BandsView或SingleRecordView,那么把VGridControl的OptionsView.Aut ...

  8. golang 时间的比较,time.Time的初始值?

    参考: https://golangcode.com/checking-if-date-has-been-set/ https://stackoverflow.com/questions/209243 ...

  9. mysqlcheck(MyISAM表维护工具)

    mysqlheck [option] db_name [tables] -c --check(检查表) -r  --repair(修复表) -a  --analyze(分析表) -o  --optim ...

  10. 使用 IDEA 打包spring cloud 成 jar在ubuntu 中运行

    1.  打开终端 termial   ,  使用 mvn  install  . 如果提示  mvn 不是xx 命令 ; 2 则需要配置环境变量  :  path :     C:\Program F ...