1 |
void addDocument(Document doc) |
将document文档添加到索引 |
2 |
void addDocument(Document doc, Analyzer analyzer) |
将document文档添加到索引,用analyzer替换函数本身的getAnalyzer()方法 |
3 |
void addDocuments(Collection<Document> docs) |
添加一整块的document对象,id按顺序分配,外部的reader对docs只能全部可见或全部不可见。 |
4 |
void addDocuments(Collection<Document> docs, Analyzer analyzer) |
添加一整块的document对象,id按顺序分配,外部的reader只能看到一整块或者都没有。分析器采用提供的analyzer分析器。 |
5 |
void addIndexes(Directory... dirs) |
将所有索引列表中的段增加到当前索引 |
6 |
void addIndexes(IndexReader... readers) |
合并所有的索引到当前索引 |
7 |
void close() |
提交所有改变到索引,并且关闭所有相关的文件 |
8 |
void close(boolean waitForMerges) |
关闭索引,标识waitForMerges为是否等待当前合并完成后关闭。 |
9 |
void commit() |
提交所有更改(增加、删除文档,段合并,增加索引等)到索引缓存,并写入文件,以便内存消失能够在文件里读取。 |
10 |
void commit(Map<String,String> commitUserData) |
提交所有更改索引,指定commitUserData映射(字符串 - >字符串) |
11 |
void deleteAll() |
删除索引中的索引document对象(commit后索引文件才会变化,此时只是改变内存值)。 |
12 |
void deleteDocuments(Query... queries) |
根据任一Query条件删除document对象 |
13 |
void deleteDocuments(Query query) |
根据Query条件删除document对象 |
14 |
void deleteDocuments(Term... terms) |
根据任一的Trem删除docuemnt对象 |
15 |
void deleteDocuments(Term term) |
根据Trem删除docuemnt对象 |
16 |
void deleteUnusedFiles() |
删除任何不再使用的索引文件 |
17 |
protected void doAfterFlush() |
在Directory已经删除或者增加document,但是还未提交时(新的段文件segments_N已经写入),会调用此钩子方法 |
18 |
protected void doBeforeFlush() |
在Directory未删除或者增加document时,会调用此钩子方法 |
19 |
protected void ensureOpen() |
判断IndexWriter是否已经被关闭 |
20 |
protected void ensureOpen(boolean includePendingClose) |
在内部使用,判断IndexWriter是否已经被关闭,如果已经关闭会抛出AlreadyClosedException异常 |
21 |
protected void flush(boolean triggerMerge, boolean applyAllDeletes) |
同步所有内存中的变更(增加,删除)到Directory |
22 |
protected void flush(boolean triggerMerge, boolean flushDocStores, boolean flushDeletes) |
注:flushDocStores现在忽略(hardwired为true);这种方法在这里向后兼容 |
23 |
void forceMerge(int maxNumSegments) |
强制合并<= maxNumSegments的所有段 |
24 |
void forceMerge(int maxNumSegments, boolean doWait) |
同上,doWait=false,不会等待,但合并工作是在后台完成的。 |
25 |
void forceMergeDeletes() |
合并所有段中已经被删除的documents |
26 |
void forceMergeDeletes(boolean doWait) |
同上,doWait=false,不会等待,但合并工作是在后台完成的。 |
27 |
Analyzer getAnalyzer() |
返回此索引所用的分析器 |
28 |
IndexWriterConfig getConfig() |
返回一个私有的IndexWriterConfig,并复制一份传递到IndexWriter(Directory,IndexWriterConfig)中去。(要看下源码,为什么这样) |
29 |
static PrintStream getDefaultInfoStream() |
从最近被实例化的IndexWriters中,返回默认的infoStream。 |
30 |
Directory getDirectory() |
返回当前索引所使用的Directory |
31 |
PrintStream getInfoStream() |
从当前正在使用的writer获取infoStream |
32 |
Collection<SegmentInfo> getMergingSegments() |
注:被 MergePolicy使用,获取已经合并的段。 |
33 |
MergePolicy.OneMerge getNextMerge() |
注:被MergeScheduler,取得下一个将要被MergePolicy中合并的段。 |
34 |
PayloadProcessorProvider getPayloadProcessorProvider() |
返回一个PayloadProcessorProvider,提供跳转表合并使用 |
35 |
boolean hasDeletions() |
不知道用在哪,没写 |
36 |
static boolean isLocked(Directory directory) |
当且仅当索引在指定的directory 目前被锁定,则返回true |
37 |
int maxDoc() |
返回索引中文档的总数,包含还在缓存中(未flushed)的数据,不包含已经删除的。 |
38 |
void maybeMerge() |
查看mergePolicy是否需要合并,如果有就一直合并直到没有为止 |
39 |
void merge(MergePolicy.OneMerge merge) |
合并在栈中指定的段,变成一个段 |
40 |
void message(String message) |
将信息打印到infoStream(信息输出流,console等), 线程调用前缀所指定的writer |
41 |
int numDeletedDocs(SegmentInfo info) |
在reader池中获取删除的全部文档个数 |
42 |
int numDocs() |
返回索引中文档的总数,包含还在缓存中(未flushed)的数据,包含已经删除的 |
43 |
int numRamDocs() |
注:获取当前内存中全部的document个数 |
44 |
void prepareCommit() |
在commit之前将被调用 |
45 |
void prepareCommit(Map<String,String> commitUserData) |
在commit之前将被调用,参数是存储将记录到段中的索引。 |
46 |
long ramSizeInBytes() |
返回当前在内存中缓存的所有索引文件的总大小 |
47 |
void rollback() |
关闭IndexWriter而不提交自上次发生的任何改变提交(或因为它被打开,如果提交没有被调用) |
48 |
String segString() |
49 |
String segString(Iterable<SegmentInfo> infos) |
50 |
String segString(SegmentInfo info) |
51 |
static void setDefaultInfoStream(PrintStream infoStream) |
如果参数不为空,将会在IndexWriter中使用他(参数用作输出流,比如console)。 |
52 |
void setInfoStream(PrintStream infoStream) |
在增、删、改、合并产生的maxFieldLength信息将在此打印 |
53 |
void setPayloadProcessorProvider(PayloadProcessorProvider pcp) |
当使用到跳转表时将用到此 PayloadProcessorProvider |
54 |
static void unlock(Directory directory) |
在directory中根据name解锁 |
55 |
void updateDocument(Term term, Document doc) |
根据term删除documents再增加一个document |
56 |
void updateDocument(Term term, Document doc, Analyzer analyzer) |
同上 |
57 |
void updateDocuments(Term delTerm, Collection<Document> docs) |
先根据delTerm删除documents再增加一整块的docs(同时被外部reader可见或不可见); |
58 |
void updateDocuments(Term delTerm, Collection<Document> docs, Analyzer analyzer) |
其他同上,只是增加document使用参数提供的分词器 |
59 |
boolean verbose() |
是否启用verbosing,也就是有没有设置自己的输出(infoStream) |
60 |
void waitForMerges() |
等待当前未合并的合并完成 |