a manutenção do índice Lucene

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 ();
}

 

Acho que você gosta

Origin www.cnblogs.com/roadlandscape/p/12547655.html
Recomendado
Clasificación