The problem with your code snippets are that they aren't plain Lucene API calls. I'm assuming that you've got your own classes that actually compile <G>. There's nothing I can say about "what's going on" without knowing what your custom classes are doing.....
We need to know what analyzers you are using, both at query and compile time. I suspect that you're using an analyzer that perhaps breaks on the path separators, but I can't be sure. I recommend that you try a basic case using the stock Lucene API code, and post that. Otherwise we're pretty helpless. Two other things: 1> get a copy of Luke (google lucene luke) and examine your index. Luke can also be used to examine the effects of various analyzers on queries. 2> use query.toString() to examine what the query looks like after parsing and print that to system.out. Best Erick On 6/18/07, Lee Li Bin <[EMAIL PROTECTED]> wrote:
Hi, The following query, I am getting only the file path results. I have a field name 'text' in the index. May I know do I display the text file data? Is this the problem with the indexing or the query string? Creating Index: Document doc5 = new Document(); doc5.add(Field.UnIndexed("path", path)); doc5.add(Field.Text("MMmanualType", new StringReader(manualType))); doc5.add(Field.Text("text", new StringReader(info))); Search: TermQuery queryOM = new TermQuery(new Term("text",OMcriteriaIn)); subquery.add(new BooleanClause(query3, true, false)); subquery.add(new BooleanClause(queryOM, true, false)); System.out.println("Searching for: " + subquery.toString("text")); Hits hits = searcher.search(subquery); System.out.println("Number of matching documents = " + hits.length()); for (int c = 0; c < hits.length(); c++) { Document doc = hits.doc(c); System.out.println("Query found in file: " + doc.get("path")); System.out.println("Content: " + doc.get("text")); } Regards, Lee Li Bin