---
settings:
analysis:
analyzer:
# Don't use ngram for search otherwise 'horribleexample' would match
# 'horriblesubs'
nyaapantsu_search_analyzer:
tokenizer: standard
filter:
- standard
- lowercase
char_filter:
- dash_to_underscore
nyaapantsu_index_analyzer:
- e_ngram_filter
e_ngram_filter:
type: edge_ngram
min_gram: 1
max_gram: 16
dash_to_underscore:
type: pattern_replace
pattern: "([^\\s]+)-(?=[^\\s]+)"
replacement: "$1_"
index:
number_of_shards: 1
number_of_replicas: 0
max_result_window: 30000
mappings:
torrents:
properties:
# TODO Consistent ID's type in TorrentJSON
id:
type: long
name:
type: text
analyzer: nyaapantsu_index_analyzer
fields:
raw:
type: keyword
category:
sub_category:
status:
hash:
date:
type: date
uploader_id:
downloads:
seeders:
leechers:
completed:
filesize:
language:
analyzer: simple