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 >>> >>> >>> >>> >>> >>> >