import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.*;
import org.apache.lucene.store.*;
import org.apache.lucene.util.*;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
public class test{
private static String id;
private Analyzer analyzer;
public static void main(String args[]){
try{
Document d=new Document();
File indexDir = new File("./index-dir");
StandardAnalyzer analyzer = new
StandardAnalyzer(Version.LUCENE_31);
IndexWriter writer = null;
IndexWriterConfig conf = new
IndexWriterConfig(Version.LUCENE_31, analyzer);
try {
writer = new IndexWriter(FSDirectory.open(indexDir),conf);
} catch (IOException e1) {
e1.printStackTrace();
}
d.add(new
Field("DocId","00000341",Field.Store.YES,Field.Index.ANALYZED));
d.add(new
Field("CockId","341",Field.Store.YES,Field.Index.ANALYZED));
d.add(new
Field("RockId","41",Field.Store.YES,Field.Index.ANALYZED));
writer.addDocument(d);
writer.optimize();
writer.close();
IndexSearcher searcher = null;
searcher = new IndexSearcher(FSDirectory.open(indexDir));
QueryParser parser = new
QueryParser(Version.LUCENE_31,"text",analyzer);
String[] queryStrings = new String[] {
"00000341","DocId","341","41",
"9652993802" };
TopDocs results = null;
for (String queryString : queryStrings) {
System.out.println("searching for: " + queryString);
Query query1;
query1 = parser.parse(queryString);
results = searcher.search(query1,10);
System.out.println("total hits: " + results.totalHits);
ScoreDoc[] hits = results.scoreDocs;
Document doc = null;
for (ScoreDoc hit : hits)
{
doc = searcher.doc(hit.doc);
System.out.printf("%5.3f %sn",hit.score,
doc.get("DocId"));
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
This is giving search results as 0. Can someone please help me out. May be
my doubt would be silly but I am not getting what actually the problem is. I
am using Lucene 3.1
Thanks
Pranav