トピックリストのフィルタ機能

最近、より高度なトピックリストのフィルタリングを可能にする革新的な /filter ルートを導入しました。これは、検索とフィルタリングの両方に対する統一されたトピックフィルタリング言語への第一歩となります。さらに、トピックリストのフィルタリング専用のルートにより、サイドバーのカスタマイズ性が向上し、ユーザーは カスタムセクションリンク をサイドバーに追加できるようになりました。

仕組み

/filter には入力フィールドがあり、ユーザーはここにクエリ文字列を入力してトピックリストをフィルタリングできます。

例えば、category:documentation tag:how-to+email は、Documentation カテゴリに属し、かつ how-toemail の両方のタグが付いたトピックをフィルタリングします。

現在サポートされているフィルタのリストは以下の通りです:

status:open 閉鎖またはアーカイブされていないトピック
status:closed 閉鎖されたトピック
status:public 閲覧制限がないトピック(例:安全なカテゴリに属するもの)
status:archived アーカイブされたトピック
status:unlisted 非表示のトピック
status:listed 表示されるトピック
status:deleted 削除されたトピック

in:pinned ピン留めされたトピック(グローバルまたはカテゴリごとのピン留め)
in:watching 自分がウォッチしているもの - (muted,normal,tracking, watching_first_post) をサポート:追跡中やウォッチ中のものに絞り込むことができます。複数の値はカンマで区切ることができます
in:bookmarked 自分がブックマークしたもの

category:bug bug カテゴリおよびそのすべてのサブカテゴリに含まれるトピック
=category:bug bug カテゴリに含まれるが、サブカテゴリを除くトピック
category:documentation:admins documentation の admins サブカテゴリに含まれるトピック
category:bug,feature bug または feature カテゴリに含まれるトピック(すべてのサブカテゴリを含む)
=category:bug,feature bug または feature カテゴリに含まれるが、すべてのサブカテゴリを除くトピック
-category:bug,feature bug または feature カテゴリ(すべてのサブカテゴリを含む)を除くトピック
-=category:bug,feature bug または feature カテゴリ(サブカテゴリのみを除く)を除くトピック
categories: category のエイリアス

tag:bug+feature bug と feature の両方のタグが付いたトピック
tag:bug,feature bug または feature のタグが付いたトピック
-tag:bug+feature bug と feature の両方のタグが付いたトピックを除く
-tag:bug,feature bug または feature のタグが付いたトピックを除く
tags: tag のエイリアス

tag_group:tag_group_name tag_group 内のいずれかのタグが付いたトピック
-tag_group:tag_group_name tag_group 内のいずれかのタグが付いたトピックを除く

created-by:@USERNAME 特定のユーザーが作成したトピック

posts-min:X 投稿数が X 以上あるトピック
posts-max:X 投稿数が最大 X 以下のトピック
posters-min:X 少なくとも X 人の異なるユーザーが投稿したトピック
posters-max:X 最大 X 人の異なるユーザーが投稿したトピック
likes-min:X いいね数が X 以上あるトピック
likes-max:X いいね数が最大 X 以下のトピック
likes-op-min:X 最初の投稿のいいね数が X 以上あるトピック
likes-op-max:X 最初の投稿のいいね数が最大 X 以下のトピック
views-min:X 閲覧数が X 以上あるトピック
views-max:X 閲覧数が最大 X 以下のトピック

activity-before:YYYY-MM-DD 最新のアップデートが指定された日付より前のトピック
activity-after:YYYY-MM-DD 最新のアップデートが指定された日付より後のトピック
created-before:YYYY-MM-DD 指定された日付より前に作成されたトピック
created-after:YYYY-MM-DD 指定された日付より後に作成されたトピック
latest-post-before:YYYY-MM-DD 最新の投稿が指定された日付より前に作成されたトピック
latest-post-after:YYYY-MM-DD 最新の投稿が指定された日付より後に作成されたトピック

order:activity アップデート日付の降順でソート
order:latest-post 最新の投稿作成日の降順でソート
order:created トピック作成日の降順でソート
order:views トピックの閲覧数の降順でソート
order:likes トピック内のいいね数の降順でソート
order:likes-op 各トピックの最初の投稿のいいね数の降順でソート
order:posters 投稿した人数の降順でソート
order:category カテゴリ名の順でソート
order:ANY-asc 結果の順序を昇順に反転

