summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-07-04 20:13:05 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-07-04 20:13:05 +0900
commit7293baa1f9f6bd7226e22bd04bfeabede1eee621 (patch)
treee44eb32d49eeba8486291c45755f4634fc37e17e
parentwip (diff)
downloadsharkey-7293baa1f9f6bd7226e22bd04bfeabede1eee621.tar.gz
sharkey-7293baa1f9f6bd7226e22bd04bfeabede1eee621.tar.bz2
sharkey-7293baa1f9f6bd7226e22bd04bfeabede1eee621.zip
wip
-rw-r--r--src/db/elasticsearch.ts80
-rw-r--r--src/services/note/create.ts3
2 files changed, 42 insertions, 41 deletions
diff --git a/src/db/elasticsearch.ts b/src/db/elasticsearch.ts
index 2d90238c5a..a3ac494a8c 100644
--- a/src/db/elasticsearch.ts
+++ b/src/db/elasticsearch.ts
@@ -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;
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index ea20b063d5..89f9a91c9b 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -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',