it seems adding the '+' (required) operator to each term in a multi-term query 
does the trick:

http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#+

ie: edgytext2:(+Martin +Sco)


-robert



On Nov 16, 2010, at 8:52 PM, Robert Gründler wrote:

> thanks for the explanation.
> 
> the results for the autocompletion are pretty good now, but we still have a 
> small problem. 
> 
> When there are hits in the "edgytext2" fields, results which only have hits 
> in the "edgytext" field
> should not be returned at all.
> 
> Example:
> 
> Query: "Martin Sco"
> 
> Current Results (in that order):
> 
> - "Martin Scorsese"
> - "Martin Lawrence"
> - "Joseph Martin"
> 
> However, in an autocompletion context, only "Martin Scorsese" makes sense, 
> the 2 others are logically
> not correct.
> 
> I'm not sure if this can be solved on the solr side, or if we should 
> implement the logic in the
> application.
> 
> 
> thanks!
> 
> -robert
> 
> 
> 
> 
> 
> 
> 
> On Nov 12, 2010, at 12:13 AM, Jonathan Rochkind wrote:
> 
>> Without the parens, the "edgytext:" only applied to "Mr", the default field 
>> still applied to "Scorcese".
>> 
>> The double quotes are neccesary in the second case (rather than parens), 
>> because on a non-tokenized field because the standard query parser will 
>> "pre-tokenize" on whitespace before sending individual white-space seperated 
>> words to match the index. If the index includes multi-word tokens with 
>> internal whitespace, they will never match. But the standard query parser 
>> doesn't "pre-tokenize" like this, it passes the whole phrase to the index 
>> intact.
>> 
>> Robert Gründler wrote:
>>>> Did you run your query without using () and "" operators? If yes can you 
>>>> try this?
>>>> &q=edgytext:(Mr Scorsese) OR edgytext2:"Mr Scorsese"^2.0
>>>> 
>>> 
>>> I didn't use () and "" in my query before. Using the query with those 
>>> operators
>>> works now, stopwords are thrown out as the should, thanks.
>>> 
>>> However, i don't understand how the () and "" operators affect the 
>>> StopWordFilter.
>>> 
>>> Could you give a brief explanation for the above example?
>>> 
>>> thanks!
>>> 
>>> 
>>> -robert
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
> 

Reply via email to