Typeがtextのfieldに長文を入れると、_ignoredになってしまう。

mappingで

    "full_text_colum_ja": {
        "type": "text",
        "store": true,
        "analyzer": "sudachi_analyzer"
    },

と定義しているフィールドにある一定の文字数の長文を入れると、
検索結果で、このfieldが自動的に_ignoreに設定されてしまいます。

[14] => Array
    (
        [_index] => company
        [_type] => _doc
        [_id] => 114
        [_score] => 0.1264643
        [_ignored] => Array
            (
                [0] => full_text_column_ja.keyword
            )
        [_source] => Array
        (
            [id] => 114
            [name] => 株式会社 ○○

短い文章が入っている場合には検索可能です。

textのfieldは文字数無制限と考えていたのですが異なりますでしょうか?
typeがtextのfieldに長文を入れて、部分検索させる方法はありますでしょうか?

よろしくお願いいたします。

はじめまして。

データをどのように入れていて、Mappingがどうなっているのかわからないのですが、

質問されている検索結果に出ているのは、text型のフィールドではなく、keyword型のフィールドのようです。
JSONの文字列データからデフォルトで作られるMappingでは、Dynamic field mapping | Elasticsearch Guide [8.11] | Elastic に記載があるように、textとべつに.keywordというサブフィールドができます。

その時に、作られるkeyword型では、ignore_aboveという値が256で設定されるので、そちらになっているのではないでしょうか?
参考:Keyword type family | Elasticsearch Guide [8.11] | Elastic

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.