You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2009/02/28 21:18:12 UTC

[jira] Issue Comment Edited: (SOLR-940) TrieRange support

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

shalinmangar edited comment on SOLR-940 at 2/28/09 12:17 PM:
----------------------------------------------------------------------

Attaching first cut with the following changes:
# BaseTrieField - Base class for trie fields, hardcodes the field to be multi-valued and tokenized
# TrieIntField - Support for ints
# TrieIntTokenizer/Factory - Uses TrieUtils to create sequence of trie coded numbers for a given integer, decreasing in precision
# Changes to SolrQueryParser to use IntTrieRangeFilter is field is instance of TrieIntField
# TestTrie - Simple test for int range search
# src/test/test-files/conf/schema-trie.xml uses the trie int

The precisionStep is not configurable at the moment. This is because the same precisionStep must be used for indexing (by the Tokenizer) and to create the range filter (in SolrQueryParser) and I could not find a way to share this information between the two classes.

TODO:
# Support for float, long, doubles
# Javadocs
# Changes to example schema, clearly highlighting that trie fields cannot be used for sorting (one should use copyFields into a integer for sorting)

Thanks Uwe for suggesting the tokenizer approach, works great!

Edit - Forgot to mention that needs updated Lucene jars (trunk).

      was (Author: shalinmangar):
    Attaching first cut with the following changes:
# BaseTrieField - Base class for trie fields, hardcodes the field to be multi-valued and tokenized
# TrieIntField - Support for ints
# TrieIntTokenizer/Factory - Uses TrieUtils to create sequence of trie coded numbers for a given integer, decreasing in precision
# Changes to SolrQueryParser to use IntTrieRangeFilter is field is instance of TrieIntField
# TestTrie - Simple test for int range search
# src/test/test-files/conf/schema-trie.xml uses the trie int

The precisionStep is not configurable at the moment. This is because the same precisionStep must be used for indexing (by the Tokenizer) and to create the range filter (in SolrQueryParser) and I could not find a way to share this information between the two classes.

TODO:
# Support for float, long, doubles
# Javadocs
# Changes to example schema, clearly highlighting that trie fields cannot be used for sorting (one should use copyFields into a integer for sorting)

Thanks Uwe for suggesting the tokenizer approach, works great!
  
> TrieRange support
> -----------------
>
>                 Key: SOLR-940
>                 URL: https://issues.apache.org/jira/browse/SOLR-940
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Yonik Seeley
>             Fix For: 1.4
>
>         Attachments: SOLR-940.patch
>
>
> We need support in Solr for the new TrieRange Lucene functionality.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.