-
Notifications
You must be signed in to change notification settings - Fork 0
/
indexs.py
74 lines (61 loc) · 1.78 KB
/
indexs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
from es import BaseElastic
prefix_index = 'ana_'
default_settings = {
'number_of_shards': 5,
'number_of_replicas': 3,
# 'analysis': {
# "analyzer": {
# "vietnamese_standard": {
# "tokenizer": "icu_tokenizer",
# "filter": [
# "icu_folding",
# "icu_normalizer",
# "icu_collation"
# ]
# }
# }
# }
}
class ExampleIndex(BaseElastic):
def __init__(self, host=None, port=None, user=None, password=None):
super().__init__(
host=host if host is not None else "example_elasticsearch_host",
port=port if port is not None else "example_elasticsearch_port"
)
self._id = 'id'
def index_conf(self) -> str:
return prefix_index + 'example_index'
def settings_conf(self) -> dict:
return default_settings
def mapping_conf(self) -> dict:
return {
"id": {
"type": "integer"
},
"example_field": {
"type": "keyword"
}
}
class ExampleIndex2(BaseElastic):
def __init__(self):
super(ExampleIndex2, self).__init__(
host="example_elasticsearch_host_2",
port="example_elasticsearch_port_2"
)
self._id = 'id'
def index_conf(self) -> str:
return prefix_index + 'example_index_2'
def settings_conf(self) -> dict:
return default_settings
def mapping_conf(self) -> dict:
return {
"id": {
"type": "integer"
},
"example_field": {
"type": "keyword"
},
"example_field_2": {
"type": "keyword"
}
}