f22d11b35d
* Update mapping to be similar to TorrentJSON * Implement ES search for TorrentParam * Add seeders/leechers/completed to es index * Fix filter, use analyzer * Use ES for the search route * Add upload_id filtering with ES * Create/update ES index on torrent upload/update * Delete from ES index on Delete * Use ES everywhere, fallback to postgres query Use Elasticsearch to search the index whenever a call to searchByQuery is made. Big cleanup needed, but _it werks_. * Only fetch ids from ES, nothing else * Use ColumnUpdate instead of Save * Add FIXME/info to search * Template needs []TorrentJSON not []Torrent
54 lignes
1,1 Kio
YAML
54 lignes
1,1 Kio
YAML
---
|
|
settings:
|
|
analysis:
|
|
analyzer:
|
|
nyaapantsu_analyzer:
|
|
tokenizer: nyaapantsu_tokenizer
|
|
filter:
|
|
- standard
|
|
- lowercase
|
|
tokenizer:
|
|
nyaapantsu_tokenizer:
|
|
type: edge_ngram
|
|
min_gram: 2
|
|
max_gram: 15
|
|
token_chars:
|
|
- letter
|
|
- digit
|
|
index:
|
|
number_of_shards: 1
|
|
number_of_replicas: 0
|
|
|
|
mappings:
|
|
torrents:
|
|
properties:
|
|
# TODO Consistent ID's type in TorrentJSON
|
|
id:
|
|
type: text
|
|
fielddata: true # Use to sort by id because it is currently a text field
|
|
name:
|
|
type: text
|
|
analyzer: nyaapantsu_analyzer
|
|
fielddata: true # Use to sort by id because it is currently a text field
|
|
category:
|
|
type: text
|
|
sub_category:
|
|
type: text
|
|
status:
|
|
type: long
|
|
hash:
|
|
type: text
|
|
date:
|
|
type: date
|
|
uploader_id:
|
|
type: long
|
|
downloads:
|
|
type: long
|
|
seeders:
|
|
type: long
|
|
leechers:
|
|
type: long
|
|
completed:
|
|
type: long
|
|
filesize:
|
|
type: long
|