unable to delete document via the IndexWriter.deleteDocuments(term) method

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

unable to delete document via the IndexWriter.deleteDocuments(term) method

Armnotstrong
Hi, all:

I am Using version 5.5.4, and find can't delete a document via the
IndexWriter.deleteDocuments(term) method.

Here is the test code:

import org.apache.lucene.analysis.core.SimpleAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.*;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;

import java.io.IOException;
import java.nio.file.Paths;

public class TestSearch {
    static SimpleAnalyzer analyzer = new SimpleAnalyzer();

    public static void main(String[] argvs) throws IOException, ParseException {
        generateIndex("5836962b0293a47b09d345f1");
        query("5836962b0293a47b09d345f1");
        delete("5836962b0293a47b09d345f1");
        query("5836962b0293a47b09d345f1");

    }

    public static void generateIndex(String id) throws IOException {
        Directory directory = FSDirectory.open(Paths.get("/tmp/test/lucene"));
        IndexWriterConfig config = new IndexWriterConfig(analyzer);
        IndexWriter iwriter = new IndexWriter(directory, config);
        FieldType fieldType = new FieldType();
        fieldType.setStored(true);
        fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
        Field idField = new Field("_id", id, fieldType);
        Document doc = new Document();
        doc.add(idField);
        iwriter.addDocument(doc);
        iwriter.close();

    }

    public static void query(String id) throws ParseException, IOException {
        Query query = new QueryParser("_id", analyzer).parse(id);
        Directory directory = FSDirectory.open(Paths.get("/tmp/test/lucene"));
        IndexReader ireader  = DirectoryReader.open(directory);
        IndexSearcher isearcher = new IndexSearcher(ireader);
        ScoreDoc[] scoreDoc = isearcher.search(query, 100).scoreDocs;
        for(ScoreDoc scdoc: scoreDoc){
            Document doc = isearcher.doc(scdoc.doc);
            System.out.println(doc.get("_id"));
        }
    }

