Chrisitan, if you haven't done so you might find Luke (http://www.getopt.org/luke/) very helpful so see what has been indexed and how.
simon On Thu, Aug 13, 2009 at 6:10 AM, Christian Bongiorno<christ...@bongiorno.org> wrote: > turns out the index is being built with lower-case terms which is why we > aren't getting hits the way we expect. When I change my search terms to > lower I see more of what I expect. > > Gonna keep working on this and post updates. > > On Wed, Aug 12, 2009 at 12:46 PM, Christian Bongiorno < > christ...@bongiorno.org> wrote: > >> I have a situation where I have a series of terms queries as part of a >> BooleanQuery. >> >> example: >> >> term: 'sole type' -> leather >> BooleanClause.SHOULD_OCCURR >> term: 'title' -> 'Men's Golf shoes' >> BooleanClause.SHOULD_OCCURR >> ... >> >> But, some terms are incredibly powerful indicators of match >> term: 'band type' -> 'gold' >> >> Normally, I would set this as a field boost in the query. Problem is, it >> isn't producing ANY changes even when I set the boost score absurdly high. I >> have also tried to set the BooleanClause.MUST on my really important term >> and I get no results at all. >> >> I tried a simple TermQuery for that (no clause) and got no results. Below >> is a code snippet. I checked through the recent archives discussing field >> boosts and I am pretty confident I am doing it right. So, now I am presuming >> it's a problem with my query. >> >> private Query buildQuery(Map<String, String> CatalogInfo) { >> if (CatalogInfo != null && CatalogInfo.size() > 0) { >> BooleanQuery booleanQuery = new BooleanQuery(); >> for (Map.Entry<String, String> attributeValue : >> CatalogInfo.entrySet()) { >> String attributeName = attributeValue.getKey(); >> String[] attributeValues; >> if (attributeValue.getValue().indexOf(VALUES_DELIMITER) == >> -1) { >> attributeValues = new String[] >> {attributeValue.getValue()}; >> } else { >> attributeValues = >> attributeValue.getValue().split(VALUES_DELIMITER); >> } >> for (String attributeValue : attributeValues) { >> String escapedValue = >> QueryParser.escape(attributeValue).trim(); >> TermQuery termQuery = new TermQuery(new >> Term(attributeName, escapedValue)); >> >> >> Float boostNumber = _boostMap.get(attributeName); // >> this is where 'band type' gets it's boost >> if (boostNumber != null) { >> LOG.warn("Boost value found: " + boostNumber); >> termQuery.setBoost(boostNumber); >> } >> booleanQuery.add(termQuery, >> BooleanClause.Occur.SHOULD); >> } >> } >> LOG.warn("Boolean query: " + booleanQuery.toString()); >> return booleanQuery; >> } >> return null; >> } >> -- >> Christian Bongiorno >> >> > > > -- > Christian Bongiorno > --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org