[
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