You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael Gibney (JIRA)" <ji...@apache.org> on 2019/07/26 16:45:00 UTC

[jira] [Commented] (SOLR-12532) Slop specified in query string is not preserved for certain phrase searches

    [ https://issues.apache.org/jira/browse/SOLR-12532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16893976#comment-16893976 ] 

Michael Gibney commented on SOLR-12532:
---------------------------------------

[~steve_rowe], I'd be curious to know what you think of this issue/PR, if you have a chance to take a look.

> Slop specified in query string is not preserved for certain phrase searches
> ---------------------------------------------------------------------------
>
>                 Key: SOLR-12532
>                 URL: https://issues.apache.org/jira/browse/SOLR-12532
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 7.4
>            Reporter: Brad Sumersford
>            Priority: Major
>         Attachments: SOLR-12532.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Note: This only impacts specific settings for the WordDelimiterGraphFilter as detailed below.
> When a phrase search is parsed by the SolrQueryParser, and the phrase search results in a graph token stream, the resulting SpanNearQuery created does not have the slop correctly set.
> h4. Conditions
>  - Slop provided in query string (ex: ~2")
>  - WordDelimiterGraphFilterFactory with query time preserveOriginal and generateWordParts
>  - query string includes a term that contains a word delimiter
> h4. Example
> Field: wdf_partspreserve 
>  – WordDelimiterGraphFilterFactory 
>  ---- preserveOriginal="1"
>  ---- generateWordParts="1"
> Data: you just can't
>  Search: wdf_partspreserve:"you can't"~2 -> 0 Results
> h4. Cause
> The slop supplied by the query string is applied in SolrQueryParserBase#getFieldQuery which will set the slop only for PhraseQuery and MultiPhaseQuery. Since "can't" will be broken down into multiple tokens analyzeGraphPhrase will be triggered when the Query is being constructed which will return a SpanNearQuery instead of a (Multi)PhraseQuery.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org