I thought the intention to convert country as fq is to hit the filter cache for 
performance than boosting results.
> On Dec 27, 2013, at 10:31 PM, Josh Lincoln <josh.linc...@gmail.com> wrote:
> 
> what if you add your country field to qf with a strong boost? the search
> experience would be slightly different than if you filter on country, but
> maybe still good enough for your users and certainly simpler to implement
> and maintain. You'd likely only want exact matches. Assuming you are using
> edismax and a stopword file for your main query fields, you'll run into an
> issue if you just index your country field as a string and there's a
> stopword anywhere in your query...see SOLR-3085. To avoid this, yet still
> boost on country only when there's an exact match, you could index the
> country field as text using KeywordTokenizerFactory and the same stopword
> file as your other fields.
> 
> Regardless of the approach you take, unless there's only a small list of
> countries you care about, multi-word countries might be too big an issue to
> ignore, especially when the name contains common words (e.g. United States,
> South Korea, New Zealand). This may be a good candidate for named entity
> recognition on the query, possibly leveraging openNLP. I once saw a
> presentation on how linkedin uses nlp on the query to detect the types of
> entities the user is looking for. Seems similar to what you're trying to
> accomplish. Of course, if countries are the only thing you're interested in
> then you may be able to get away with client code for simple substring
> matching using a static list of countries.
> 
>> On Dec 23, 2013 3:08 PM, "Joel Bernstein" <joels...@gmail.com> wrote:
>> 
>> I  would suggest handling this in the client. You could write custom Solr
>> code also but it would be more complicated because you'd be working with
>> Solr's API's.
>> 
>> Joel Bernstein
>> Search Engineer at Heliosearch
>> 
>> 
>>> On Mon, Dec 23, 2013 at 2:36 PM, jmlucjav <jmluc...@gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I have this scenario that I think is no unusual: solr will get a user
>>> entered query string like 'apple pear france'.
>>> 
>>> I need to do this: if any of the terms is a country, then change the
>> query
>>> params to move that term to a fq, i.e:
>>> q=apple pear france
>>> to
>>> q=apple pear&fq=country:france
>>> 
>>> What do you guys would be the best way to implement this?
>>> - custom searchcomponent or queryparser
>>> - servlet in same jetty as solr
>>> - client code
>>> 
>>> To simplify, consider countries are just a single term.
>>> 
>>> Any pointer to an example to base this on would be great. thanks
>> 

Reply via email to