はてだBlog(仮称)

私的なブログど真ん中のつもりでしたが、気づけばWebサイト系のアプリケーション開発周りで感じたこと寄りの自分メモなどをつれづれ述べています。2020年6月現在、Elasticsearch、pandas、CMSなどに関する話題が多めです。...ですが、だんだんとより私的なプログラムのスニペット置き場になりつつあります。ブログで述べている内容は所属組織で販売している製品などに関するものではなく、また所属する組織の見解を代表するものではありません。

Elasticsearch 日本語ドキュメント用 analyzer設定generator(Analyze設定のマイフェイバリット2020)

ちょっとタイトルは内容からすると主語というかスコープがでかすぎです。ご了承ください。


過去に次のような記事を上梓させていただいております。

itdepends.hateblo.jp

itdepends.hateblo.jp

ただ、いろいろやっていると、多少気分も変わることもしばしばです。

マイフェイバリットの軸はかわらないものの、今日はこんなフレーバーかな?と、横道にそれることもあります。

その際に、エディタによるJSON編集のサポートがあったとして、それでも、自分の中の秘伝のタレのごとき、mappings、settingsをごちゃごちゃやるのが、どうも苦痛になってきました。

そこで、PythonのdictとJSONの響きが似ているような気がする...というのはちょっと乱暴ですが、少なくとも形が似ているような気がするので、マイフェイバリットの最新版をPythonのコードに寄せて管理しようという考えに至りました。

ですので、ジェネレータと言いましたが、どちらかと言えば、なぜかアドホックPythonのプログラムに密結合した、ElasticsearchのAnalyzer設定マイフェイバリット(本当に筆者のお気に入りの意味)出力ツールという私的なコードのご紹介になります。 というのがご了承いただきたいところになります。


Elasticsearch 6.8で試していますが、どちらかと言えば、ver 7.x系を意識した設定に寄せたつもりです。

出力されるAnalyzer設定(一応、kibanaに貼り付ければ動きます)

まずは、出力されるAnalyzer設定のJSONです。

コメントは付けられないのが残念ですね。(その分、後述のジェネレータのプログラムにコメントを付けています。より私的なメモに過ぎないところはありますが。)

