{
  "settings": {
    "analysis": {
      "filter": {
        "english_stop": {
          "type":       "stop",
          "stopwords":  "_english_"
        },
        "english_stemmer": {
          "type":       "stemmer",
          "language":   "english"
        },
        "english_possessive_stemmer": {
          "type":       "stemmer",
          "language":   "possessive_english"
        }
      },
      "tokenizer": {
        "ngram_tokenizer": {
          "type": "ngram",
          "min_gram": 2,
          "max_gram": 3,
          "token_chars": ["letter", "digit"]
        },
        "sudachi_tokenizer": {
          "type": "sudachi_tokenizer",
          "mode": "search"
        }
      },
      "analyzer": {
        "english": {
          "tokenizer": "ngram_tokenizer",
          "filter": [
            "english_possessive_stemmer",
            "lowercase",
            "english_stop",
            "english_stemmer"
          ]
        },
        "sudachi_analyzer": {
          "filter": [],
          "tokenizer": "sudachi_tokenizer",
          "type": "custom"
        }
      }
    }
  },
  "mappings": {
    "pages": {
      "properties" : {
        "path": {
          "type": "text",
          "fields": {
            "raw": {
              "type": "text",
              "analyzer": "keyword"
            },
            "ja": {
              "type": "text",
              "analyzer": "sudachi_analyzer"
            },
            "en": {
              "type": "text",
              "analyzer": "english"
            }
          }
        },
        "body": {
          "type": "text",
          "fields": {
            "ja": {
              "type": "text",
              "analyzer": "sudachi_analyzer"
            },
            "en": {
              "type": "text",
              "analyzer": "english"
            }
          }
        },
        "username": {
          "type": "keyword"
        },
        "comment_count": {
          "type": "integer"
        },
        "bookmark_count": {
          "type": "integer"
        },
        "like_count": {
          "type": "integer"
        },
        "created_at": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "updated_at": {
          "type": "date",
          "format": "dateOptionalTime"
        }
      }
    }
  }
}
