summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/db/elasticsearch.ts70
1 files changed, 39 insertions, 31 deletions
diff --git a/src/db/elasticsearch.ts b/src/db/elasticsearch.ts
index 8e86a942e6..4acff40793 100644
--- a/src/db/elasticsearch.ts
+++ b/src/db/elasticsearch.ts
@@ -1,6 +1,36 @@
import * as elasticsearch from 'elasticsearch';
import config from '../config';
+const index = {
+ settings: {
+ analysis: {
+ analyzer: {
+ bigram: {
+ tokenizer: 'bigram_tokenizer'
+ }
+ },
+ tokenizer: {
+ bigram_tokenizer: {
+ type: 'nGram',
+ min_gram: 2,
+ max_gram: 2
+ }
+ }
+ }
+ },
+ mappings: {
+ note: {
+ properties: {
+ text: {
+ type: 'text',
+ index: true,
+ analyzer: 'bigram'
+ }
+ }
+ }
+ }
+};
+
// Init ElasticSearch connection
const client = config.elasticsearch ? new elasticsearch.Client({
host: `${config.elasticsearch.host}:${config.elasticsearch.port}`
@@ -19,37 +49,15 @@ if (client) {
}
});
- client.indices.create({
- index: 'misskey',
- body: {
- settings: {
- analysis: {
- analyzer: {
- bigram: {
- tokenizer: 'bigram_tokenizer'
- }
- },
- tokenizer: {
- bigram_tokenizer: {
- type: 'nGram',
- min_gram: 2,
- max_gram: 2
- }
- }
- }
- },
- mappings: {
- note: {
- properties: {
- text: {
- type: 'text',
- index: true,
- analyzer: 'bigram'
- }
- }
- }
- }
- }
+ client.indices.exists({
+ index: 'misskey'
+ }).then(exist => {
+ if (exist) return;
+
+ client.indices.create({
+ index: 'misskey',
+ body: index
+ });
});
}