Discourseの検索が壊れている?「完全一致」ではなく「類似」/「部分一致」を返している

検索結果が完全一致ではなく数十件のマッチを返しています。また、詳細検索で設定した制限パラメータも無視されています。

例えば、興味深いSubredditの投稿があり、そのユーザー名がフォーラムの投稿で既に言及されていないか確認したいと思いました。

そこで、非常にユニークな「PlantOfJazz」で検索したところ、数十件の一致するスレッドが見つかりました。しかし、それらのスレッドのどれにも、ブラウザの検索機能を使ってその用語を検索しても一致するものはありませんでした。次に、同じ検索を行うためにプライベートメッセージを開きました。そこでも同じ結果が見つかりましたが、それらはメッセージではなく公開スレッドでした。

ここで、Metaフォーラムでも同じ検索を行いました。ここでも数十件見つかりました。(「Plant」という単語を含む投稿がいくつかありました。したがって、完全一致ではなく部分一致を検出しているようです。)

一致が非常に少ない場合、セマンティックAIの結果を含めるように検索を拡張するため、Metaで部分的な一致が表示されます。

うーん、これは理想的ではないように思えます。「メッセージ内」で公開結果が表示されるべきではありません。

「いいね!」 1

それはおそらく妥当なフォールバック動作でしょう。しかし、一致が少ない(またはまったくない)ことの終わりと、セマンティックAIの結果の始まりを明確に示すべきです。

「いいね!」 3

ある程度はそうしています。

本当にがっかりした事実は、少なくともこのトピックを最初の結果として見つけるべきだったということです。プライベートメッセージではありませんが、完全一致を含んでいます。

もう一つ。「AIの結果」という用語は少し奇妙だと思います。「類似の結果」のようなものはいかがでしょうか?

「いいね!」 2

奇妙ですね。当サイトではそのようなことは起こりませんし、ここでのテストでも起こりませんでした。もちろん、このスレッドがインデックス化されたコンテンツに反映されると、テストケースの結果に「結果なし」は表示されなくなりますが。

「Discobot discoveries」は、サイト上でアクティブになっているようには見えません。

ああ、なるほど。(ただし、Discobotの検索はインストールされていないアドオンなのでしょうか?) ここでの検索プレビューには表示されています。しかし、Enterを押したの結果には、完全一致と類似一致の区別や、「結果なし」が見つかったという表示がありません…

いいえ、そこにあります。「in:messages」で検索すると「AI」に切り替わり、見つかりません。通常のトピックで検索すると見つかります… :roll_eyes:

「いいね!」 1

申し訳ありませんが、反論させていただきます。いいえ、Discourse組織によるオープンソースプロジェクト向けの無料サイトホスティングには入っていません。フォーラムとプライベートメッセージの両方で再テストしました。

先ほど貼り付けたスクリーンショット(それには入っていたもの)は、Metaフォーラムでの再テストのものです。

私は(明らかに)このフォーラムのこのトピックについて言及していました。

「いいね!」 1

はい、全ページ検索で一致がゼロの場合、検索を自動的に拡張します。上記で述べた通りです。

皆さんが混乱しているかもしれないのは、ヘッダーのクイック検索で、検索結果が3件未満の場合にそれを開始したことですが、そこでは追加の結果がセマンティック検索によるものであることを示すインジケーターを追加しないことにしました。なぜなら、インジケーターを追加するには小さすぎると判断したからです。

私たちの妥協案は、各結果にai-search-resultを追加することでした。これにより、サイトはオプションでそれらを異なるテーマにしたり、テーマ機能を通じて必要と判断したインジケーターを追加したりできます。

私たちの考えでは、検索の拡張は、別の言語での検索(私たちのセマンティック検索は多言語対応です)、タイプミス、同義語など、多くの状況を自動的にカバーします。

「いいね!」 4

その場合、検索には、それを行わないための高度な検索オプションが役立ちます。誤検知で溢れるのを避けるために、完全一致検索が必要な場合(多くの場合)があります。

「いいね!」 2