[
https://issues.apache.org/jira/browse/LUCENE-4877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13618731#comment-13618731
]
Robert Muir commented on LUCENE-4877:
-------------------------------------
{quote}
I don't like the 4-arg required param getXXX() methods in
AbstractAnalysisFactory - 4th param as false means required??? - maybe these
could be converted to getRequiredXXX() ?
I think AbstractAnalysisFactory could use additional param parsing methods:
get(args, param [, default]) would be a nice addition for strings, instead
of args.remove(), which looks different from all the other getXXX() methods.
Maybe also a version that takes a set of acceptable values, as well as a
boolean for case insensitivity?
getEnum(args, param, Enum class [, default] ) - probably case insensitivity
could be assumed?
getChar() should be pulled out of PathHierarchyTokenizerFactory, so that
DelimitedPayloadTokenFilterFactory can use it.
getFloat() - well, only one factory (NumericPayloadTokenFilterFactory)
could use it now, but maybe add it for completeness?
A few nits:
TestMappingCharFilterFactory's factory could switch to being instantiated
using the charFilterFactory() method
EdgeNgramTokenizerFactory's gram size constants are pulled from
EdgeNgramTokenFilter instead of EdgeNgramTokenizer
LimitTokenCountFilterFactory's maxTokenCount param should be required; this
is a pre-existing problem though
PatternTokenizerFactory's group param should use the getInt() method with a
default of -1.
{quote}
+1 to all of this!
> Fix analyzer factories to throw exception when arguments are invalid
> --------------------------------------------------------------------
>
> Key: LUCENE-4877
> URL: https://issues.apache.org/jira/browse/LUCENE-4877
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/analysis
> Reporter: Robert Muir
> Attachments: LUCENE-4877_one_solution_prototype.patch,
> LUCENE-4877.patch, LUCENE-4877.patch, LUCENE-4877.patch
>
>
> Currently if someone typos an argument "someParamater=xyz" instead of
> someParameter=xyz, they get no exception and sometimes incorrect behavior.
> It would be way better if these factories threw exception on unknown params,
> e.g. they removed the args they used and checked they were empty at the end.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]