wip
This commit is contained in:
parent
20f91f0b12
commit
3e42f5e05c
2 changed files with 42 additions and 41 deletions
|
@ -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;
|
||||
|
|
|
@ -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',
|
||||
|
|
Loading…
Reference in a new issue