You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Valentin Kulichenko (JIRA)" <ji...@apache.org> on 2017/01/03 20:07:58 UTC

[jira] [Commented] (IGNITE-4511) Set QueryIndexType.SORTED by default for an index

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

Valentin Kulichenko commented on IGNITE-4511:
---------------------------------------------

I think we should remove the {{QueryIndex}} constructor without parameters as it doesn't initialize any default values. This doesn't make much sense and very error-prone.

However, the bug in code is obvious. In case {{idx.getIndexType() == null}}, we should throw an exception.

> Set QueryIndexType.SORTED by default for an index 
> --------------------------------------------------
>
>                 Key: IGNITE-4511
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4511
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 1.7
>         Environment: Windows Server + Java 8
>            Reporter: Steve Hostettler
>            Priority: Minor
>
> The code snippet below creates a index of type FULL TEXT which much slower and that I do not need;
> QueryIndex idx1 = new QueryIndex();
> LinkedHashMap<String, Boolean> idxFlds1 = new LinkedHashMap<>();
> idxFlds1.put("field1", true);
> idxFlds1.put("field2", true);
> idx1.setFields(idxFlds1);
> idxs.add(idx1);
> To avoid this I must explicitly set
> idx1.setIndexType(QueryIndexType.SORTED);
> This is because with the above code snippet, the Index Type is null and that null is interpreted as FULL TEXT in  GridQueryProcessor.java 
>  if (idx.getIndexType() == QueryIndexType.SORTED || idx.getIndexType() == QueryIndexType.GEOSPATIAL) { 
> .... 
> } else { 
> assert idx.getIndexType() == QueryIndexType.FULLTEXT; 
>                     for (String field : idx.getFields().keySet()) { 
>                         String alias = aliases.get(field); 
>                         if (alias != null) 
>                             field = alias; 
>                         d.addFieldToTextIndex(field); 
>                     } 
> } 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)