{
    "index_patterns": ["papers*"],
    "priority": 1,
    "template": {
        "aliases": {
            "papers": {}
        },
        "mappings": {
            "properties": {
                "id": {
                    "type": "keyword"
                },
                "title": {
                    "type": "text",
                    "analyzer": "title_analyzer"
                },
                "authors": {
                    "type": "text"
                },
                "topic": {
                    "type": "text"
                },
                "summary": {
                    "type": "text"
                },
                "tags": {
                    "type": "keyword"
                },
                "content": {
                    "type": "text"
                },
                "publisher": {
                    "type": "text"
                }
            }
        },
        "settings": {
            "analysis": {
                "analyzer": {
                    "title_analyzer": {
                        "type": "custom",
                        "tokenizer": "title_engram_tokenizer"
                    },
                    "content_analyzer_i": {
                        "type": "custom",
                        "tokenizer": "content_onchar_tokenizer",
                        "char_filter": [
                            "markdown_token_filter"
                        ]
                    },
                    "content_analyzer_s": {
                        "type": "custom",
                        "tokenizer": "content_onchar_tokenizer",
                        "char_filter": [
                            "markdown_token_filter"
                        ],
                        "filter": [
                        ]
                    },
                    "basic_analyzer": {

                    }
                },
                "tokenizer": {
                    "title_engram_tokenizer": {
                        "type": "edge_ngram",
                        "min_gram": 2,
                        "max_gram": 10,
                        "token_chars": [
                            "letter",
                            "digit"
                        ]
                    },
                    "content_onchar_tokenizer": {
                        "type": "char_group",
                        "tokenize_on_chars": [
                            "whitespace",
                            ".", ",", "(", ")", "-", "[", "]", "{", 
                            "}", "#", ":", ";", "`", "!", "*"
                        ]
                    }
                },
                "char_filter": {
                    "markdown_token_filter": {
                        "type": "pattern_replace",
                        "pattern": "[[a-z][0-9]]*://[[a-z][0-9]]*.[a-z]*",
                        "replacement": ""
                    }
                },
                "filter": {
                }
            }
        }
    }
}