Backend/elastic/samples/template.json

95 lines
2.9 KiB
JSON

{
"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": {
}
}
}
}
}