PUT  /your_index_name?include_type_name=false
{
    "settings": {
        "analysis": {
            "tokenizer": {
                "kuro_tk": {
                    "type": "kuromoji_tokenizer",
                    "mode": "search"
                },
                "ng_tk": {
                    "type": "ngram",
                    "min_gram": 2,
                    "max_gram": 3,
                    "token_chars": [
                        "letter",
                        "digit",
                        "symbol"
                    ]
                },
                "eNg_tk": {
                    "type": "edge_ngram",
                    "min_gram": 1,
                    "max_gram": 10
                }
            },
            "filter": {
                "hiragana_2_katakana": {
                    "type": "icu_transform",
                    "id": "Hiragana-Katakana"
                },
                "eNgram_filter": {
                    "type": "edge_ngram",
                    "min_gram": 1,
                    "max_gram": 10
                },
                "ngram_filter": {
                    "type": "ngram",
                    "min_gram": 2,
                    "max_gram": 3,
                    "token_chars": [
                        "letter",
                        "digit",
                        "symbol"
                    ]
                },
                "getInitial_filter": {
                    "type": "predicate_token_filter",
                    "script": {
                        "source": "token.getStartOffset() === 0"
                    }
                },
                "mp_filter": {
                    "type": "multiplexer",
                    "filters": [
                        "eNgram_filter",
                        "kuromoji_readingform, eNgram_filter",
                        "kuromoji_readingform, hiragana_2_katakana, eNgram_filter"
                    ]
                }
            },
            "analyzer": {
                "whitespace": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": []
                },
                "ja-default_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark",
                        "html_strip"
                    ],
                    "filter": [
                        "kuromoji_baseform",
                        "kuromoji_part_of_speech",
                        "ja_stop",
                        "lowercase",
                        "kuromoji_number",
                        "kuromoji_stemmer"
                    ]
                },
                "ja1_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark",
                        "html_strip"
                    ],
                    "filter": [
                        "lowercase",
                        "kuromoji_stemmer"
                    ]
                },
                "ja2_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark",
                        "html_strip"
                    ],
                    "filter": [
                        "kuromoji_baseform",
                        "lowercase",
                        "kuromoji_stemmer"
                    ]
                },
                "jaReadingform_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark",
                        "html_strip"
                    ],
                    "filter": [
                        "kuromoji_readingform",
                        "lowercase",
                        "hiragana_2_katakana",
                        "kuromoji_stemmer"
                    ]
                },
                "ng_anlz": {
                    "type": "custom",
                    "tokenizer": "ng_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": [
                        "hiragana_2_katakana"
                    ]
                },
                "eNg_anlz": {
                    "type": "custom",
                    "tokenizer": "eNg_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": [
                        "lowercase",
                        "hiragana_2_katakana"
                    ]
                },
                "jaR_x_eNg_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": [
                        "kuromoji_readingform",
                        "lowercase",
                        "hiragana_2_katakana",
                        "eNgram_filter"
                    ]
                },
                "yomiInitial": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": [
                        "kuromoji_readingform",
                        "lowercase",
                        "hiragana_2_katakana",
                        "getInitial_filter"
                    ]
                },
                "mp_anlz": {
                    "type": "custom",
                    "tokenizer": "kuro_tk",
                    "char_filter": [
                        "icu_normalizer",
                        "html_strip"
                    ],
                    "filter": [
                        "mp_filter"
                    ]
                },
                "almostNoop_anlz": {
                    "type": "custom",
                    "tokenizer": "keyword",
                    "filter": [
                        "hiragana_2_katakana"
                    ]
                }
            }
        }
    },
    "mappings": {
        "dynamic_templates": [
            {
                "my_hybrid_style_for_string": {
                    "match_mapping_type": "string",
                    "mapping": {
                        "analyzer": "ja-default_anlz",
                        "fielddata": true,
                        "store": true,
                        "fields": {
                            "raw": {
                                "type": "keyword"
                            },
                            "ini": {
                                "type": "text",
                                "analyzer": "yomiInitial",
                                "fielddata": true
                            },
                            "ws": {
                                "type": "text",
                                "analyzer": "whitespace"
                            },
                            "ja-default": {
                                "type": "text",
                                "analyzer": "ja-default_anlz"
                            },
                            "ja1": {
                                "type": "text",
                                "analyzer": "ja1_anlz"
                            },
                            "ja2": {
                                "type": "text",
                                "analyzer": "ja2_anlz"
                            },
                            "jaRf": {
                                "type": "text",
                                "analyzer": "jaReadingform_anlz"
                            },
                            "ng": {
                                "type": "text",
                                "analyzer": "ng_anlz"
                            },
                            "eNg": {
                                "type": "text",
                                "analyzer": "eNg_anlz"
                            },
                            "jaR_x_eNg": {
                                "type": "text",
                                "analyzer": "jaR_x_eNg_anlz"
                            },
                            "yomiInitial": {
                                "type": "text",
                                "analyzer": "yomiInitial"
                            },
                            "mp": {
                                "type": "text",
                                "analyzer": "mp_anlz"
                            }
                        }
                    }
                }
            }
        ],
        "properties": {
            "location": {
                "type": "geo_point"
            },
            "shape": {
                "type": "geo_shape",
                "strategy": "quadtree"
            }
        }
    }
}

generator (Pythonプログラム)

ジェネレーターを名乗るほどではないのですが、他に言いようも思いつかないので、この呼び方は続けます。

以下に、当該ジェネレーターをgistに貼り付けたものを引用します。

2つファイルがあるのですが、一方がメイン処理で、他方がライブラリになっていますが、実体はちょっと1ファイルだと長いので、2ファイルにしている程度のものです。

f:id:azotar:20200525013627p:plain

どちらかと言えば、ライブラリにあたる方に、フレーバーを変えたい事項にまつわる設定(に相当するプログラムのコード)が集中しています。

2つのファイルを同じディレクトリにおいていただき、名前に「Main」とある方を起動してもらうと、標準出力に前述のAnalyzer設定のJSONが出力されます。

