From f04002188de44baf67a5ff03eb4d2e9fe6115504 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Sat, 1 Feb 2020 16:57:12 +0900
Subject: [PATCH] Resolve #5513

---
 CHANGELOG.md                      |  1 +
 migration/1580543501339-v12-13.ts | 14 ++++++++++++++
 src/models/entities/note.ts       |  1 +
 3 files changed, 16 insertions(+)
 create mode 100644 migration/1580543501339-v12-13.ts

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7649cd02d..0809bf01be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -85,6 +85,7 @@ Misskey v12では、クライアントが設計し直され、全く新しいUI
 * OAuth認証画面の配色がおかしい問題を修正
 * 設定画面で、アバターを更新してもアバターの画像がその場で更新されない問題を修正
 * 投稿詳細/ユーザー詳細 画面でadminや公式アカウントマークが表示されない問題を修正
+* ハッシュタグ検索が遅い問題を修正
 * APIのリクエスト方法(websocket/HTTP)によって返ってくるエラーの内容に違いがある問題を修正
 * ストリーミングのuserListチャンネルで存在しないリストでもsubscribeできて、リストのIDがわかれば他人のリストでもsubscribeできる問題を修正
 * Redis subscriberで認証ができないのを修正
diff --git a/migration/1580543501339-v12-13.ts b/migration/1580543501339-v12-13.ts
new file mode 100644
index 0000000000..7f5d8b8030
--- /dev/null
+++ b/migration/1580543501339-v12-13.ts
@@ -0,0 +1,14 @@
+import {MigrationInterface, QueryRunner} from "typeorm";
+
+export class v12131580543501339 implements MigrationInterface {
+    name = 'v12131580543501339'
+
+    public async up(queryRunner: QueryRunner): Promise<any> {
+        await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined);
+    }
+
+    public async down(queryRunner: QueryRunner): Promise<any> {
+        await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined);
+    }
+
+}
diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts
index c359474811..e6fbd4ce75 100644
--- a/src/models/entities/note.ts
+++ b/src/models/entities/note.ts
@@ -4,6 +4,7 @@ import { DriveFile } from './drive-file';
 import { id } from '../id';
 
 @Entity()
+@Index('IDX_NOTE_TAGS', { synchronize: false })
 export class Note {
 	@PrimaryColumn(id())
 	public id: string;