lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <e...@ehatchersolutions.com>
Subject Re: Query that doesn't match a term more than once
Date Sat, 13 Aug 2005 10:27:48 GMT

On Aug 12, 2005, at 9:22 PM, Chris Hostetter wrote:
> : Programatically you can use PhrasePrefixQuery - see Lucene's test
> : case code for examples of how it's used, but it is a bit of work to
> : set up.
>
> That's only needed if you assume that the field contains tokenized  
> text.
> if the whole name is indexed as a single Term, then a regular  
> prefix query
> should work -- in fact, telling QueryParser to use an Analyzer that
> doesn't do any tokenizing should work too.

Thats a good point - thanks for mentioning that.  However you'd still  
have to deal with escaping the space.  I haven't tried it, but would  
a query of john\ j* using the KeywordAnalyzer do the trick?  This  
requires that "john jacob... schmidt" be left as a single token  
during indexing.

     Erik


>
> : > Is there a way to get lucene to get "satisfied" after matching  
> "john"
> : > and then require a second j-word to return a match for j*
> :
> : In short, not easily, but it is possible with PhrasePrefixQuery
> : programatically.  QueryParser does not support this at all  
> currently.
> :
> :
> :      Erik
> :
> : > The error might be on my end though.
> : > If I have the same person registered as "john carlson" and "john
> : > doe carlson"
> : > I add both values to the name field -- could that be it? If  
> that is so
> : > I wouldn't expect lucene to return the hit if I search for e.g.  
> "john
> : > joh* jo*" ?
> : >
> : > At least I'd like to boost the ranking of the results that match
> : > better. Right now "john j*" gives me john thompson as the top  
> hit even
> : > though there are heaps of john johnsons.
> : >
> : > I hope you can point me in the right direction.
> : > Thanks
> : >
> : > /Lasse
> : >
> : > My query parser code looks like this:
> : >             QueryParser parser = new QueryParser(field,  
> _analyzer);
> : >             parser.setOperator(QueryParser.DEFAULT_OPERATOR_AND);
> : >             parser.setLocale(new Locale("DA", "dk"));
> : >             Query q = parser.parse(value);
> : >             query.add(q, required, false);
> : >
> : >  
> ---------------------------------------------------------------------
> : > To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> : > For additional commands, e-mail: java-user-help@lucene.apache.org
> : >
> :
> :
> :  
> ---------------------------------------------------------------------
> : To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> : For additional commands, e-mail: java-user-help@lucene.apache.org
> :
>
>
>
> -Hoss
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message