Hello; I'm trying to create a Filter that only retrieves documents with a path field containing a sub string(s).
I can get the Filter to work if the BooleanQuery below (used to create the Filter) contains only TermQueries (this requires me to know the exact path). But not if it contains Wildcard? Here is the code to create the filter: //if the paths parameter is null we don't use the filter boolean useFilter = false; BooleanQuery filterParams = new BooleanQuery(); if (paths != null) { useFilter = true; Trace.DEBUG("The query will have a filter with " + paths.size() + " terms."); Iterator path = paths.iterator(); while (path.hasNext()) { String strPath = "*" + (String)path.next() + "*"; Trace.DEBUG(strPath + " is one of the params"); filterParams.add(new WildcardQuery(new Term("path", strPath)), false, false); } } Trace.DEBUG("The filter is created using this: " + filterParams); Filter pathFilter = new QueryFilter(filterParams); Trace.DEBUG("The filter is " + pathFilter.toString()); When useFilter is true, the search is executed with pathFilter as the second parameter -> hits = searcher.search(query, pathFilter); Here is a small output, without the filter this query returns all the documents in the index. With it, 6 should be coming back. *testing* is one of the params The filter is created using this: path:*testing* The filter is QueryFilter(path:*testing*) The query: olfaithfull:*stillhere* returned 0 Why won't this work? Thanks, Luke --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]