新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Confluence Cloud で検索結果をソートする方法

Confluence Cloud で検索結果を更新順やタイトル順など、任意の条件でソートする方法です。

Confluenceの右上の検索窓をクリックすると、下に「Confluence の高度な検索」リンクが表示され、リンクをクリックすると、Advanced Searchのページに遷移し、より高度な検索ができます。

検索結果のソートは、このAdvanced Searchページで行います。

CQLを使う

Confluenceのコンテンツ検索APIでは、検索条件の指定方法として、CQLというSQL風の言語が用意されています。

実はAdvanced Searchページでも、CQLをパラメータとして渡して検索することができます。

CQLではソート指定ができるので、Advanced SearchページでCQLを使って検索することにより、検索結果のソートを行います。

手順

  • Advanced SearchページのURLに、cqlパラメータを付けて、URLエンコードしたCQL文を値として渡す

これだけです。

ユーザー「A」と「B」が投稿したブログで、「test」を含むものを、更新降順で表示する。

CQL文は下記になります。

CQL

(
    creator.fullname ~ "A"
    OR
    creator.fullname ~ "B"
)
and
type=blogpost
and
text ~ "test"
order by lastmodified desc

URLエンコードはブラウザのJavaScriptで行います。

F12でコンソールを開いて、下記JavaScriptを貼り付けて実行すると、CQLをURLエンコードして、Advanced Searchに渡したページが開き、ソートされた検索結果が得られます。

JavaScript

const cqlPlain = `
  (
      creator.fullname ~ "A"
      OR
      creator.fullname ~ "B"
  )
  and
  type=blogpost
  and
  text ~ "test"
  order by lastmodified desc
`;

const cqlEncoded = encodeURI(cqlPlain);
const url = `https://[example].atlassian.net/wiki/search?cql=${cqlEncoded}`;
window.open(url);

感想など

使い勝手はいまいちなのですが、CQL構文がフルに使えるので、色々凝った検索ができます。

CQLが使えるマクロがあるので、それが使えるのならばそっちの方が手っ取り早いです。

元々APIでは機能として提供されているので、Advanced Searchの画面で直接CQL文が入力できるようになるといいですね。

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com