Hi Markus,

Here’s what I included in 6.5.1’s CHANGES.txt (as well as on branch_6x and 
master, so it’ll be included in future releases’ CHANGES.txt too):

-----
* SOLR-10423: Disable graph query production via schema configuration 
<fieldtype ... enableGraphQueries="false">.
  This fixes broken queries for ShingleFilter-containing query-time analyzers 
when request param sow=false.
  (Steve Rowe)
-----

--
Steve
www.lucidworks.com

> On Apr 5, 2017, at 5:43 PM, Markus Jelsma <markus.jel...@openindex.io> wrote:
> 
> Steve - please include a broad description of this feature in the next 
> CHANGES.txt. I will forget about this thread but need to be reminded of why i 
> could need it :)
> 
> Thanks,
> Markus
> 
> 
> -----Original message-----
>> From:Steve Rowe <sar...@gmail.com>
>> Sent: Wednesday 5th April 2017 23:26
>> To: solr-user@lucene.apache.org
>> Subject: Re: Solr Shingle is not working properly in solr 6.5.0
>> 
>> Aman,
>> 
>> In forthcoming Solr 6.5.1, this problem will be addressed by setting a new 
>> <fieldtype> option named “enableGraphQueries” to “false".
>> 
>> Your fieldtype will look like this:
>> 
>> -----
>> <fieldType name="cust_shingle" class=“solr.TextField" 
>> positionIncrementGap=“100” enableGraphQueries=“false”>
>>  <analyzer> 
>>    <tokenizer class="solr.StandardTokenizerFactory"/>
>>    <filter class="solr.ShingleFilterFactory" outputUnigrams=“false" 
>> maxShingleSize="4”/>
>>    <filter class="solr.LowerCaseFilterFactory”/>
>>  </analyzer>
>> </fieldType>
>> -----
>> 
>> --
>> Steve
>> www.lucidworks.com
>> 
>>> On Apr 4, 2017, at 5:32 PM, Steve Rowe <sar...@gmail.com> wrote:
>>> 
>>> Hi Aman,
>>> 
>>> I’ve created <https://issues.apache.org/jira/browse/SOLR-10423> for this 
>>> problem.
>>> 
>>> --
>>> Steve
>>> www.lucidworks.com
>>> 
>>>> On Mar 31, 2017, at 7:34 AM, Aman Deep Singh <amandeep.coo...@gmail.com> 
>>>> wrote:
>>>> 
>>>> Hi Rich,
>>>> Query creation is correct only thing what causing the problem is that
>>>> Boolean + query while building the lucene query which causing all tokens to
>>>> be matched in the document (equivalent of mm=100%) even though I use mm=1
>>>> it was using BOOLEAN + query as
>>>> normal query one plus one abc
>>>> Lucene query -
>>>> +(((+nameShingle:one plus +nameShingle:plus one +nameShingle:one abc))
>>>> ((+nameShingle:one plus +nameShingle:plus one abc)) ((+nameShingle:one plus
>>>> one +nameShingle:one abc)) (nameShingle:one plus one abc))
>>>> 
>>>> Now since my doc contains only one plus one thus --
>>>> one plus ,plus one, one plus one
>>>> thus due to Boolean + it was not matching.
>>>> Thanks,
>>>> Aman Deep Singh
>>>> 
>>>> On Fri, Mar 31, 2017 at 4:41 PM Rick Leir <rl...@leirtech.com> wrote:
>>>> 
>>>>> Hi Aman
>>>>> Did you try the Admin Analysis tool? It will show you which filters are
>>>>> effective at index and query time. It will help you understand why you are
>>>>> not getting a mach.
>>>>> Cheers -- Rick
>>>>> 
>>>>> On March 31, 2017 2:36:33 AM EDT, Aman Deep Singh <
>>>>> amandeep.coo...@gmail.com> wrote:
>>>>>> Hi,
>>>>>> I was trying to use the shingle filter but it was not creating the
>>>>>> query as
>>>>>> desirable.
>>>>>> 
>>>>>> my schema is
>>>>>> <fieldType name="cust_shingle" class="solr.TextField"
>>>>>> positionIncrementGap=
>>>>>> "100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/>
>>>>>> <filter
>>>>>> class="solr.ShingleFilterFactory" outputUnigrams="false"
>>>>>> maxShingleSize="4"
>>>>>> /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer>
>>>>>> </fieldType>
>>>>>> <field name="nameShingle" type="cust_shingle" indexed="true"
>>>>>> stored="true"/>
>>>>>> 
>>>>>> my solr query is
>>>>>> 
>>>>> http://localhost:8983/solr/productCollection/select?defType=edismax&debugQuery=true&q=one%20plus%20one%20four&qf=nameShingle&;
>>>>>> *sow=false*&wt=xml
>>>>>> 
>>>>>> and it was creating the parsed query as
>>>>>> <str name="parsedquery">
>>>>>> (+(DisjunctionMaxQuery(((+nameShingle:one plus +nameShingle:plus one
>>>>>> +nameShingle:one four))) DisjunctionMaxQuery(((+nameShingle:one plus
>>>>>> +nameShingle:plus one four))) DisjunctionMaxQuery(((+nameShingle:one
>>>>>> plus
>>>>>> one +nameShingle:one four))) DisjunctionMaxQuery((nameShingle:one plus
>>>>>> one
>>>>>> four)))~1)/no_coord
>>>>>> </str>
>>>>>> <str name="parsedquery_toString">
>>>>>> *+((((+nameShingle:one plus +nameShingle:plus one +nameShingle:one
>>>>>> four))
>>>>>> ((+nameShingle:one plus +nameShingle:plus one four)) ((+nameShingle:one
>>>>>> plus one +nameShingle:one four)) (nameShingle:one plus one four))~1)*
>>>>>> </str>
>>>>>> 
>>>>>> 
>>>>>> So ideally token creations is perfect but in the query it is using
>>>>>> boolean + operator which is causing the problem as if i have a document
>>>>>> with name as
>>>>>> "one plus one" ,according to the shingles it has to matched as its
>>>>>> token
>>>>>> will be  ("one plus","one plus one","plus one") .
>>>>>> I have tried using the q.op and played around the mm also but nothing
>>>>>> is
>>>>>> giving me the correct response.
>>>>>> Any idea how i can fetch that document even if the document is missing
>>>>>> any
>>>>>> token.
>>>>>> 
>>>>>> My expected response will be getting the document
>>>>>> "one plus one" even the user query has any additional term like "one
>>>>>> plus
>>>>>> one two" and so on.
>>>>>> 
>>>>>> 
>>>>>> Thanks,
>>>>>> Aman Deep Singh
>>>>> 
>>>>> --
>>>>> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>> 
>> 
>> 

Reply via email to