You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Tommaso Teofili (Created) (JIRA)" <ji...@apache.org> on 2012/04/11 15:53:18 UTC

[jira] [Created] (SOLR-3350) TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter

TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter
-------------------------------------------------------------------------------

                 Key: SOLR-3350
                 URL: https://issues.apache.org/jira/browse/SOLR-3350
             Project: Solr
          Issue Type: Bug
          Components: Schema and Analysis
    Affects Versions: 3.5, 4.0
            Reporter: Tommaso Teofili
            Priority: Minor


parseFieldQuery method of TextField class just set 

{code}
  ...
  boolean enablePositionIncrements = true;
  ...
{code}

while that should be taken from Analyzer's configuration.
The above condition is evaluated afterwards in two points:

{code}
  ...
  if (enablePositionIncrements) {
    mpq.add((Term[]) multiTerms.toArray(new Term[0]), position);
  } else {
    mpq.add((Term[]) multiTerms.toArray(new Term[0]));
  }
  return mpq;
  ...
  ...
  if (enablePositionIncrements) {
    position += positionIncrement;
    pq.add(new Term(field, term), position);
  } else {
     pq.add(new Term(field, term));
  }
  ...
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (SOLR-3350) TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter

Posted by "Robert Muir (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SOLR-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251608#comment-13251608 ] 

Robert Muir commented on SOLR-3350:
-----------------------------------

How can this be taken from the analyzers configuration?

the Analyzer can use a mix of enablePositionIncrements=true or enablePositionIncrements=false
for the different filters that support that option.

Here is an example of a real use case (from text_ga):
{noformat}
...
<!-- removes n-, etc. position increments is intentionally false! -->
<filter class="solr.StopFilterFactory" ignoreCase="true" 
        words="lang/hyphenations_ga.txt"
        enablePositionIncrements="false"/>
<filter class="solr.IrishLowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" 
        words="lang/stopwords_ga.txt" 
        enablePositionIncrements="true"/>
...
{noformat}

                
> TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-3350
>                 URL: https://issues.apache.org/jira/browse/SOLR-3350
>             Project: Solr
>          Issue Type: Bug
>          Components: Schema and Analysis
>    Affects Versions: 3.5, 4.0
>            Reporter: Tommaso Teofili
>            Priority: Minor
>
> parseFieldQuery method of TextField class just set 
> {code}
>   ...
>   boolean enablePositionIncrements = true;
>   ...
> {code}
> while that should be taken from Analyzer's configuration.
> The above condition is evaluated afterwards in two points:
> {code}
>   ...
>   if (enablePositionIncrements) {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]), position);
>   } else {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]));
>   }
>   return mpq;
>   ...
>   ...
>   if (enablePositionIncrements) {
>     position += positionIncrement;
>     pq.add(new Term(field, term), position);
>   } else {
>      pq.add(new Term(field, term));
>   }
>   ...
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (SOLR-3350) TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter

Posted by "Tommaso Teofili (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SOLR-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286531#comment-13286531 ] 

Tommaso Teofili commented on SOLR-3350:
---------------------------------------

for now I think we can at least remove the useless switches inside the code, as the broader discussion about "overall" enablePositionIncrements isn't trivial.
                
> TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-3350
>                 URL: https://issues.apache.org/jira/browse/SOLR-3350
>             Project: Solr
>          Issue Type: Bug
>          Components: Schema and Analysis
>    Affects Versions: 3.5, 4.0
>            Reporter: Tommaso Teofili
>            Priority: Minor
>
> parseFieldQuery method of TextField class just set 
> {code}
>   ...
>   boolean enablePositionIncrements = true;
>   ...
> {code}
> while that should be taken from Analyzer's configuration.
> The above condition is evaluated afterwards in two points:
> {code}
>   ...
>   if (enablePositionIncrements) {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]), position);
>   } else {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]));
>   }
>   return mpq;
>   ...
>   ...
>   if (enablePositionIncrements) {
>     position += positionIncrement;
>     pq.add(new Term(field, term), position);
>   } else {
>      pq.add(new Term(field, term));
>   }
>   ...
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (SOLR-3350) TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter

Posted by "Tommaso Teofili (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SOLR-3350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13252285#comment-13252285 ] 

Tommaso Teofili commented on SOLR-3350:
---------------------------------------

Hi Robert,
For TextField having enablePositionIncrements just set to true and then evaluating an always true condition seems just wrong (code wise) so we should discuss if the issue is either in the true constant or in the code switching on it.
It should be clear how a mixed configuration like the one above should result in terms of an "overall" enablePositionIncrements property (true, false, not set) if that's needed in the field type implementation (maybe traversing objects from the QParser to the SchemaField or in some more convenient way, if it exists).
Depending on the choice taken on how to fix the code, if a Solr type using TextField has a tokenizer/some filters with enablePositionIncrements set to false then there would be different options:
- option 1: it should raise a configuration error
- option 2: log a warning message
- option 3: don't care (like it is now)
                
> TextField's parseFieldQuery method not using analyzer's enablePosIncr parameter
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-3350
>                 URL: https://issues.apache.org/jira/browse/SOLR-3350
>             Project: Solr
>          Issue Type: Bug
>          Components: Schema and Analysis
>    Affects Versions: 3.5, 4.0
>            Reporter: Tommaso Teofili
>            Priority: Minor
>
> parseFieldQuery method of TextField class just set 
> {code}
>   ...
>   boolean enablePositionIncrements = true;
>   ...
> {code}
> while that should be taken from Analyzer's configuration.
> The above condition is evaluated afterwards in two points:
> {code}
>   ...
>   if (enablePositionIncrements) {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]), position);
>   } else {
>     mpq.add((Term[]) multiTerms.toArray(new Term[0]));
>   }
>   return mpq;
>   ...
>   ...
>   if (enablePositionIncrements) {
>     position += positionIncrement;
>     pq.add(new Term(field, term), position);
>   } else {
>      pq.add(new Term(field, term));
>   }
>   ...
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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