You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2017/12/26 21:56:00 UTC

[jira] [Updated] (LUCENE-8108) Field class should not let you analyze int values?

     [ https://issues.apache.org/jira/browse/LUCENE-8108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael McCandless updated LUCENE-8108:
---------------------------------------
    Attachment: LUCENE-8108.patch

Here's a patch with a failing test case; it creates a {{Field}} with an integer value and with {{TextField.TYPE_STORED}} field type.

The test fails on the {{assertEquals}} because the token "17" was in fact created; this happens because {{Field.stringValue}} calls {{.toString}} on numeric values ... I think this is somewhat dangerously lenient but maybe it's not often hit because nobody would normally try to analyze an int?

> Field class should not let you analyze int values?
> --------------------------------------------------
>
>                 Key: LUCENE-8108
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8108
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Michael McCandless
>         Attachments: LUCENE-8108.patch
>
>
> I stumbled on this by accident, by creating a {{Field}} instance with a {{Integer}} value for its {{fieldsData}} and then setting {{tokenized = true}} in its {{FieldType}}.
> If you do this then Lucene silently converts the int to a string and then tokenizes it, e.g. applying synonyms, etc., if that's what your analysis chain does.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org