Have you seen the new function queries in 4.x? In particular 'if' and 'exists'.... See: http://wiki.apache.org/solr/FunctionQuery#if
Best Erick On Fri, Feb 15, 2013 at 12:10 PM, adityab <aditya_ba...@yahoo.com> wrote: > Hi, > Trying to find a better approach for searching keywords. > We have indexed about 100K documents indexed in Solr 3.5 and each doc has > field title for different country > Field "title" is dynamic defined as title.* about 20 countries . > its not necessary that each document will have title for all 20 countries > but every document will have "title.0" which indicates as default. Our > current search query is currently querying > q=(title.0:"xyz"^50 OR title.3:"xyz"^100) > where we used "title.3" because user country id is 3 so boosting locale > document accordingly. This works good in most cases. but we had a case > where > we ran into issue. > > DocA // Common title and is same for all county so no additional titles. > <title.0>Fighter<title.0> > > DocB > <title.0>The Ultimate Street Fighter<title.0> // Default > <title.1>Ultimate Fighter<title.1> // For UK > > > now querying for UK user q=(title.0:"Fighter"^50 OR title.1:"Fighter"^100) > DocB shows 1st as it scores higher but user is expecting DocA > > Is there any query function to check if the title.<countryId> exist then > look into it else just look into title.0 only > > any other suggestion to avoid such issue would really help. > We are also planning to move to Solr4.1 so anything with this new Solr > version will also do. > > > > > -- > View this message in context: > http://lucene.472066.n3.nabble.com/Conditional-Field-Search-without-affecting-score-tp4040657.html > Sent from the Solr - User mailing list archive at Nabble.com. >