Thanks for you answer James :)

For guys who would meet up with this problem,
http://markmail.org/thread/xce4qyzs5367yplo also speaks about this, and
reaches James' conclusion too.

On Thu, May 26, 2011 at 10:19 PM, Dyer, James <james.d...@ingrambook.com>wrote:

> This is a limitation of Lucene/Solr in that there is no way to tell it to
> not match across mutli-valued field occurences.
>
> A workaround is to convert your query to a phrase and add a "slop" factor
> less than your posititonIncrementGap.  ex:  q="alice trudy"~99  ... This
> example assumes that your positionIncrementGap is set to 100 (the default I
> think) or greater.  This tells it that rather than search for a strict
> phrase, the words in the phrase can be up to 99 positions apart.  Because
> the multi-valued fields are implemented under-the-covers by simply
> increasing the position of the next occurrence by the positionIncrementGap
> value, this will effectively prevent Lucene/Solr from matching across
> occurences.
>
> The downside to this workaround is that wildcards are not permitted in
> phrase searches.  So if you need wildcard support also, then you're out of
> luck.
>
> James Dyer
> E-Commerce Systems
> Ingram Content Group
> (615) 213-4311
>
>
> -----Original Message-----
> From: Kurt Sultana [mailto:kurtanat...@gmail.com]
> Sent: Thursday, May 26, 2011 3:05 PM
> To: solr-user@lucene.apache.org
> Subject: Re: Returning documents using multi-valued field
>
> Hi, maybe I wasn't so clear in my previous post. Here's another go (I'd
> like
> a reply :) ):
>
> Currently I'm issuing this query on Solr:
>
> http://localhost:9001/solrfacetsearch/master_Shop/select/?q=%28keyword_text_mv%3A%28alice+AND+trudy%29%29+AND+%28catalogId%3A%22Default%22%29+AND+%28catalogVersion%3AOnline%29&start=0&rows=<http://localhost:9001/solrfacetsearch/master_Shop/select/?q=%28keyword_text_mv%3A%28alice+AND+trudy%29%29+AND+%28catalogId%3A%22Default%22%29+AND+%28catalogVersion%3AOnline%29&start=0&rows=2147483647&facet=true&facet.field=category_string_mv&sort=preferred_boolean+desc%2Cgeo_distance+asc&facet.mincount=1&facet.limit=50&facet.sort=index&radius=111.84681460272012&long=5.2864094&qt=geo&lat=52.2119418&debugQuery=on>
> 2147483647
> &facet=true&facet.field=category_string_mv&sort=preferred_boolean+desc%2Cgeo_distance+asc&facet.mincount=1&facet.limit=50&facet.sort=index&radius=111.84681460272012&long=5.2864094&qt=geo&lat=52.2119418&debugQuery=on
>
> where as you can see I'm searching for keywords Alice AND Trudy. This query
> returns a document which contains:
>
> <arr name="keyword_text_mv">
> <str>alice jill</str>
> <str>trudy alex</str>
> </arr>
>
> The problem is I'd like the document to be returned only if it contains a
> string "alice trudy" in one of its values, in other words, if it contains :
>
> <arr name="keyword_text_mv">
> <str>alice trudy</str>
> <str>jill alex</str>
> </arr>
>
> How could I achieve this? I'm supporting the code written by someone else
> and I'm quite new to Solr.
>
> Thanks in advance :)
>
> Kurt
>
>
> On Wed, May 25, 2011 at 11:44 AM, Kurt Sultana <kurtanat...@gmail.com
> >wrote:
>
> >
> > Hi all,
> >
> > I'm quite new to Solr and I'm supporting an existing Solr search engine
> > which was written by someone else. I've been reading on Solr for the last
> > couple of weeks so I'd consider myself beyond the basics.
> >
> > A particular field, let's say name, is multi-valued. For example, a
> > document has a field "name" with values "Alice, Trudy". We want that the
> > document is returned when "Alice" or "Trudy" is input and not when "Alice
> > Trudy" is entered. Currently the document is even with "Alice Trudy". How
> > could this be done?
> >
> > Thanks a lot!
> > Kurt
> >
> >
>

Reply via email to