incubator-blur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron McCurry (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BLUR-112) Allow for types to be set on blur tables
Date Fri, 28 Jun 2013 20:39:20 GMT

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

Aaron McCurry commented on BLUR-112:
------------------------------------

As far as the class layout and usage, I would think something like this.

class BlurAnalyzer extends AnalyzerWrapper {
  BlurAnalyzer(boolean indexing, FieldManager) {...}

  // Where the call to get the analyzer falls back to the FieldManager

  protected Analyzer getWrappedAnalyzer(String fieldName) {
    if (indexing) {
      return fieldManager.getAnalyzerForIndex(fieldName);
    } else {
      return fieldManager.getAnalyzerForQuery(fieldName);
    }
  }

}

class TableContext {
    BlurAnalzyer blurAnalyzerForIndex;
    BlurAnalzyer blurAnalyzerForQuery;
    FieldManager fieldManager

    BlurAnalyzer getAnalyzerForIndex() {
        return blurAnalyzerForIndex;
    }

    BlurAnalyzer getAnalyzerForQuery() {
        return blurAnalyzerForQuery;
    }

    FieldManager getFieldManager() {
        return fieldManager;
    }
}

And in the Transaction recorder all we have to do is:

FieldManager fieldManager = tableContext.getFieldManager();
indexWriter.addDocuments(fieldManager.getFields(BlurRecord));


Also I'm going to create a branch for this tonight.  I will send out a note with the name.

Aaron
                
> Allow for types to be set on blur tables
> ----------------------------------------
>
>                 Key: BLUR-112
>                 URL: https://issues.apache.org/jira/browse/BLUR-112
>             Project: Apache Blur
>          Issue Type: Improvement
>    Affects Versions: 0.2.0, 0.3.0
>            Reporter: Aaron McCurry
>             Fix For: 0.3.0
>
>
> Create the ability for Blur to handle the default Lucene field types.  This should not
be tied to the table descriptor because types should be allowed to be added at runtime.  Also
2 new fields should be added to the TableDescriptor:
> 1. A strict types attribute.  If set to true, if a new column is added to the table and
there is no type mapping for it.  Throw an exception.  Set to false by default.
> 2. Default type is strict is set to false.  The default type should be text.
> Also, dynamic columns could be allowed if their name included the type.  Such as:
> The column name could be "col1" with a type of "int", in the Column struct in thrift
the name would be "col1/int" and if the type did not exist before the call it would be added.
> Thoughts?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message