Discourse Algolia検索

||||
-|-|
:discourse2: | 概要 | Discourse Algolia Search は、Algolia を Discourse の検索機能に統合します。
:hammer_and_wrench: | リポジトリリンク | https://github.com/discourse/discourse-algolia
:open_book: | インストールガイド | Discourse でのプラグインのインストール方法

機能

私は最近、トピック、投稿、ユーザー、タグを Algolia でインデックス化し、それらをマルチカテゴリの自動補完検索に統合するプラグインを作成しました。以下はその動作を示す GIF です:

インストール手順を含む Github リポジトリは、algolia/discourse-algolia で確認できます。

プラグインの設定には、いくつかのフィールドに入力するだけです。オブジェクトが保存されると、インデックス化タスクはジョブキューに追加されます。注意:Algolia アカウントの作成 が必要です。10,000 件のレコードまでは無料です。

設定

:raising_hand_woman: よくある質問

Q: これはデフォルトの Discourse 検索を置き換えますか?
A: 望む場合のみ、かつ現時点ではヘッダーの自動補完機能のみです。検索結果が選択されていない状態で Enter キーを押すか、自動補完のフッターにある「詳細検索」リンクを使用することで、フル検索ページにアクセスできます。「望む場合のみ」と言ったのは、Algolia へのインデックス化を有効にしても、UI や既存の Discourse 検索に影響を与えないようにできるからです。そのため、プラグイン設定には2つのチェックボックスがあります。単にインデックス化を行うだけであれば、Algolia ダッシュボードでデータを検索し、どのように動作しているかを確認できます。

Q: プラグインを使用するには支払いが必要ですか?
A: 保持しているデータ量によります。1,000 件未満の投稿しかない場合、10,000 件のレコードを提供する Algolia の無料コミュニティプランに収まるはずです。目安としては、最適な関連性と速度のために投稿は段落サイズのチャンクに分割されるため、投稿1件あたり10件の Algolia レコードが必要になります。ただし、状況は異なります(YMMV)。プラグインを使用したいがコストが心配な場合は、メール をお送りいただければ、対応を検討いたします。 オープンソースプロジェクトまたは非営利団体の場合、より高い制限枠が適用される可能性がありますので、このフォーム に記入し、Discourse に関する言及をお願いします。

変更履歴

2022.11.02

PR をプッシュしました

  • algoliasearch.js を 4.14.2 に更新
  • autocomplete.js を 1.7.1 に更新

2020.09.08

GitHub - discourse/discourse-algolia: A plugin for indexing and searching your Discourse with Algolia · GitHub に8つのコミットをプッシュしました

  • 複数回のページ読み込み後に検索ボックスが機能しなくなるバグを修正するはずです。 :warning: 注意:プラグインは Discourse の最新バージョンが必要です

  • プラグインは現在 Discourse の scss 変数を使用しており、ダークモードでも正しく動作します

  • ユーザー検索が /users ではなく /u に遷移し、404 エラーを引き起こしていたバグを修正しました。 :warning: 注意:正しく動作させるには、ユーザーの再インデックス化が必要です rake algolia:reindex_users

  • 検索ボックスの整列問題を修正しました

  • 各種コーディング基準を適用しました

  • jQuery の使用を一部削除しました

  • 検索ボックスが若干高速化しました。これは、任意の100ms待機ではなくレンダリングに連携されたためです(禁止されている setTimeout の使用も削除しました)


今後の課題

以下のタスクについて pr-welcome とします:

  • algoliasearch (ruby) を更新

これにより、将来非推奨になることを防ぎ、グローバル名前空間に含めるのではなくライブラリをインポートできるようになります。

「いいね!」 61

プラグインは自動的に再インデックスしているようです。どのくらいの頻度で行われるか教えていただけますか?ドキュメントには記載されていません。
よろしくお願いします。

「いいね!」 1

コミュニティの誰かが答えを知らない限り、Discourseチームから回答を得るには来週までかかるかもしれません。

プラグインが、インデックス作成のためにキューに入れられたすべてのオブジェクト(投稿、トピック、ユーザー、タグ)を処理するために5分ごとにジョブを実行していることがわかります: https://github.com/discourse/discourse-algolia/blob/main/app/jobs/scheduled/update_indexes.rb。しかし、オブジェクトが再インデックスされる原因となる可能性のあるものについては、私には明確ではありません。

もし返答する機会があれば、コンテンツが再インデックスされているように見える理由について、あなたが見ていることを知りたいです。

「いいね!」 1

サイモンさん、返信ありがとうございます!テスト投稿を作成しました。Algoliaのアカウントを持っています。翌日ログインして、Algoliaの管理画面でその投稿を検索したところ、表示されました。投稿直後に確認した際にはAlgoliaに投稿が表示されなかったと思いますが、インデックス作成にはある程度の遅延があることは理解しています。5分であればかなり良いでしょう。別の投稿を試して、10分待って表示されるか確認してみます。ドキュメントにこのことについて言及がないことに驚いています。

「いいね!」 2

このプラグインをテストし始めたばかりです。いくつか質問があります。

  1. キーワードを検索すると、Algolia は Discourse がユニークなトピックを表示するのとは対照的に、同じトピックの異なる段落のみをリストします。そのトピックが最終的な答えでない限り、この方法はエンドユーザーにとってより制限的で不正確なようです。この動作は設定可能であるべきでしょうか?

  2. このプラグインは、poststagsusers の 3 つのタイプごとに Algolia アプリに 3 つのインデックスを作成します。このプラグインで、Algolia アプリで利用可能な他のインデックスを含めるにはどうすればよいですか?ユースケース:Algolia によるマルチサイト検索

最後の質問は機能リクエストに近いですが、最初の質問は、使用可能な検索結果のために設定可能なオプションである必要があると強く信じています。

「いいね!」 1

こんにちは。

自動補完検索はモバイルでも機能しますか? Algoliaフォーラムでは機能していないように見えます。

ねえ、

Algoliaコミュニティは利用できなくなり、Discordに移行しました。

Discourseフォーラムにさよなら(そして次に何が来るか)- Algolia Blog | Algolia

また、UXデザインが変更され、見た目がよりモダンになりました。プラグインを更新する予定はありますか?

また、「ログイン」と「登録」ボタンを右隅(デフォルト)に移動し、検索バーを中央に配置することは、「Header Search」テーマコンポーネントのように可能ですか?
direita

「いいね!」 2

現時点では具体的な予定はありません。このプラグインを使用しているお客様はごく少数です。

「いいね!」 3