Hi everyone In the following piece of code, Query test1 returns result, while Query test2 does not return result!! Obviously “Toronto” is appearing in the doc. Can any one tell me what’s wrong?
Thanks private static void testRAMSpam() throws IOException { RAMDirectory directory = new RAMDirectory(); Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_4_10_0); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_4_10_0, analyzer); IndexWriter writer = new IndexWriter(directory, iwc); Document doc = new Document(); doc.add(new TextField("f", "Project X took place in Waterloo. It was successful", Field.Store.YES)); writer.addDocument(doc); doc = new Document(); doc.add(new TextField("f", "Project Y took place in Toronto. It was also good.", Field.Store.YES)); writer.addDocument(doc); writer.close(); IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); SpanTermQuery test1 = new SpanTermQuery(new Term("f", "good")); System.out.println("test span query: " + test1.toString()); TopDocs results1 = searcher.search(test1, 100); System.out.println("num result 1 : " + results1.totalHits); SpanTermQuery test2 = new SpanTermQuery(new Term("f", "Toronto")); System.out.println("test span query: " + test2.toString()); TopDocs results2 = searcher.search(test2, 100); System.out.println("num result 2: " + results2.totalHits); }