ちょっとタイトルは内容からすると主語というかスコープがでかすぎです。ご了承ください。
過去に次のような記事を上梓させていただいております。
ただ、いろいろやっていると、多少気分も変わることもしばしばです。
マイフェイバリットの軸はかわらないものの、今日はこんなフレーバーかな?と、横道にそれることもあります。
その際に、エディタによる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ファイルにしている程度のものです。
どちらかと言えば、ライブラリにあたる方に、フレーバーを変えたい事項にまつわる設定(に相当するプログラムのコード)が集中しています。
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 } ] }