1. Modificar o índice
O índice é atualizado para eliminar o suplemento, recomenda-se usar esse método para atualizar as necessidades, e para garantir a implementação de atualização existente no índice, você poderá verificar, atualizar registros para determinar a existência de uma operação de atualização.
Se você atualizar o índice do objeto de documento de destino não existe, faça add.
/ ** * Modificar a base de dados de índice * / @Teste pública vazio testUpdateIndex () lança IOException { // criar analisador (tokenizer) StandardAnalyzer separador de palavras padrão, a palavra efeito Inglês bom, o chinês é a palavra palavra Analyzer Analyzer = new new StandardAnalyzer (); // criar IndexWriterConfig classe informações de configuração, palavra especifica palavras de segmentação utilizado IndexWriterConfig configuração = new new IndexWriterConfig (Analyzer); // criar o objeto Directory, o local de armazenamento de banco de dados índice declaração Diretório dir = FSDirectory.open (Paths.get ( "D: \\ Lucene" )); // criar IndexWriter escrita objeto, write designado posição de configuração e inicializa um objecto usando a IndexWriter IndexWriter = novo novo a IndexWriter (a dir, config); // necessidade de alterar o conteúdo do documento O documento = new novo documento (); // criar um objecto de domínio, e o objecto no documento document.add ( novo novo StringField ( "o acima mencionado ID", "100 000 003 140" , TextField.Store.YES)); document.add ( novo TextField ( "Nome", "in vivo" , TextField.Store.YES)); // executar a atualização, serão todos Document elegíveis apagar, adicioná-lo novamente. indexWriter.updateDocument ( novo novo termo ( "o acima mencionado ID", "100 000 003 140" ), o Documento); // recursos de libertação indexWriter.close (); }
2. Eliminar o índice
/ ** * Retire a Biblioteca índice * / @Teste pública vazio testDeleteIndex () lança IOException { // criar analisador (tokenizer) StandardAnalyzer separador de palavras padrão, a palavra efeito Inglês bom, o chinês é a palavra palavra Analyzer Analyzer = new new StandardAnalyzer (); // criar IndexWriterConfig classe informações de configuração, palavra especifica palavras de segmentação utilizado IndexWriterConfig configuração = new new IndexWriterConfig (Analyzer); // criar o objeto Directory, o local de armazenamento de banco de dados índice declaração Diretório dir = FSDirectory.open (Paths.get ( "D: \\ Lucene" )); // criar IndexWriter escrita objeto, write designado posição de configuração e inicializa um objecto usando a IndexWriter IndexWriter = novo novo a IndexWriter (a dir, config); // acordo Termo eliminar a base de dados de índice // indexWriter.deleteDocuments (novo novo Termo ( "o acima mencionado ID", "100 000 003 140")); // excluir todos os índices (Cuidado) indexWriter.deleteAll (); // recursos libertação indexWriter.close (); }