フィードバック

この機能が皆さんのコミュニティにとって価値があるかどうか、またどのように利用されているかについて、コミュニティからの意見を聞かせてください。

ニーズに役立つフィルタがある場合は、具体的な使用例とともにお知らせください。

最後に、これは非常に初期バージョンの機能であり、現時点では実験的なものとして扱われていることを強調しておきます。ユーザーエクスペリエンスの改善が必要であり、現在、すべてのフィルタを暗記せずにトピックフィルタリングクエリ言語を構築できるようにするためのインライン補完やインターフェースの追加に取り組んでいます。

「いいね!」 33
Filter topics without a specific tag
Is there a way to export topics/posts that are displayed when filtering?
Building an Index from topics
Discourse Custom Topic Lists
How to show topics ordered by date of publishing via user interface?
How to show topics ordered by date of publishing via user interface?
How to exclude a Category from search or Search through all categories except one+
Filter to eliminate from view: broken plug-ins/theme Components
How can I filter/paginate the list CategoryTopics route?
URL syntax to filter on multiple tags within a category
Why Filter doesn't show me options like the shown on Meta?
My topics not in latest?
How to show topics ordered by date of publishing via user interface?
Wp-discourse-shortcodes plugin
Latest/Hot/Top - what about Best/Popular? Request for automatic selection
Using query strings to filter topic views
Streamline Tag Intersections
Adding Following to the /filter option
Filtering topic lists in Discourse
Filter topics with certain categories OR certain tags
Using query strings to filter topic views
How are you increasing response rate in a community support forum?
Topic filter UI isn't very intuitive
Searching for content effectively
Filtered Topic Lists
Topic list parameter for created after
Using query strings to filter topic views
Disappearing bookmarks and expected behavior of /bookmarks
How to show topic-map on non-commented posts?
View that contains topics of specific categories?
Filter posts with a specific tag on latest
Allow searching across multiple categories
Combined Watching/Tracking list
Put every closed topic at the bottom of a category
Sort display of topics Alphabetically

何を見逃したんだろう…?
Bug カテゴリで、chatpri-high の両方にタグ付けされたトピックが返されないようです。

「いいね!」 2

プライオリティタグは私たちだけのものであるべきだと思います。 :shushing_face: :slight_smile:

含めない場合は機能しますか?

「いいね!」 3


このタグを削除しても機能しないようです。


更新: 「エイリアス」は完璧に機能します。

「いいね!」 2

申し訳ありません、tag:エイリアスのサポートを追加する私のPRがマージされていなかったことに気づきました。

マージされたので、tag:エイリアスはまもなく機能するはずです。

「いいね!」 6

別の問題です。tags フィルターは現在、中国語のような非 ASCII 文字をサポートしていません。

例: tags:一个不存在的标签 はすべてのトピックを返しますが、tags:a-non-existent-tag は想定どおり何も返しません。


