lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukai <lukai1...@gmail.com>
Subject Re: Lucene 4.0.0 - find term position.
Date Fri, 07 Dec 2012 00:49:46 GMT
terms = fileds.terms(...);
termsEnum = terms.iterator(null);
termsEnum.seekExat(...);
docsAndPositionsEnum docsPosEnum = termsEnum.docsAndPositions(...);

You can get the information in "docsPosEnum".


On Thu, Dec 6, 2012 at 2:28 AM, <Vitaly_Artemov@mcafee.com> wrote:

> Hi all,
> I am new with Lucene.
> I try to understand how can I find the term position.
>
> I use following code to index documents:
> ...
>                 IndexWriter writer = new IndexWriter(mIndexDir, mIwc);
>                 FileInputStream fis;
>                 fis = new FileInputStream(file);
> Document doc = new Document();
> Field pathField = new StringField("path", file.getPath(), Field.Store.YES);
>                 doc.add(pathField);
> doc.add(new TextField("contents", new BufferedReader(new
> InputStreamReader(fis, "UTF-16LE"))));
> writer.updateDocument(new Term("path", file.getPath()), doc);
> fis.close();
> writer.close();
> ...
>
> To search I use following code:
> ...
> IndexReader reader = DirectoryReader.open( mIndexDir );
> IndexSearcher searcher = new IndexSearcher(reader);
> QueryParser parser = new QueryParser(Version.LUCENE_40, "contents",
> mAnalyzer);
> Query query = parser.parse(aQuery);
>
> TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);
> searcher.search(query, collector);
> ScoreDoc[] hits = collector.topDocs().scoreDocs;
>
> for(int i=0;i<hits.length;++i) {
>                 int docId = hits[i].doc;
>                 Document d = searcher.doc(docId);
> }
> ...
> How can I find positions of my query string in the indexed documents.
>
> Thanks, Vitaly
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message