本文整理匯總了Java中org.apache.lucene.index.IndexWriterConfig.OpenMode類的典型用法代碼示例。如果您正苦於以下問題:Java OpenMode類的具體用法?Java OpenMode怎麽用?Java OpenMode使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
OpenMode類屬於org.apache.lucene.index.IndexWriterConfig包,在下文中一共展示了OpenMode類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: indexDoc
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
static void indexDoc(IndexWriter writer, Path file, long lastModified) throws IOException {
try (InputStream stream = Files.newInputStream(file)) {
Document doc = new Document();
Field pathField = new StringField("path", file.toString(), Field.Store.YES);
doc.add(pathField);
doc.add(new LongPoint("modified", lastModified));
doc.add(new TextField("contents", new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8))));
if (writer.getConfig().getOpenMode() == OpenMode.CREATE) {
System.out.println("adding " + file);
writer.addDocument(doc);
} else {
System.out.println("updating " + file);
writer.updateDocument(new Term("path", file.toString()), doc);
}
}
}
示例2: process
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
@Override
public void process(ProcessingContext<Corpus> ctx, Corpus corpus) throws ModuleException {
try (KeywordAnalyzer kwa = new KeywordAnalyzer()) {
IndexWriterConfig writerConfig = new IndexWriterConfig(Version.LUCENE_36, kwa);
writerConfig.setOpenMode(append ? OpenMode.CREATE_OR_APPEND : OpenMode.CREATE);
try (Directory dir = FSDirectory.open(indexDir)) {
try (IndexWriter writer = new IndexWriter(dir, writerConfig)) {
AlvisDBIndexerResolvedObjects resObj = getResolvedObjects();
Logger logger = getLogger(ctx);
EvaluationContext evalCtx = new EvaluationContext(logger);
for (ADBElements.Resolved ent : resObj.elements) {
ent.indexElements(logger, writer, evalCtx, corpus);
}
}
}
catch (IOException e) {
rethrow(e);
}
}
}
示例3: PersistentSnapshotDeletionPolicy
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
/**
* {@link PersistentSnapshotDeletionPolicy} wraps another
* {@link IndexDeletionPolicy} to enable flexible snapshotting.
*
* @param primary
* the {@link IndexDeletionPolicy} that is used on non-snapshotted
* commits. Snapshotted commits, by definition, are not deleted until
* explicitly released via {@link #release}.
* @param dir
* the {@link Directory} which will be used to persist the snapshots
* information.
* @param mode
* specifies whether a new index should be created, deleting all
* existing snapshots information (immediately), or open an existing
* index, initializing the class with the snapshots information.
*/
public PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary,
Directory dir, OpenMode mode) throws IOException {
super(primary);
this.dir = dir;
if (mode == OpenMode.CREATE) {
clearPriorSnapshots();
}
loadPriorSnapshots();
if (mode == OpenMode.APPEND && nextWriteGen == 0) {
throw new IllegalStateException("no snapshots stored in this directory");
}
}
示例4: LuceneIndex
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
/**
* Constructor for LuceneIndex
*
* @param dataDirectory Path to the directory to create an index directory within.
* @throws IndexException
*/
public LuceneIndex(Path dataDirectory) throws IndexException {
//TODO: Check to make sure directory is read/writable
path = dataDirectory.resolve(INDEXDIR);
try {
dir = FSDirectory.open(path);
analyzer = new StandardAnalyzer();
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
writer = new IndexWriter(dir, iwc);
reader = DirectoryReader.open(writer, false);
searcher = new IndexSearcher(reader);
parser = new QueryParser(IndexDocumentAdapter.FIELD_SEARCH, analyzer);
} catch (IOException e) {
LOG.error(e.getLocalizedMessage());
throw new IndexException(e);
}
}
示例5: getIndexWriter
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
/**
* 獲取writer
*
* @return
* @throws IOException
*/
protected static IndexWriter getIndexWriter() throws IOException {
if (null != indexWriter) {
return indexWriter;
} else {
// 防止並發
synchronized (IndexUtil.class) {
// 初始化writer
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_35,
new StandardAnalyzer(Version.LUCENE_35));
// 每次都重新創建
config.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
indexWriter = new IndexWriter(directory, config);
}
return indexWriter;
}
}
示例6: initializeIndexBuilder
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public void initializeIndexBuilder() throws Exception {
// Create a new index directory and writer to index a triples file.
// Raise an error if an index already exists, so we don't accidentally overwrite it.
String indexDir = getIndexDirectoryName();
if ((new File(indexDir)).isDirectory())
throw new IOException("Index directory already exists, remove it before indexing");
indexDirectory = FSDirectory.open(Paths.get(indexDir));
IndexWriterConfig iwc = new IndexWriterConfig(getIndexAnalyzer());
// we always create a new index from scratch:
iwc.setOpenMode(OpenMode.CREATE);
iwc.setCodec(new Lucene54Codec(Mode.BEST_SPEED)); // the default
//iwc.setCodec(new Lucene54Codec(Mode.BEST_COMPRESSION)); // slower, but better compression
indexWriter = new IndexWriter(indexDirectory, iwc);
indexAnalyzer = getIndexAnalyzer();
if (INDEX_PREDICATES) printlnProg("Indexing individual predicates");
if (INDEX_TEXT) printlnProg("Indexing combined predicate text values");
if (INDEX_LANGUAGE) printlnProg("Indexing predicates for language(s): " + supportedLanguages);
}
示例7: initializeIndexBuilder
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public void initializeIndexBuilder() throws Exception {
// Create a new index directory and writer to index a triples file.
// Raise an error if an index already exists, so we don't accidentally overwrite it.
String indexDir = getIndexDirectoryName();
if ((new java.io.File(indexDir)).isDirectory())
throw new IOException("Index directory already exists, remove it before indexing");
indexDirectory = FSDirectory.open(Paths.get(indexDir));
IndexWriterConfig iwc = new IndexWriterConfig(getIndexAnalyzer());
// we always create a new index from scratch:
iwc.setOpenMode(OpenMode.CREATE);
iwc.setCodec(new Lucene54Codec(Mode.BEST_SPEED)); // the default
//iwc.setCodec(new Lucene54Codec(Mode.BEST_COMPRESSION)); // slower, but better compression
indexWriter = new IndexWriter(indexDirectory, iwc);
indexAnalyzer = getIndexAnalyzer();
if (INDEX_PREDICATES) printlnProg("Indexing individual predicates");
if (INDEX_TEXT) printlnProg("Indexing combined predicate text values");
if (INDEX_LANGUAGE) printlnProg("Indexing predicates for language(s): " + supportedLanguages);
}
示例8: main
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public static void main(String args[]) throws Exception {
initLoggers(Level.ERROR);
RedisDirectory DIR = new RedisDirectory(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD);
DIR.init();
long t1 = System.currentTimeMillis();
try {
Analyzer analyzer = new StandardAnalyzer();
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
IndexWriter iw = new IndexWriter(DIR, iwc);
Path docDir = Paths
.get("/Users/btnguyen/Workspace/Apps/Apache-Cassandra-2.1.8/javadoc/");
indexDocs(iw, docDir);
iw.commit();
iw.close();
} finally {
DIR.destroy();
}
long t2 = System.currentTimeMillis();
System.out.println("Finished in " + (t2 - t1) / 1000.0 + " sec");
}
示例9: main
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public static void main(String args[]) throws Exception {
initLoggers(Level.INFO);
RedisDirectory DIR = new RedisDirectory(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD);
DIR.init();
long t1 = System.currentTimeMillis();
try {
Analyzer analyzer = new StandardAnalyzer();
IndexWriterConfig iwc = new IndexWriterConfig(analyzer);
iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
IndexWriter iw = new IndexWriter(DIR, iwc);
Document doc = new Document();
doc.add(new StringField("id", "thanhnb", Field.Store.YES));
doc.add(new TextField("name", "Nguyen Ba Thanh", Field.Store.NO));
iw.updateDocument(new Term("id", "thanhnb"), doc);
iw.commit();
iw.close();
} finally {
DIR.destroy();
}
long t2 = System.currentTimeMillis();
System.out.println("Finished in " + (t2 - t1) / 1000.0 + " sec");
}
示例10: testNoMergeAfterCopy
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public void testNoMergeAfterCopy() throws IOException {
// main directory
Directory dir = newDirectory();
// auxiliary directory
Directory aux = newDirectory();
setUpDirs(dir, aux);
IndexWriter writer = newWriter(
dir,
newIndexWriterConfig(new MockAnalyzer(random())).
setOpenMode(OpenMode.APPEND).
setMaxBufferedDocs(10).
setMergePolicy(newLogMergePolicy(4))
);
writer.addIndexes(aux, new MockDirectoryWrapper(random(), new RAMDirectory(aux, newIOContext(random()))));
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
// make sure the index is correct
verifyNumDocs(dir, 1060);
dir.close();
aux.close();
}
示例11: PDLucene
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public PDLucene () throws IOException
{
// Where to store the index files
final Path aPath = getLuceneIndexDir ().toPath ();
m_aDir = FSDirectory.open (aPath);
// Analyzer to use
m_aAnalyzer = createAnalyzer ();
// Create the index writer
final IndexWriterConfig aWriterConfig = new IndexWriterConfig (m_aAnalyzer);
aWriterConfig.setOpenMode (OpenMode.CREATE_OR_APPEND);
m_aIndexWriter = new IndexWriter (m_aDir, aWriterConfig);
// Reader and searcher are opened on demand
s_aLogger.info ("Lucene index operating on " + aPath);
}
示例12: create
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
/**
* Creates an empty collection to get it up and running
*/
public synchronized void create() throws IOException {
setDirectory();
if ( directory.listAll().length > 2 )
throw new IOException( "directory not empty; possible collection already present" );
IndexWriterConfig iwc = new IndexWriterConfig( AnalyzerFactory.get(language) );
iwc.setOpenMode( OpenMode.CREATE );
indexwriter = new IndexWriter(directory, iwc);
indexwriter.commit();
indexwriter.close();
indexwriter = null;
// throw an openbd.create file in there so we know when it was created
created = System.currentTimeMillis();
File touchFile = new File( collectionpath, "openbd.created" );
Writer fw = new FileWriter( touchFile );
fw.close();
}
示例13: GerritIndexWriterConfig
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
GerritIndexWriterConfig(Config cfg, String name) {
analyzer =
new CustomMappingAnalyzer(
new StandardAnalyzer(CharArraySet.EMPTY_SET), CUSTOM_CHAR_MAPPING);
luceneConfig =
new IndexWriterConfig(analyzer)
.setOpenMode(OpenMode.CREATE_OR_APPEND)
.setCommitOnClose(true);
double m = 1 << 20;
luceneConfig.setRAMBufferSizeMB(
cfg.getLong(
"index",
name,
"ramBufferSize",
(long) (IndexWriterConfig.DEFAULT_RAM_BUFFER_SIZE_MB * m))
/ m);
luceneConfig.setMaxBufferedDocs(
cfg.getInt("index", name, "maxBufferedDocs", IndexWriterConfig.DEFAULT_MAX_BUFFERED_DOCS));
try {
commitWithinMs =
ConfigUtil.getTimeUnit(
cfg, "index", name, "commitWithin", MILLISECONDS.convert(5, MINUTES), MILLISECONDS);
} catch (IllegalArgumentException e) {
commitWithinMs = cfg.getLong("index", name, "commitWithin", 0);
}
}
示例14: prepareIndex
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
public void prepareIndex() throws IOException {
File globalWFMDIr = new File(Util.GTPM_INDEX_DIR);
if (!globalWFMDIr.exists()) {
Util.createDirs(Util.GTPM_INDEX_DIR);
}
KeywordAnalyzer keywordAnalyzer = new KeywordAnalyzer();
IndexWriterConfig wfmIndexWriterConfig = new IndexWriterConfig(Version.LUCENE_46, keywordAnalyzer);
wfmIndexWriterConfig.setOpenMode(OpenMode.CREATE_OR_APPEND);
wfmIndexWriterConfig.setRAMBufferSizeMB(1024);
logger.info("PREPARE INDEX");
try {
wfmIndexWriter = new IndexWriter(FSDirectory.open(new File(Util.GTPM_INDEX_DIR)), wfmIndexWriterConfig);
wfmIndexWriter.commit();
wfmIndexer = new DocumentMaker(wfmIndexWriter);
} catch (IOException e) {
e.printStackTrace();
}
}
示例15: getIndexWriterConfig
import org.apache.lucene.index.IndexWriterConfig.OpenMode; //導入依賴的package包/類
private static IndexWriterConfig getIndexWriterConfig() {
final Analyzer analyzer = getAnalyzer();
final IndexWriterConfig writerConfig = new IndexWriterConfig(LUCENE_VERSION, analyzer);
final boolean IS_DELETE_INDEX = true;
if (IS_DELETE_INDEX) {
// delete old index and create a new
writerConfig.setOpenMode(OpenMode.CREATE);
} else {
writerConfig.setOpenMode(OpenMode.CREATE_OR_APPEND);
}
return writerConfig;
}