ソースを確認したところ、原因は以下の部分にあるようです。

    value.scan(
        /\A(?<tag_names>([a-zA-Z0-9\-]+)(?<delimiter>[,+])?([a-zA-Z0-9\-]+)?(\k<delimiter>[a-zA-Z0-9\-]+)*)\z/,
「いいね!」 5

@tgxworld 素晴らしい仕事ぶり、おめでとうございます。これにより、多くの可能性が開かれます。

興味深いのですが、コンテキストフィルタリングオプションを提供することは可能でしょうか?

例えば、サイドバーから「お知らせ」カテゴリを選択した場合、カテゴリ内で複数のタグ(チャット、新機能)でフィルタリングするために、フィルタパネル(あなたが作成した新しいもの)を一番上に表示することはできますか?

現在、エンドユーザーは直感的に複数のタグでフィルタリングすることはできません。手動で /tags/interesection/chat/new-feature エンドポイントを使用する必要があります。エンドユーザーは、特にカテゴリ内でこれを行うことができる可能性に気づいていないかもしれません。

「いいね!」 5

おっと、よく見つけましたね。タグの修正は以下で行いました。

category フィルターも同様の修正が必要ですが、少し複雑です。来週までには完了するはずです。

「いいね!」 5

/filter に新しいトピックが表示される際に、翻訳文字列が欠落しています。

[en.topic_count_all count=1]

「いいね!」 4

この機能は堅実で、ユーザー向けのより優れたカスタマイズされたトピックフィードの構築に間違いなく役立ちます!ありがとうございます!

ちなみに、この機能で特定のカテゴリ/タグ内の複数のトピックから最新の投稿を埋め込むことができるかという質問がありますか?

「いいね!」 1

いいえ、それは現在のところ計画には含まれていないと思います。

もし、現在の機能を試してみて、それでもこの機能が必要だと感じた場合は、どのようなことを考えているのか、もう少し詳しく説明して新しいトピックを開始していただけますか?

「いいね!」 1

この非常に便利な機能について、ありがとうございます!

現在のユーザーが作成したトピックを自動的にフィルタリングする created-by:me のような機能も追加することは可能でしょうか?これはもちろん /my/activity/topics と似ていますが、他のフィルタと組み合わせて、すべてのユーザーのサイドバーに追加すると便利かもしれません。

また、トラッキング/通知設定に関係なく、私が投稿したすべてのトピックに対する in:participated フィルタはどうでしょうか?

「いいね!」 5

素晴らしいですね! :pray: status:unsolved のサポートもいただけると嬉しいです。また、ユーザーによって結果が変わるような assigned:me のようなものでフィルターを構築できれば、さらに素晴らしいと思います。ユースケースとしては、モデレーターに割り当てられたトピックを表示できるリンクを送信するボットです。これにより、フォーラムのモデレーションに必要なすべてのクエリへのリンクを含む汎用的なメッセージをすべてのモデレーターに送信できます。もちろん、Web UI から割り当てられたトピックに簡単に移動できますが、リンクをクリックしたりブックマークしたりできると、ちょっとした QoL 向上になると思います。

「いいね!」 4

現在の機能にはこのような前例がいくつかあるため、このような他のことも確実に検討できると思います。

「いいね!」 3

こんにちは、

これは公開バージョンですか、それとも何らかのベータ版ですか?設定が見つかりませんでした。

Tonyさん、こんにちは:wave:

インスタンスは最新の状態になっていますか?

テストフォーラムには以下の設定があります。

これは、セルフホストだけでなく、Discourseホストフォーラムでも利用可能です。

「実験的」と記載されているように、時間の経過とともに多くの変更やバグ、一貫性のない動作が発生する可能性があります。

「いいね!」 1

Discourse の基本的な機能をプラットフォームに慣れていないコミュニティマネージャーに説明するのに、すでに非常に役立っています。つまり、「トピックのコレクションがあり、それらをさまざまな方法でフィルタリングおよび並べ替えできる」ということです。

これまでのところ、これらのフィルターはインターフェイス全体に分散していましたが、フィルター ルートは、利用可能なオプションにアクセスして学習するための 1 つの中央の場所を提供します。

これを念頭に置いて、さらに 2 つのオプションを含めると役立つでしょう。

  • 日付セクションで、相対時間(過去 1 週間、1 か月、1 年など)でフィルタリングする
  • 並べ替えセクションで、人気度(いいねの数とは異なる)で並べ替える
「いいね!」 5

その機能は気に入っています。ただし、プレーンテキストのみで検索できるようになりたいです。時々、削除されたトピックを見つける必要があるのに、どのユーザーが作成したかわからないため、キーワードで削除されたものを検索する代わりに、多くのトピックを確認しなければなりません。

将来的には、同等性を確保するためにこれを検索に接続することが構想されていますが、残念ながら確定的なタイムラインはありません。

「いいね!」 3

結果を返信数または投票数で並べ替えることはできますか?これを、コミュニティの関心が高い順に機能リクエストをリストし、「実装済み」タグが付いたものを除外するために使用したいと考えていました。しかし、そのようなオプションはないようです。

私のユースケースは、こちらで詳しく説明されています。

「いいね!」 2