Hmm ok I got something.
Ramon Casha On 18 December 2012 15:44, Ramon Casha <rca...@gmail.com> wrote: > I converted them to TextField but the result is the same. > > doc.add(new TextField("text", text.toString(), Store.YES)); > > The search always returns an empty array. > > Ramon Casha > > > On 18 December 2012 15:35, Jack Krupansky <j...@basetechnology.com> wrote: >> Maybe you wanted "text" fields that are analyzed and tokenized, as opposed >> to string fields which are not analyzed and stored and queried exactly >> as-is. >> >> See: >> http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/document/TextField.html >> >> But, show us some of your indexed data and queries that fail. >> >> -- Jack Krupansky >> >> -----Original Message----- From: Ramon Casha >> Sent: Tuesday, December 18, 2012 9:14 AM >> To: java-user@lucene.apache.org >> Subject: Help needed: search is returning no results >> >> >> I have just downloaded and set up Lucene 4.0.0 to implement a search >> facility for a web app I'm developing. >> >> Creating the index seems to be successful - the files created contain >> the text that I'm indexing. However, search is returning no results. >> The code I'm using is fairly similar to the examples given. >> >> Here is the search code: >> >> private static final File index = new File("/tmp/naturopedia-index"); >> private static final Version VERSION = Version.LUCENE_40; >> >> public String search() throws IOException, ParseException { >> Analyzer analyzer = new StandardAnalyzer(VERSION); >> Directory directory = FSDirectory.open(index); >> >> DirectoryReader ireader = DirectoryReader.open(directory); >> IndexSearcher isearcher = new IndexSearcher(ireader); >> >> QueryParser parser = new QueryParser(VERSION, "labels", analyzer); >> >> Query q = parser.parse(getQuery()); >> ScoreDoc[] hits = isearcher.search(q, 1000).scoreDocs; >> >> for (int i = 0; i < hits.length; i++) { >> Document hitDoc = isearcher.doc(hits[i].doc); >> System.out.println(hitDoc.getField("id")); >> } >> ireader.close(); >> directory.close(); >> return "search"; >> } >> ---------------------- >> Every time I try this, the search returns zero results. I tried with >> different fields (text and labels), both of which are indexed, and I >> tried different words. Any help would be appreciated. >> >> Here is the code for producing the index: >> >> public String crawl() throws IOException { >> Analyzer analyzer = new StandardAnalyzer(VERSION); >> Directory directory = FSDirectory.open(index); >> >> IndexWriterConfig config = new IndexWriterConfig(VERSION, analyzer); >> config.setOpenMode(IndexWriterConfig.OpenMode.CREATE); >> IndexWriter iwriter = new IndexWriter(directory, config); >> >> DB db = new DB(); // JPA interface class. >> >> for ( Taxonomy t : db.taxonomy.all() ) { >> LOG.log(Level.INFO, "Scanning {0}", t); >> >> Document doc = new Document(); >> doc.add(new LongField("id", t.getId(), Store.YES)); >> LOG.log(Level.INFO, " id={0}", t.getId()); >> StringBuilder text = new StringBuilder(); >> for(Text l : t.getTexts()) { >> text.append(l.getWikiText()) >> .append((' ')); >> } >> if(text.length() > 0) { >> doc.add(new StringField("text", text.toString(), >> Field.Store.YES)); >> LOG.log(Level.INFO, " text={0}", text); >> } >> >> StringBuilder labels = new StringBuilder(); >> toIndex(labels, t.getLabels()); >> for(Image l : t.getImages()) { >> toIndex(labels, l.getLabels()); >> } >> doc.add(new StringField("labels", labels.toString(), >> Field.Store.NO)); >> LOG.log(Level.INFO, " labels={0}", labels); >> StringBuilder sb = new StringBuilder(); >> for ( Tag tag : t.getTags() ) { >> toIndex(sb, tag.getLabels()); >> } >> if(!sb.toString().isEmpty()) { >> doc.add(new StringField("tags", sb.toString(), >> Field.Store.NO)); >> LOG.log(Level.INFO, " tags={0}", sb); >> } >> iwriter.addDocument(doc); >> } >> >> db.close(); >> iwriter.close(); >> >> return "search"; >> } >> >> private void toIndex(StringBuilder sb, LabelGroup lg) { >> for(Label l : lg.getLabels()) { >> sb.append(l.getText()); >> sb.append(" "); >> } >> } >> >> >> -- >> Ramon Casha >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org