Elasticsearchの日本語関係のanalyzer設定のJsonテキストを出力するツール(た…

このAnalyzer設定のお試し例

「_analyze」実行コマンド例@kibana

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "whitespace"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "ja-default_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "ja1_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "ja2_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "jaReadingform_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "ng_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "eNg_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "jaR_x_eNg_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "yomiInitial"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "mp_anlz"} 

POST /ldgourmet/_analyze
 {"text": "関西国際空港。 東京都の山寺. すもももももももものうち。 すもも も もも も もも の うち, 渡辺さんちの太郎くんと渡邊さんちの花子さん", "analyzer": "almostNoop_anlz"} 

「_analyze」 実行結果


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西国際空港。",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "東京都の山寺.",
      "start_offset" : 8,
      "end_offset" : 15,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "すもももももももものうち。",
      "start_offset" : 16,
      "end_offset" : 29,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "すもも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "もも",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "もも",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "うち,",
      "start_offset" : 46,
      "end_offset" : 49,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "渡辺さんちの太郎くんと渡邊さんちの花子さん",
      "start_offset" : 50,
      "end_offset" : 71,
      "type" : "word",
      "position" : 10
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西国際空港",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "国際",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "空港",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "東京",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "山寺",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "すもも",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "もも",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "もも",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "すもも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "もも",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "もも",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "渡辺",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "さん",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "ちの",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "太郎",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "くん",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "渡邊",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "さん",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "ちの",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "花子",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "さん",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西国際空港",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "国際",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "空港",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "東京",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "山寺",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "すもも",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "もも",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "もも",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "うち",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "すもも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "もも",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "もも",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "うち",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "渡辺",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "さん",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "ちの",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "太郎",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "くん",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "渡邊",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "さん",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "ちの",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "花子",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "さん",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西国際空港",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "国際",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "空港",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "東京",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "山寺",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "すもも",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "もも",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "もも",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "うち",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "すもも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "もも",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "もも",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "うち",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "渡辺",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "さん",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "ちの",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "太郎",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "くん",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "渡邊",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "さん",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "ちの",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "花子",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "さん",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "カンサイ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサイコクサイクウコウ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "コクサイ",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "クウコウ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "トウキョウ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "ヤマデラ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "スモモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "モモ",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "モモ",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "ウチ",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "スモモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "モモ",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "モモ",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "ウチ",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "サン",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "チノ",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "タロウ",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "クン",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "サン",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "チノ",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "ハナコ",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "サン",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西国",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "西国",
      "start_offset" : 1,
      "end_offset" : 3,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "西国際",
      "start_offset" : 1,
      "end_offset" : 4,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "国際",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "国際空",
      "start_offset" : 2,
      "end_offset" : 5,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "際空",
      "start_offset" : 3,
      "end_offset" : 5,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "際空港",
      "start_offset" : 3,
      "end_offset" : 6,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "空港",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "東京",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "東京都",
      "start_offset" : 8,
      "end_offset" : 11,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "京都",
      "start_offset" : 9,
      "end_offset" : 11,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "京都ノ",
      "start_offset" : 9,
      "end_offset" : 12,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "都ノ",
      "start_offset" : 10,
      "end_offset" : 12,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "都ノ山",
      "start_offset" : 10,
      "end_offset" : 13,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "ノ山",
      "start_offset" : 11,
      "end_offset" : 13,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "ノ山寺",
      "start_offset" : 11,
      "end_offset" : 14,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "山寺",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "スモ",
      "start_offset" : 16,
      "end_offset" : 18,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "スモモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "モモ",
      "start_offset" : 17,
      "end_offset" : 19,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "モモモ",
      "start_offset" : 17,
      "end_offset" : 20,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "モモ",
      "start_offset" : 18,
      "end_offset" : 20,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "モモモ",
      "start_offset" : 18,
      "end_offset" : 21,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "モモ",
      "start_offset" : 19,
      "end_offset" : 21,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "モモモ",
      "start_offset" : 19,
      "end_offset" : 22,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "モモ",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "モモモ",
      "start_offset" : 20,
      "end_offset" : 23,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "モモ",
      "start_offset" : 21,
      "end_offset" : 23,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "モモモ",
      "start_offset" : 21,
      "end_offset" : 24,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "モモ",
      "start_offset" : 22,
      "end_offset" : 24,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "モモモ",
      "start_offset" : 22,
      "end_offset" : 25,
      "type" : "word",
      "position" : 31
    },
    {
      "token" : "モモ",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 32
    },
    {
      "token" : "モモノ",
      "start_offset" : 23,
      "end_offset" : 26,
      "type" : "word",
      "position" : 33
    },
    {
      "token" : "モノ",
      "start_offset" : 24,
      "end_offset" : 26,
      "type" : "word",
      "position" : 34
    },
    {
      "token" : "モノウ",
      "start_offset" : 24,
      "end_offset" : 27,
      "type" : "word",
      "position" : 35
    },
    {
      "token" : "ノウ",
      "start_offset" : 25,
      "end_offset" : 27,
      "type" : "word",
      "position" : 36
    },
    {
      "token" : "ノウチ",
      "start_offset" : 25,
      "end_offset" : 28,
      "type" : "word",
      "position" : 37
    },
    {
      "token" : "ウチ",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 38
    },
    {
      "token" : "スモ",
      "start_offset" : 30,
      "end_offset" : 32,
      "type" : "word",
      "position" : 39
    },
    {
      "token" : "スモモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 40
    },
    {
      "token" : "モモ",
      "start_offset" : 31,
      "end_offset" : 33,
      "type" : "word",
      "position" : 41
    },
    {
      "token" : "モモ",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 42
    },
    {
      "token" : "モモ",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 43
    },
    {
      "token" : "ウチ",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 44
    },
    {
      "token" : "渡辺",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 45
    },
    {
      "token" : "渡辺サ",
      "start_offset" : 50,
      "end_offset" : 53,
      "type" : "word",
      "position" : 46
    },
    {
      "token" : "辺サ",
      "start_offset" : 51,
      "end_offset" : 53,
      "type" : "word",
      "position" : 47
    },
    {
      "token" : "辺サン",
      "start_offset" : 51,
      "end_offset" : 54,
      "type" : "word",
      "position" : 48
    },
    {
      "token" : "サン",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 49
    },
    {
      "token" : "サンチ",
      "start_offset" : 52,
      "end_offset" : 55,
      "type" : "word",
      "position" : 50
    },
    {
      "token" : "ンチ",
      "start_offset" : 53,
      "end_offset" : 55,
      "type" : "word",
      "position" : 51
    },
    {
      "token" : "ンチノ",
      "start_offset" : 53,
      "end_offset" : 56,
      "type" : "word",
      "position" : 52
    },
    {
      "token" : "チノ",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 53
    },
    {
      "token" : "チノ太",
      "start_offset" : 54,
      "end_offset" : 57,
      "type" : "word",
      "position" : 54
    },
    {
      "token" : "ノ太",
      "start_offset" : 55,
      "end_offset" : 57,
      "type" : "word",
      "position" : 55
    },
    {
      "token" : "ノ太郎",
      "start_offset" : 55,
      "end_offset" : 58,
      "type" : "word",
      "position" : 56
    },
    {
      "token" : "太郎",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 57
    },
    {
      "token" : "太郎ク",
      "start_offset" : 56,
      "end_offset" : 59,
      "type" : "word",
      "position" : 58
    },
    {
      "token" : "郎ク",
      "start_offset" : 57,
      "end_offset" : 59,
      "type" : "word",
      "position" : 59
    },
    {
      "token" : "郎クン",
      "start_offset" : 57,
      "end_offset" : 60,
      "type" : "word",
      "position" : 60
    },
    {
      "token" : "クン",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 61
    },
    {
      "token" : "クント",
      "start_offset" : 58,
      "end_offset" : 61,
      "type" : "word",
      "position" : 62
    },
    {
      "token" : "ント",
      "start_offset" : 59,
      "end_offset" : 61,
      "type" : "word",
      "position" : 63
    },
    {
      "token" : "ント渡",
      "start_offset" : 59,
      "end_offset" : 62,
      "type" : "word",
      "position" : 64
    },
    {
      "token" : "ト渡",
      "start_offset" : 60,
      "end_offset" : 62,
      "type" : "word",
      "position" : 65
    },
    {
      "token" : "ト渡邊",
      "start_offset" : 60,
      "end_offset" : 63,
      "type" : "word",
      "position" : 66
    },
    {
      "token" : "渡邊",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 67
    },
    {
      "token" : "渡邊サ",
      "start_offset" : 61,
      "end_offset" : 64,
      "type" : "word",
      "position" : 68
    },
    {
      "token" : "邊サ",
      "start_offset" : 62,
      "end_offset" : 64,
      "type" : "word",
      "position" : 69
    },
    {
      "token" : "邊サン",
      "start_offset" : 62,
      "end_offset" : 65,
      "type" : "word",
      "position" : 70
    },
    {
      "token" : "サン",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 71
    },
    {
      "token" : "サンチ",
      "start_offset" : 63,
      "end_offset" : 66,
      "type" : "word",
      "position" : 72
    },
    {
      "token" : "ンチ",
      "start_offset" : 64,
      "end_offset" : 66,
      "type" : "word",
      "position" : 73
    },
    {
      "token" : "ンチノ",
      "start_offset" : 64,
      "end_offset" : 67,
      "type" : "word",
      "position" : 74
    },
    {
      "token" : "チノ",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 75
    },
    {
      "token" : "チノ花",
      "start_offset" : 65,
      "end_offset" : 68,
      "type" : "word",
      "position" : 76
    },
    {
      "token" : "ノ花",
      "start_offset" : 66,
      "end_offset" : 68,
      "type" : "word",
      "position" : 77
    },
    {
      "token" : "ノ花子",
      "start_offset" : 66,
      "end_offset" : 69,
      "type" : "word",
      "position" : 78
    },
    {
      "token" : "花子",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 79
    },
    {
      "token" : "花子サ",
      "start_offset" : 67,
      "end_offset" : 70,
      "type" : "word",
      "position" : 80
    },
    {
      "token" : "子サ",
      "start_offset" : 68,
      "end_offset" : 70,
      "type" : "word",
      "position" : 81
    },
    {
      "token" : "子サン",
      "start_offset" : 68,
      "end_offset" : 71,
      "type" : "word",
      "position" : 82
    },
    {
      "token" : "サン",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 83
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "関西国",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "関西国際",
      "start_offset" : 0,
      "end_offset" : 4,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "関西国際空",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "関西国際空港",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "関西国際空港。",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "関西国際空港。 ",
      "start_offset" : 0,
      "end_offset" : 8,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "関西国際空港。 東",
      "start_offset" : 0,
      "end_offset" : 9,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "関西国際空港。 東京",
      "start_offset" : 0,
      "end_offset" : 10,
      "type" : "word",
      "position" : 9
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カン",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサイ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カン",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコク",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイク",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイクウ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コク",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コクサ",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コクサイ",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウコ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウコウ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキョ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキョウ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマデ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマデラ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "スモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "スモモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "モモ",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "モモ",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "ウチ",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "スモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "スモモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "モモ",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "モモ",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "ウチ",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタナ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "サン",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "チノ",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "タロ",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "タロウ",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "クン",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタナ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "サン",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "チノ",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "ハナ",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "ハナコ",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    },
    {
      "token" : "サン",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "カンサイ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサイコクサイクウコウ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カン",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "カンサイ",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "関西国際空港",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "関西国",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "関西国際",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "関西国際空",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコク",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイク",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "カンサイコクサイクウ",
      "start_offset" : 0,
      "end_offset" : 6,
      "type" : "word",
      "position" : 0,
      "positionLength" : 3
    },
    {
      "token" : "国際",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コク",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コクサ",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "コクサイ",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "空港",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウコ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "クウコウ",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "東京",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキョ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "トウキョウ",
      "start_offset" : 8,
      "end_offset" : 10,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 10,
      "end_offset" : 11,
      "type" : "word",
      "position" : 4
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "",
      "start_offset" : 11,
      "end_offset" : 12,
      "type" : "word",
      "position" : 5
    },
    {
      "token" : "山寺",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマデ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "ヤマデラ",
      "start_offset" : 12,
      "end_offset" : 14,
      "type" : "word",
      "position" : 6
    },
    {
      "token" : "すもも",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "すも",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "スモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "スモモ",
      "start_offset" : 16,
      "end_offset" : 19,
      "type" : "word",
      "position" : 7
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "",
      "start_offset" : 19,
      "end_offset" : 20,
      "type" : "word",
      "position" : 8
    },
    {
      "token" : "もも",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "モモ",
      "start_offset" : 20,
      "end_offset" : 22,
      "type" : "word",
      "position" : 9
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "",
      "start_offset" : 22,
      "end_offset" : 23,
      "type" : "word",
      "position" : 10
    },
    {
      "token" : "もも",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "モモ",
      "start_offset" : 23,
      "end_offset" : 25,
      "type" : "word",
      "position" : 11
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "",
      "start_offset" : 25,
      "end_offset" : 26,
      "type" : "word",
      "position" : 12
    },
    {
      "token" : "うち",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "ウチ",
      "start_offset" : 26,
      "end_offset" : 28,
      "type" : "word",
      "position" : 13
    },
    {
      "token" : "すもも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "すも",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "スモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "スモモ",
      "start_offset" : 30,
      "end_offset" : 33,
      "type" : "word",
      "position" : 14
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "",
      "start_offset" : 34,
      "end_offset" : 35,
      "type" : "word",
      "position" : 15
    },
    {
      "token" : "もも",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "モモ",
      "start_offset" : 36,
      "end_offset" : 38,
      "type" : "word",
      "position" : 16
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "",
      "start_offset" : 39,
      "end_offset" : 40,
      "type" : "word",
      "position" : 17
    },
    {
      "token" : "もも",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "モモ",
      "start_offset" : 41,
      "end_offset" : 43,
      "type" : "word",
      "position" : 18
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "",
      "start_offset" : 44,
      "end_offset" : 45,
      "type" : "word",
      "position" : 19
    },
    {
      "token" : "うち",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "ウチ",
      "start_offset" : 46,
      "end_offset" : 48,
      "type" : "word",
      "position" : 20
    },
    {
      "token" : "渡辺",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタナ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 50,
      "end_offset" : 52,
      "type" : "word",
      "position" : 21
    },
    {
      "token" : "さん",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "サン",
      "start_offset" : 52,
      "end_offset" : 54,
      "type" : "word",
      "position" : 22
    },
    {
      "token" : "ちの",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "チノ",
      "start_offset" : 54,
      "end_offset" : 56,
      "type" : "word",
      "position" : 23
    },
    {
      "token" : "太郎",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "タロ",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "タロウ",
      "start_offset" : 56,
      "end_offset" : 58,
      "type" : "word",
      "position" : 24
    },
    {
      "token" : "くん",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "クン",
      "start_offset" : 58,
      "end_offset" : 60,
      "type" : "word",
      "position" : 25
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "",
      "start_offset" : 60,
      "end_offset" : 61,
      "type" : "word",
      "position" : 26
    },
    {
      "token" : "渡邊",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタナ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "ワタナベ",
      "start_offset" : 61,
      "end_offset" : 63,
      "type" : "word",
      "position" : 27
    },
    {
      "token" : "さん",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "サン",
      "start_offset" : 63,
      "end_offset" : 65,
      "type" : "word",
      "position" : 28
    },
    {
      "token" : "ちの",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "チノ",
      "start_offset" : 65,
      "end_offset" : 67,
      "type" : "word",
      "position" : 29
    },
    {
      "token" : "花子",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "ハナ",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "ハナコ",
      "start_offset" : 67,
      "end_offset" : 69,
      "type" : "word",
      "position" : 30
    },
    {
      "token" : "さん",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    },
    {
      "token" : "",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    },
    {
      "token" : "",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    },
    {
      "token" : "サン",
      "start_offset" : 69,
      "end_offset" : 71,
      "type" : "word",
      "position" : 31
    }
  ]
}


# POST /ldgourmet/_analyze
{
  "tokens" : [
    {
      "token" : "関西国際空港。 東京都ノ山寺. スモモモモモモモモノウチ。 スモモ モ モモ モ モモ ノ ウチ, 渡辺サンチノ太郎クント渡邊サンチノ花子サン",
      "start_offset" : 0,
      "end_offset" : 71,
      "type" : "word",
      "position" : 0
    }
  ]
}