-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_index.php
122 lines (116 loc) · 3.8 KB
/
build_index.php
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
date_default_timezone_set('Europe/Kiev');
error_reporting(E_ALL);
ini_set('display_errors', 1);
require(__DIR__ . '/vendor/autoload.php');
$indexName = 'mralbert';
$clientBuilder = Elasticsearch\ClientBuilder::create();
$clientBuilder->setHosts([
'http://localhost:9200/'
]);
$client = $clientBuilder->build();
$params = [
'index' => $indexName,
'body' => [
'mappings' => [
'lessons' => [
'properties' => [
'lessonId' => [
'type' => 'string',
'include_in_all' => false,
],
'lessonName' => [
'type' => 'string',
],
'keywords' => [
'type' => 'string',
],
'centralArea' => [
'type' => 'string',
],
'mainArea' => [
'type' => 'string',
],
],
],
'lessons_suggest' => [
'properties' => [
'word' => [
'type' => 'string',
],
'lessons_suggest' => [
'type' => 'completion',
'analyzer' => 'simple',
'search_analyzer' => 'simple',
'payloads' => false
]
],
],
'exercises_suggest' => [
'properties' => [
'word' => [
'type' => 'string',
],
'exercises_suggest' => [
'type' => 'completion',
'analyzer' => 'simple',
'search_analyzer' => 'simple',
'payloads' => false
]
],
],
'exercises' => [
'properties' => [
'isbn' => [
'type' => 'string',
'include_in_all' => false,
],
'chapterNumber' => [
'type' => 'string'
],
'chapterName' => [
'type' => 'string',
],
'exerciseText' => [
'type' => 'string',
],
'lessonId' => [
'type' => 'string',
'include_in_all' => false,
],
'lessonName' => [
'type' => 'string',
'include_in_all' => false,
],
'number' => [
'type' => 'long',
],
'numberVariant' => [
'type' => 'string',
],
'exerciseNumberVariant1' => [
'type' => 'string',
],
'exerciseNumberVariant2' => [
'type' => 'string',
],
'exerciseNumberVariant3' => [
'type' => 'string',
],
'subChapterName' => [
'type' => 'string',
],
'variant' => [
'type' => 'string',
],
'numVarChaptSubChapt' => [
'type' => 'string'
],
]
]
]
]
];
// Create the index with mappings and settings now
$response = $client->indices()->create($params);
var_dump($response);