Hi Does anyone know why Lucene returns 0 hits when there are in fact three matches? The attached are two java class that repeat the problem. In the example, I created a Keyword field "type" for each document added. Lucene can correctly find the documents if I use "Text" field instead of "Keyword" field.
Thanks in advance Fred package test; import java.io.IOException; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; public class IndexItems { public static void main(String[] args) throws IOException { try { IndexWriter writer = new IndexWriter("/test/index", new StandardAnalyzer(), true); indexDocs(writer); writer.optimize(); writer.close(); System.out.println("index finished."); } catch (IOException e) { System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage()); } } private static void indexDocs(IndexWriter writer) throws IOException { Document document=new Document(); document.add(Field.Keyword("type", "stockSingle")); document.add(Field.Text("desc", "test single 1")); writer.addDocument(document); document=new Document(); document.add(Field.Keyword("type", "stockSingle")); document.add(Field.Text("desc", "test single 2")); writer.addDocument(document); document=new Document(); document.add(Field.Keyword("type", "stockItem")); document.add(Field.Text("desc", "test single 3")); writer.addDocument(document); } } package test; import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.search.Searcher; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.QueryFilter; import org.apache.lucene.search.Hits; import org.apache.lucene.queryParser.QueryParser; public class SearchItems { public static void main(String[] args) { try { Searcher searcher = new IndexSearcher("/test/index"); QueryParser qp=new QueryParser("type", new StandardAnalyzer()); Query query=qp.parse("type:stockSingle"); Hits hits = searcher.search(query); System.out.println("search found: "+hits.length() + " total matching documents"); searcher.close(); } catch (Exception e) { System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage()); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]