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-44) Update BlurAnalyzer to use the Blur Thrift Analyzer object.
Date Fri, 07 Dec 2012 03:03:21 GMT

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

Aaron McCurry commented on BLUR-44:
-----------------------------------

Good questions.

Basically, the default types in Blur (Text, String, Int, Long, Float, Double, and Binary)
all have default behaviors.

Text - Will use the BlurAnalyzer and the default analyzer is the StandardAnalyzer.
String - Is not Analyzed and is indexed as the a single token the normal StringField in Lucene.
Int - Is not Analyzed and is indexed as an integer the normal IntegerField in Lucene.
Long - Is not Analyzed and is indexed as an long the normal LongField in Lucene.
Float - Is not Analyzed and is indexed as an float the normal FloatField in Lucene.
Double - Is not Analyzed and is indexed as an double the normal DoubleField in Lucene.
Binary - by default is not indexed, but just stored.

Also take a look at the Blur.Thrift file.  I have tried to describe the behavior as much as
possible.

The BlurAnalyzer should work in conjunction with any classes that are defined in the ClassDefinition
(Thrift) that extend o.a.b.a.IndexableFieldFactory to allow for none default behaviors.

Example 1:

User simply wants to use the ClassicAnalyzer instead of the StandardAnalyzer for a Text field.
 Then the class name for ClassicAnalyzer should be defined in the ClassDefinition.

Analyzer {
  analyzerTypes [
    AnalyzerType {
       fieldName:SomeUserFieldName,
       classDefinition:o.a.l.a.ClassicAnalyzer
    }
  ]
}

Example 2:

User has a custom indexing strategy that requires a custom implemented IndexableField (Lucene
Type).  The instead of providing a lucene analyzer in the ClassDefinition they provide a o.a.b.a.IndexableFieldFactory
class.  This will allow the user to convert the Thrift Field into the IndexableField.

Analyzer {
  analyzerTypes [
    AnalyzerType {
       fieldName:SomeUserFieldName,
       classDefinition:some.custom.class.CustomIndexableFieldFactory
    }
  ]
}

                
> Update BlurAnalyzer to use the Blur Thrift Analyzer object.
> -----------------------------------------------------------
>
>                 Key: BLUR-44
>                 URL: https://issues.apache.org/jira/browse/BLUR-44
>             Project: Apache Blur
>          Issue Type: Improvement
>    Affects Versions: 0.2.0
>         Environment: 0.2-dev-removing-old-thrift branch
>            Reporter: Aaron McCurry
>             Fix For: 0.2.0
>
>
> The BlurAnalyzer constructor that takes a org.apache.blur.thrift.generated.Analyzer currently
does nothing.  Obviously this needs to be implemented, I have added javadocs to the Blur thrift
API that describes the expected behavior.

--
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