Fantastic!  Thanks for following up - this is great.

Mike



On Tue, May 21, 2013 at 11:17 PM, Jack Krupansky <j...@basetechnology.com>wrote:

> Ah... and the answer is:
>
> curl "http://localhost:8983/solr/**select/?q=(assembly+W+**
> language+OR+scala)+W+**programming\<http://localhost:8983/solr/select/?q=(assembly+W+language+OR+scala)+W+programming%5C>
> &df=features&defType=surround&**indent=true"
>
> IOW, any quoted phrase like "a b c d" can be written in surround as a W b
> W c W d.
>
> Presto!
>
> I'll make sure that example is in the book as well.
>
> -- Jack Krupansky
>
> -----Original Message----- From: Jack Krupansky
> Sent: Tuesday, May 21, 2013 11:37 AM
>
> To: solr-user@lucene.apache.org
> Subject: Re: Expanding sets of words
>
> Hmmm... I did a quick test and quoted phrase wasn't working for me either.
> Oh well.
>
> But... it should work for the LucidWorks Search query parser!
>
> -- Jack Krupansky
>
> -----Original Message----- From: Mike Hugo
> Sent: Tuesday, May 21, 2013 11:26 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Expanding sets of words
>
> I'll buy that book :)
>
> Does this work with mutli-word terms?
>
> (common lisp or assembly language)
> (programming or coding or development)
>
>
> I tried:
>
> {!surround}(common lisp OR assembly language) W (programming)
>
> but that returns a parse error.
>
> Putting quotes around the multi-word terms parses but returns 0 results
>
> {!surround}("common lisp" OR "assembly language") W (programming)
>
>
> On Tue, May 21, 2013 at 8:32 AM, Jack Krupansky
> <j...@basetechnology.com>**wrote:
>
>  I'll make sure to include that specific example in the new Solr book.
>>
>>
>> -- Jack Krupansky
>>
>> -----Original Message----- From: Mike Hugo
>> Sent: Tuesday, May 21, 2013 12:29 AM
>> To: solr-user@lucene.apache.org
>> Subject: Re: Expanding sets of words
>>
>>
>> Fantastic!  Thanks!
>>
>>
>> On Mon, May 20, 2013 at 11:21 PM, Jack Krupansky <j...@basetechnology.com
>> >
>> **wrote:
>>
>>  Yes, with the Solr "surround" query parser:
>>
>>>
>>> q=(java OR groovy OR scala) W (programming OR coding OR development)
>>>
>>> BUT... there is the caveat that the surround query parser does no
>>> analysis. So, maybe you need "Java OR java" etc. Or, if you know that the
>>> index is lower case.
>>>
>>> Try this dataset:
>>>
>>> curl 
>>> http://localhost:8983/solr/******collection1/update?commit=**true<http://localhost:8983/solr/****collection1/update?commit=true>
>>> <http://localhost:8983/**solr/**collection1/update?**commit=true<http://localhost:8983/solr/**collection1/update?commit=true>
>>> >
>>> **<http://localhost:8983/solr/****collection1/update?commit=**true<http://localhost:8983/solr/**collection1/update?commit=true>
>>> <http://localhost:8983/**solr/collection1/update?**commit=true<http://localhost:8983/solr/collection1/update?commit=true>
>>> >
>>> **>-H 'Content-type:application/csv' -d '
>>>
>>> id,features
>>> doc-1,java coding
>>> doc-2,java programming
>>> doc-3,java development
>>> doc-4,groovy coding
>>> doc-5,groovy programming
>>> doc-6,groovy development
>>> doc-7,scala coding
>>> doc-8,scala programming
>>> doc-9,scala development
>>> doc-10,c coding
>>> doc-11,c programming
>>> doc-12,c development
>>> doc-13,java language
>>> doc-14,groovy language
>>> doc-15,scala language'
>>>
>>> And try these commands:
>>>
>>> curl 
>>> "http://localhost:8983/solr/******select/?q=(java+OR+scala)+W+****<http://localhost:8983/solr/****select/?q=(java+OR+scala)+W+**>
>>> <http://localhost:8983/solr/****select/?q=(java+OR+scala)+W+****<http://localhost:8983/solr/**select/?q=(java+OR+scala)+W+**>
>>> >
>>> programming\<http://localhost:****8983/solr/select/?q=(java+**OR+**
>>> scala)+W+programming%5C<http:/**/localhost:8983/solr/select/?**
>>> q=(java+OR+scala)+W+**programming%5C<http://localhost:8983/solr/select/?q=(java+OR+scala)+W+programming%5C>
>>> >
>>> >
>>> &df=features&defType=surround&******indent=true"
>>>
>>> curl 
>>> "http://localhost:8983/solr/******select/<http://localhost:8983/solr/****select/>
>>> <http://localhost:**8983/solr/**select/<http://localhost:8983/solr/**select/>
>>> >
>>> <http://localhost:8983/**solr/**select/<http://localhost:8983/**solr/select/>
>>> <http://localhost:8983/**solr/select/<http://localhost:8983/solr/select/>
>>> >
>>> >
>>> ?\
>>> q=(java+OR+scala)+W+(******programming+OR+coding)\
>>> &df=features&defType=surround&******indent=true"
>>>
>>> curl 
>>> "http://localhost:8983/solr/******select/\<http://localhost:8983/solr/****select/%5C>
>>> <http://localhost:**8983/solr/**select/%5C<http://localhost:8983/solr/**select/%5C>
>>> >
>>> <http://localhost:**8983/solr/**select/%5C<http://localhost:**
>>> 8983/solr/select/%5C <http://localhost:8983/solr/select/%5C>>
>>> >
>>> ?q=(java+OR+groovy+OR+scala)+******W+(programming+OR+coding+**OR+***
>>> *development)\
>>> &df=features&defType=surround&******indent=true"
>>>
>>>
>>> The LucidWorks Search query parser also supports NEAR, BEFORE, and AFTER
>>> operators, in conjunction with OR and "-" to generate span queries:
>>>
>>> q=(java OR groovy OR scala) BEFORE:0 (programming OR coding OR
>>> development)
>>>
>>> -- Jack Krupansky
>>>
>>> -----Original Message----- From: Mike Hugo
>>> Sent: Monday, May 20, 2013 11:42 PM
>>> To: solr-user@lucene.apache.org
>>> Subject: Expanding sets of words
>>>
>>>
>>> Is there a way to query for combinations of two sets of words?  For
>>> example, if I had
>>>
>>> (java or groovy or scala)
>>> (programming or coding or development)
>>>
>>> Is there a query parser that, at query time, would expand that into
>>> combinations like
>>>
>>> java programming
>>> groovy programming
>>> scala programming
>>> java coding
>>> java development
>>> ....
>>> etc etc etc
>>>
>>> Thanks!
>>>
>>> Mike
>>>
>>>
>>>
>>

Reply via email to