読者です 読者をやめる 読者になる 読者になる

Knowledge

オープンソースで情報共有のサービス「Knowledge」を作っています。ブログでは、サービスの説明や開発で得た情報などを書いていきます。https://support-project.org/knowledge_info/index

Knowledge - Release 0.5.0 Pre2 を作りました

はじめに

  • リリース候補版を作りました

変更点

  • コメントも検索の対象としました
  • 管理者によるインデックスの検索インデックスの再構築の機能を作りました
  • データベースをPostgresqlに切り替えることが出来るようにしました
  • トップページのデザインを変更しました

インデックスの再構築について

  • 本アプリでは、データはDB(初期ではH2SQL Database)に格納します
  • キーワード検索は、全文検索インデックス(Apache Lucene)を使います
  • 今回の変更で、コメントも検索対象に変更しましたが、検索インデックスにコメントが登録されていません
  • そこで、DBに登録されているデータをインデックスに入れなおす機能を作りました(管理者機能)
  • 登録されているナレッジの番号を範囲指定して実行すると、インデックスを再構築します
  • 再構築したナレッジはコメントも検索対象になります

データベースの変更について

  • 利用を簡単にするために、Knowledgeでは起動時に組み込みDBを起動しています
  • ただ、もっとちゃんとデータを管理したいという管理者のために、組み込みDB以外も対応してみました
  • 管理者機能で、データベースの接続先変更の機能から、組み込みDB以外のDBに接続できます
  • 対応しているDBは、Postgresqlです
  • 組み込みDBで登録してきた、今までのデータも、Postgresqlへデータ移行も出来ます
  • Postgresqlへ移行した場合、バックアップなどのデータ管理はPostgresql側で行えるようになります
  • データ復元したなどの場合、インデックス再構築を使ってください

開発所感

  • WebsocketはNode.jsというイメージでしたが、JavaでWebsocketを使うのが簡単すぎて作るの楽しいです
  • 無駄にいろんなところでwebsocket使っています
  • いろいろわかった事がありますが、ブログに書こう書こうと思いながら後回しになってます

おわりに

  • 他にも、こんな機能が欲しい!とか不具合報告などありましたらご連絡くださいね