wip
This commit is contained in:
parent
9d49636cd1
commit
7293baa1f9
|
@ -2,53 +2,55 @@ import * as elasticsearch from 'elasticsearch';
|
||||||
import config from '../config';
|
import config from '../config';
|
||||||
|
|
||||||
// Init ElasticSearch connection
|
// Init ElasticSearch connection
|
||||||
const client = new elasticsearch.Client({
|
const client = config.elasticsearch ? new elasticsearch.Client({
|
||||||
host: `${config.elasticsearch.host}:${config.elasticsearch.port}`
|
host: `${config.elasticsearch.host}:${config.elasticsearch.port}`
|
||||||
});
|
}) : null;
|
||||||
|
|
||||||
// Send a HEAD request
|
if (client) {
|
||||||
client.ping({
|
// Send a HEAD request
|
||||||
// Ping usually has a 3000ms timeout
|
client.ping({
|
||||||
requestTimeout: 30000
|
// Ping usually has a 3000ms timeout
|
||||||
}, error => {
|
requestTimeout: 30000
|
||||||
if (error) {
|
}, error => {
|
||||||
console.error('elasticsearch is down!');
|
if (error) {
|
||||||
} else {
|
console.error('elasticsearch is down!');
|
||||||
console.log('elasticsearch is available!');
|
} else {
|
||||||
}
|
console.log('elasticsearch is available!');
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
|
||||||
client.indices.create({
|
client.indices.create({
|
||||||
index: 'misskey',
|
index: 'misskey',
|
||||||
body: {
|
body: {
|
||||||
settings: {
|
settings: {
|
||||||
analysis: {
|
analysis: {
|
||||||
analyzer: {
|
analyzer: {
|
||||||
bigram: {
|
bigram: {
|
||||||
tokenizer: 'bigram_tokenizer'
|
tokenizer: 'bigram_tokenizer'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tokenizer: {
|
tokenizer: {
|
||||||
bigram_tokenizer: {
|
bigram_tokenizer: {
|
||||||
type: 'nGram',
|
type: 'nGram',
|
||||||
min_gram: 2,
|
min_gram: 2,
|
||||||
max_gram: 2
|
max_gram: 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
mappings: {
|
||||||
mappings: {
|
note: {
|
||||||
note: {
|
properties: {
|
||||||
properties: {
|
text: {
|
||||||
text: {
|
type: 'text',
|
||||||
type: 'text',
|
index: 'analyzed',
|
||||||
index: 'analyzed',
|
analyzer: 'bigram'
|
||||||
analyzer: 'bigram'
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
export default client;
|
export default client;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import es from '../../db/elasticsearch';
|
||||||
import Note, { pack, INote } from '../../models/note';
|
import Note, { pack, INote } from '../../models/note';
|
||||||
import User, { isLocalUser, IUser, isRemoteUser, IRemoteUser, ILocalUser } from '../../models/user';
|
import User, { isLocalUser, IUser, isRemoteUser, IRemoteUser, ILocalUser } from '../../models/user';
|
||||||
import stream, { publishLocalTimelineStream, publishGlobalTimelineStream, publishUserListStream } from '../../publishers/stream';
|
import stream, { publishLocalTimelineStream, publishGlobalTimelineStream, publishUserListStream } from '../../publishers/stream';
|
||||||
|
@ -431,8 +432,6 @@ export default async (user: IUser, data: {
|
||||||
|
|
||||||
// Register to search database
|
// Register to search database
|
||||||
if (note.text && config.elasticsearch) {
|
if (note.text && config.elasticsearch) {
|
||||||
const es = require('../../../db/elasticsearch');
|
|
||||||
|
|
||||||
es.index({
|
es.index({
|
||||||
index: 'misskey',
|
index: 'misskey',
|
||||||
type: 'note',
|
type: 'note',
|
||||||
|
|
Loading…
Reference in New Issue