    public static void delete(String id){
        try {
             Directory directory =
FSDirectory.open(Paths.get("/tmp/test/lucene"));
            IndexWriterConfig config = new IndexWriterConfig(analyzer);
            IndexWriter iwriter = new IndexWriter(directory, config);
            Term term = new Term("_id", id);
            iwriter.deleteDocuments(term);
            iwriter.commit();
            iwriter.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}


--
========================================
best regards & a nice day
Zhao Ximing

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: unable to delete document via the IndexWriter.deleteDocuments(term) method

Ian Lea
Hi


SimpleAnalyzer uses LetterTokenizer which divides text at non-letters.
Your add and search methods use the analyzer but the delete method doesn't.

Replacing SimpleAnalyzer with KeywordAnalyzer in your program fixes it.
You'll need to make sure that your id field is left alone.


Good to see a small self-contained test program.  A couple of suggestions
to make it even better if there's a next time:

Use final static String ID = "_id" and ... KEY =
"5836962b0293a47b09d345f1".  Minimises the risk of typos.

And use RAMDirectory.  Means your program doesn't leave junk on my disk if
I run it, and also means it starts with an empty index each time.


--
Ian.


On Fri, Feb 17, 2017 at 10:04 AM, Armnotstrong <[hidden email]> wrote:

> Hi, all:
>
> I am Using version 5.5.4, and find can't delete a document via the
> IndexWriter.deleteDocuments(term) method.
>
> Here is the test code:
>
> import org.apache.lucene.analysis.core.SimpleAnalyzer;
> import org.apache.lucene.document.Document;
> import org.apache.lucene.document.Field;
> import org.apache.lucene.document.FieldType;
> import org.apache.lucene.index.*;
> import org.apache.lucene.queryparser.classic.ParseException;
> import org.apache.lucene.queryparser.classic.QueryParser;
> import org.apache.lucene.search.IndexSearcher;
> import org.apache.lucene.search.Query;
> import org.apache.lucene.search.ScoreDoc;
> import org.apache.lucene.store.Directory;
> import org.apache.lucene.store.FSDirectory;
>
> import java.io.IOException;
> import java.nio.file.Paths;
>
> public class TestSearch {
>     static SimpleAnalyzer analyzer = new SimpleAnalyzer();
>
>     public static void main(String[] argvs) throws IOException,
> ParseException {
>         generateIndex("5836962b0293a47b09d345f1");
>         query("5836962b0293a47b09d345f1");
>         delete("5836962b0293a47b09d345f1");
>         query("5836962b0293a47b09d345f1");
>
>     }
>
>     public static void generateIndex(String id) throws IOException {
>         Directory directory = FSDirectory.open(Paths.get("/
> tmp/test/lucene"));
>         IndexWriterConfig config = new IndexWriterConfig(analyzer);
>         IndexWriter iwriter = new IndexWriter(directory, config);
>         FieldType fieldType = new FieldType();
>         fieldType.setStored(true);
>         fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_
> AND_POSITIONS_AND_OFFSETS);
>         Field idField = new Field("_id", id, fieldType);
>         Document doc = new Document();
>         doc.add(idField);
>         iwriter.addDocument(doc);
>         iwriter.close();
>
>     }
>
>     public static void query(String id) throws ParseException, IOException
> {
>         Query query = new QueryParser("_id", analyzer).parse(id);
>         Directory directory = FSDirectory.open(Paths.get("/
> tmp/test/lucene"));
>         IndexReader ireader  = DirectoryReader.open(directory);
>         IndexSearcher isearcher = new IndexSearcher(ireader);
>         ScoreDoc[] scoreDoc = isearcher.search(query, 100).scoreDocs;
>         for(ScoreDoc scdoc: scoreDoc){
>             Document doc = isearcher.doc(scdoc.doc);
>             System.out.println(doc.get("_id"));
>         }
>     }
>
>     public static void delete(String id){
>         try {
>              Directory directory =
> FSDirectory.open(Paths.get("/tmp/test/lucene"));
>             IndexWriterConfig config = new IndexWriterConfig(analyzer);
>             IndexWriter iwriter = new IndexWriter(directory, config);
>             Term term = new Term("_id", id);
>             iwriter.deleteDocuments(term);
>             iwriter.commit();
>             iwriter.close();
>         }catch (IOException e){
>             e.printStackTrace();
>         }
>     }
> }
>
>
> --
> ========================================
> best regards & a nice day
> Zhao Ximing
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: unable to delete document via the IndexWriter.deleteDocuments(term) method

Armnotstrong
Thanks, Ian:

You saved my day!

And there is a further question to ask:

Since the analyzer could only be configured through the IndexWriter,
using  different
analyzers for different Fields is not possible, right? I only want
this '_id' field to identify
the document in index, so I could update or delete the specific
document from index
when needed, the real searching field is a text field, which should be
analysed by
smart_cn analyser.

Thus, I think it will good to have such an configure option as
IndexOptions.NOT_ANALYSED.
I remember to have that in the old version of lucene, but not found in
version 5.x

Any suggestion to bypass that?

Sorry for my bad English.

2017-02-17 19:40 GMT+08:00 Ian Lea <[hidden email]>:

> Hi
>
>
> SimpleAnalyzer uses LetterTokenizer which divides text at non-letters.
> Your add and search methods use the analyzer but the delete method doesn't.
>
> Replacing SimpleAnalyzer with KeywordAnalyzer in your program fixes it.
> You'll need to make sure that your id field is left alone.
>
>
> Good to see a small self-contained test program.  A couple of suggestions
> to make it even better if there's a next time:
>
> Use final static String ID = "_id" and ... KEY =
> "5836962b0293a47b09d345f1".  Minimises the risk of typos.
>
> And use RAMDirectory.  Means your program doesn't leave junk on my disk if
> I run it, and also means it starts with an empty index each time.
>
>
> --
> Ian.
>
>
> On Fri, Feb 17, 2017 at 10:04 AM, Armnotstrong <[hidden email]> wrote:
>
>> Hi, all:
>>
>> I am Using version 5.5.4, and find can't delete a document via the
>> IndexWriter.deleteDocuments(term) method.
>>
>> Here is the test code:
>>
>> import org.apache.lucene.analysis.core.SimpleAnalyzer;
>> import org.apache.lucene.document.Document;
>> import org.apache.lucene.document.Field;
>> import org.apache.lucene.document.FieldType;
>> import org.apache.lucene.index.*;
>> import org.apache.lucene.queryparser.classic.ParseException;
>> import org.apache.lucene.queryparser.classic.QueryParser;
>> import org.apache.lucene.search.IndexSearcher;
>> import org.apache.lucene.search.Query;
>> import org.apache.lucene.search.ScoreDoc;
>> import org.apache.lucene.store.Directory;
>> import org.apache.lucene.store.FSDirectory;
>>
>> import java.io.IOException;
>> import java.nio.file.Paths;
>>
>> public class TestSearch {
>>     static SimpleAnalyzer analyzer = new SimpleAnalyzer();
>>
>>     public static void main(String[] argvs) throws IOException,
>> ParseException {
>>         generateIndex("5836962b0293a47b09d345f1");
>>         query("5836962b0293a47b09d345f1");
>>         delete("5836962b0293a47b09d345f1");
>>         query("5836962b0293a47b09d345f1");
>>
>>     }
>>
>>     public static void generateIndex(String id) throws IOException {
>>         Directory directory = FSDirectory.open(Paths.get("/
>> tmp/test/lucene"));
>>         IndexWriterConfig config = new IndexWriterConfig(analyzer);
>>         IndexWriter iwriter = new IndexWriter(directory, config);
>>         FieldType fieldType = new FieldType();
>>         fieldType.setStored(true);
>>         fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_
>> AND_POSITIONS_AND_OFFSETS);
>>         Field idField = new Field("_id", id, fieldType);
>>         Document doc = new Document();
>>         doc.add(idField);
>>         iwriter.addDocument(doc);
>>         iwriter.close();
>>
>>     }
>>
>>     public static void query(String id) throws ParseException, IOException
>> {
>>         Query query = new QueryParser("_id", analyzer).parse(id);
>>         Directory directory = FSDirectory.open(Paths.get("/
>> tmp/test/lucene"));
>>         IndexReader ireader  = DirectoryReader.open(directory);
>>         IndexSearcher isearcher = new IndexSearcher(ireader);
>>         ScoreDoc[] scoreDoc = isearcher.search(query, 100).scoreDocs;
>>         for(ScoreDoc scdoc: scoreDoc){
>>             Document doc = isearcher.doc(scdoc.doc);
>>             System.out.println(doc.get("_id"));
>>         }
>>     }
>>
>>     public static void delete(String id){
>>         try {
>>              Directory directory =
>> FSDirectory.open(Paths.get("/tmp/test/lucene"));
>>             IndexWriterConfig config = new IndexWriterConfig(analyzer);
>>             IndexWriter iwriter = new IndexWriter(directory, config);
>>             Term term = new Term("_id", id);
>>             iwriter.deleteDocuments(term);
>>             iwriter.commit();
>>             iwriter.close();
>>         }catch (IOException e){
>>             e.printStackTrace();
>>         }
>>     }
>> }
>>
>>
>> --
>> ========================================
>> best regards & a nice day
>> Zhao Ximing
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>



--
========================================
best regards & a nice day
Zhao Ximing

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: unable to delete document via the IndexWriter.deleteDocuments(term) method

Ian Lea
Hi


Sounds like you should use FieldType.setTokenized(false).  For the
equivalent field in some of my lucene indexes I use

FieldType idf = new FieldType();
idf.setStored(true);
idf.setOmitNorms(true);
idf.setIndexOptions(IndexOptions.DOCS);
idf.setTokenized(false);
idf.freeze();

There's also PerFieldAnalyzerWrapper,  in oal.analysis.miscellaneous for
version 6.x although I have a feeling it was elsewhere in earlier versions.


--
Ian.



On Fri, Feb 17, 2017 at 12:26 PM, Armnotstrong <[hidden email]> wrote:

> Thanks, Ian:
>
> You saved my day!
>
> And there is a further question to ask:
>
> Since the analyzer could only be configured through the IndexWriter,
> using  different
> analyzers for different Fields is not possible, right? I only want
> this '_id' field to identify
> the document in index, so I could update or delete the specific
> document from index
> when needed, the real searching field is a text field, which should be
> analysed by
> smart_cn analyser.
>
> Thus, I think it will good to have such an configure option as
> IndexOptions.NOT_ANALYSED.
> I remember to have that in the old version of lucene, but not found in
> version 5.x
>
> Any suggestion to bypass that?
>
> Sorry for my bad English.
>
> 2017-02-17 19:40 GMT+08:00 Ian Lea <[hidden email]>:
> > Hi
> >
> >
> > SimpleAnalyzer uses LetterTokenizer which divides text at non-letters.
> > Your add and search methods use the analyzer but the delete method
> doesn't.
> >
> > Replacing SimpleAnalyzer with KeywordAnalyzer in your program fixes it.
> > You'll need to make sure that your id field is left alone.
> >
> >
> > Good to see a small self-contained test program.  A couple of suggestions
> > to make it even better if there's a next time:
> >
> > Use final static String ID = "_id" and ... KEY =
> > "5836962b0293a47b09d345f1".  Minimises the risk of typos.
> >
> > And use RAMDirectory.  Means your program doesn't leave junk on my disk
> if
> > I run it, and also means it starts with an empty index each time.
> >
> >
> > --
> > Ian.
> >
> >
> > On Fri, Feb 17, 2017 at 10:04 AM, Armnotstrong <[hidden email]>
> wrote:
> >
> >> Hi, all:
> >>
> >> I am Using version 5.5.4, and find can't delete a document via the
> >> IndexWriter.deleteDocuments(term) method.
> >>
> >> Here is the test code:
> >>
> >> import org.apache.lucene.analysis.core.SimpleAnalyzer;
> >> import org.apache.lucene.document.Document;
> >> import org.apache.lucene.document.Field;
> >> import org.apache.lucene.document.FieldType;
> >> import org.apache.lucene.index.*;
> >> import org.apache.lucene.queryparser.classic.ParseException;
> >> import org.apache.lucene.queryparser.classic.QueryParser;
> >> import org.apache.lucene.search.IndexSearcher;
> >> import org.apache.lucene.search.Query;
> >> import org.apache.lucene.search.ScoreDoc;
> >> import org.apache.lucene.store.Directory;
> >> import org.apache.lucene.store.FSDirectory;
> >>
> >> import java.io.IOException;
> >> import java.nio.file.Paths;
> >>
> >> public class TestSearch {
> >>     static SimpleAnalyzer analyzer = new SimpleAnalyzer();
> >>
> >>     public static void main(String[] argvs) throws IOException,
> >> ParseException {
> >>         generateIndex("5836962b0293a47b09d345f1");
> >>         query("5836962b0293a47b09d345f1");
> >>         delete("5836962b0293a47b09d345f1");
> >>         query("5836962b0293a47b09d345f1");
> >>
> >>     }
> >>
> >>     public static void generateIndex(String id) throws IOException {
> >>         Directory directory = FSDirectory.open(Paths.get("/
> >> tmp/test/lucene"));
> >>         IndexWriterConfig config = new IndexWriterConfig(analyzer);
> >>         IndexWriter iwriter = new IndexWriter(directory, config);
> >>         FieldType fieldType = new FieldType();
> >>         fieldType.setStored(true);
> >>         fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_
> >> AND_POSITIONS_AND_OFFSETS);
> >>         Field idField = new Field("_id", id, fieldType);
> >>         Document doc = new Document();
> >>         doc.add(idField);
> >>         iwriter.addDocument(doc);
> >>         iwriter.close();
> >>
> >>     }
> >>
> >>     public static void query(String id) throws ParseException,
> IOException
> >> {
> >>         Query query = new QueryParser("_id", analyzer).parse(id);
> >>         Directory directory = FSDirectory.open(Paths.get("/
> >> tmp/test/lucene"));
> >>         IndexReader ireader  = DirectoryReader.open(directory);
> >>         IndexSearcher isearcher = new IndexSearcher(ireader);
> >>         ScoreDoc[] scoreDoc = isearcher.search(query, 100).scoreDocs;
> >>         for(ScoreDoc scdoc: scoreDoc){
> >>             Document doc = isearcher.doc(scdoc.doc);
> >>             System.out.println(doc.get("_id"));
> >>         }
> >>     }
> >>
> >>     public static void delete(String id){
> >>         try {
> >>              Directory directory =
> >> FSDirectory.open(Paths.get("/tmp/test/lucene"));
> >>             IndexWriterConfig config = new IndexWriterConfig(analyzer);
> >>             IndexWriter iwriter = new IndexWriter(directory, config);
> >>             Term term = new Term("_id", id);
> >>             iwriter.deleteDocuments(term);
> >>             iwriter.commit();
> >>             iwriter.close();
> >>         }catch (IOException e){
> >>             e.printStackTrace();
> >>         }
> >>     }
> >> }
> >>
> >>
> >> --
> >> ========================================
> >> best regards & a nice day
> >> Zhao Ximing
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [hidden email]
> >> For additional commands, e-mail: [hidden email]
> >>
> >>
>
>
>
> --
> ========================================
> best regards & a nice day
> Zhao Ximing
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: unable to delete document via the IndexWriter.deleteDocuments(term) method

Armnotstrong
Thanks Ian,

   That's what I needed, things now work like a charm.
   someone really should put this in a blog or something :D

   good day



2017-02-17 21:16 GMT+08:00 Ian Lea <[hidden email]>:

> Hi
>
>
> Sounds like you should use FieldType.setTokenized(false).  For the
> equivalent field in some of my lucene indexes I use
>
> FieldType idf = new FieldType();
> idf.setStored(true);
> idf.setOmitNorms(true);
> idf.setIndexOptions(IndexOptions.DOCS);
> idf.setTokenized(false);
> idf.freeze();
>
> There's also PerFieldAnalyzerWrapper,  in oal.analysis.miscellaneous for
> version 6.x although I have a feeling it was elsewhere in earlier versions.
>
>
> --
> Ian.
>
>
>
> On Fri, Feb 17, 2017 at 12:26 PM, Armnotstrong <[hidden email]> wrote:
>
>> Thanks, Ian:
>>
>> You saved my day!
>>
>> And there is a further question to ask:
>>
>> Since the analyzer could only be configured through the IndexWriter,
>> using  different
>> analyzers for different Fields is not possible, right? I only want
>> this '_id' field to identify
>> the document in index, so I could update or delete the specific
>> document from index
>> when needed, the real searching field is a text field, which should be
>> analysed by
>> smart_cn analyser.
>>
>> Thus, I think it will good to have such an configure option as
>> IndexOptions.NOT_ANALYSED.
>> I remember to have that in the old version of lucene, but not found in
>> version 5.x
>>
>> Any suggestion to bypass that?
>>
>> Sorry for my bad English.
>>
>> 2017-02-17 19:40 GMT+08:00 Ian Lea <[hidden email]>:
>> > Hi
>> >
>> >
>> > SimpleAnalyzer uses LetterTokenizer which divides text at non-letters.
>> > Your add and search methods use the analyzer but the delete method
>> doesn't.
>> >
>> > Replacing SimpleAnalyzer with KeywordAnalyzer in your program fixes it.
>> > You'll need to make sure that your id field is left alone.
>> >
>> >
>> > Good to see a small self-contained test program.  A couple of suggestions
>> > to make it even better if there's a next time:
>> >
>> > Use final static String ID = "_id" and ... KEY =
>> > "5836962b0293a47b09d345f1".  Minimises the risk of typos.
>> >
>> > And use RAMDirectory.  Means your program doesn't leave junk on my disk
>> if
>> > I run it, and also means it starts with an empty index each time.
>> >
>> >
>> > --
>> > Ian.
>> >
>> >
>> > On Fri, Feb 17, 2017 at 10:04 AM, Armnotstrong <[hidden email]>
>> wrote:
>> >
>> >> Hi, all:
>> >>
>> >> I am Using version 5.5.4, and find can't delete a document via the
>> >> IndexWriter.deleteDocuments(term) method.
>> >>
>> >> Here is the test code:
>> >>
>> >> import org.apache.lucene.analysis.core.SimpleAnalyzer;
>> >> import org.apache.lucene.document.Document;
>> >> import org.apache.lucene.document.Field;
>> >> import org.apache.lucene.document.FieldType;
>> >> import org.apache.lucene.index.*;
>> >> import org.apache.lucene.queryparser.classic.ParseException;
>> >> import org.apache.lucene.queryparser.classic.QueryParser;
>> >> import org.apache.lucene.search.IndexSearcher;
>> >> import org.apache.lucene.search.Query;
>> >> import org.apache.lucene.search.ScoreDoc;
>> >> import org.apache.lucene.store.Directory;
>> >> import org.apache.lucene.store.FSDirectory;
>> >>
>> >> import java.io.IOException;
>> >> import java.nio.file.Paths;
>> >>
>> >> public class TestSearch {
>> >>     static SimpleAnalyzer analyzer = new SimpleAnalyzer();
>> >>
>> >>     public static void main(String[] argvs) throws IOException,
>> >> ParseException {
>> >>         generateIndex("5836962b0293a47b09d345f1");
>> >>         query("5836962b0293a47b09d345f1");
>> >>         delete("5836962b0293a47b09d345f1");
>> >>         query("5836962b0293a47b09d345f1");
>> >>
>> >>     }
>> >>
>> >>     public static void generateIndex(String id) throws IOException {
>> >>         Directory directory = FSDirectory.open(Paths.get("/
>> >> tmp/test/lucene"));
>> >>         IndexWriterConfig config = new IndexWriterConfig(analyzer);
>> >>         IndexWriter iwriter = new IndexWriter(directory, config);
>> >>         FieldType fieldType = new FieldType();
>> >>         fieldType.setStored(true);
>> >>         fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_
>> >> AND_POSITIONS_AND_OFFSETS);
>> >>         Field idField = new Field("_id", id, fieldType);
>> >>         Document doc = new Document();
>> >>         doc.add(idField);
>> >>         iwriter.addDocument(doc);
>> >>         iwriter.close();
>> >>
>> >>     }
>> >>
>> >>     public static void query(String id) throws ParseException,
>> IOException
>> >> {
>> >>         Query query = new QueryParser("_id", analyzer).parse(id);
>> >>         Directory directory = FSDirectory.open(Paths.get("/
>> >> tmp/test/lucene"));
>> >>         IndexReader ireader  = DirectoryReader.open(directory);
>> >>         IndexSearcher isearcher = new IndexSearcher(ireader);
>> >>         ScoreDoc[] scoreDoc = isearcher.search(query, 100).scoreDocs;
>> >>         for(ScoreDoc scdoc: scoreDoc){
>> >>             Document doc = isearcher.doc(scdoc.doc);
>> >>             System.out.println(doc.get("_id"));
>> >>         }
>> >>     }
>> >>
>> >>     public static void delete(String id){
>> >>         try {
>> >>              Directory directory =
>> >> FSDirectory.open(Paths.get("/tmp/test/lucene"));
>> >>             IndexWriterConfig config = new IndexWriterConfig(analyzer);
>> >>             IndexWriter iwriter = new IndexWriter(directory, config);
>> >>             Term term = new Term("_id", id);
>> >>             iwriter.deleteDocuments(term);
>> >>             iwriter.commit();
>> >>             iwriter.close();
>> >>         }catch (IOException e){
>> >>             e.printStackTrace();
>> >>         }
>> >>     }
>> >> }
>> >>
>> >>
>> >> --
>> >> ========================================
>> >> best regards & a nice day
>> >> Zhao Ximing
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [hidden email]
>> >> For additional commands, e-mail: [hidden email]
>> >>
>> >>
>>
>>
>>
>> --
>> ========================================
>> best regards & a nice day
>> Zhao Ximing
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]