This commit is contained in:
syuilo 2018-07-04 20:13:05 +09:00
parent 20f91f0b12
commit 3e42f5e05c
2 changed files with 42 additions and 41 deletions

View file

@ -2,53 +2,55 @@ import * as elasticsearch from 'elasticsearch';
import config from '../config';
// Init ElasticSearch connection
const client = new elasticsearch.Client({
const client = config.elasticsearch ? new elasticsearch.Client({
host: `${config.elasticsearch.host}:${config.elasticsearch.port}`
});
}) : null;
// Send a HEAD request
client.ping({
// Ping usually has a 3000ms timeout
requestTimeout: 30000
}, error => {
if (error) {
console.error('elasticsearch is down!');
} else {
console.log('elasticsearch is available!');
}
});
if (client) {
// Send a HEAD request
client.ping({
// Ping usually has a 3000ms timeout
requestTimeout: 30000
}, error => {
if (error) {
console.error('elasticsearch is down!');
} else {
console.log('elasticsearch is available!');
}
});
client.indices.create({
index: 'misskey',
body: {
settings: {
analysis: {
analyzer: {
bigram: {
tokenizer: 'bigram_tokenizer'
}
},
tokenizer: {
bigram_tokenizer: {
type: 'nGram',
min_gram: 2,
max_gram: 2
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: 'analyzed',
analyzer: 'bigram'
},
mappings: {
note: {
properties: {
text: {
type: 'text',
index: 'analyzed',
analyzer: 'bigram'
}
}
}
}
}
}
});
});
}
export default client;

View file

@ -1,3 +1,4 @@
import es from '../../db/elasticsearch';
import Note, { pack, INote } from '../../models/note';
import User, { isLocalUser, IUser, isRemoteUser, IRemoteUser, ILocalUser } from '../../models/user';
import stream, { publishLocalTimelineStream, publishGlobalTimelineStream, publishUserListStream } from '../../publishers/stream';
@ -431,8 +432,6 @@ export default async (user: IUser, data: {
// Register to search database
if (note.text && config.elasticsearch) {
const es = require('../../../db/elasticsearch');
es.index({
index: 'misskey',
type: 'note',