通配符搜索

你好,

有没有什么(简单的)方法可以在我的 Discourse 上实现通配符搜索功能?

我在公司内部本地运行一个小型的封闭 Discourse 论坛。用户只有大约 10 人,所以帖子数量远不如大型社区那么多。

我看到了这个 Algolia 插件,它看起来非常完美,但问题是它需要对论坛进行索引,而我们无法让数据离开本地网络。

我希望在搜索“322X”时能找到像“DE322X”这样的内容 :slight_smile:

3 个赞

使用我们的 https://meta.discourse.org/t/data-explorer-plugin/32566,可能有几种方法可以实现。

  • 您可以运行这个简单的查询,然后点击 CSV 按钮下载所有帖子。之后,您可以在另一个程序中搜索导出的文件。

    `SELECT id, raw from posts`
    

  • 您也可以编写一个自定义的数据探索器查询,以在所有帖子内容中搜索关键词。

在这里使用数据探索器可以确保您的数据不会离开本地网络。

3 个赞

谢谢,我会先保存起来。以后可能会派上用场 :slight_smile:
不过,这需要整个团队都能进行搜索,如果每次找东西时大家都得导出一个 CSV 文件,那可就太麻烦了 :confused:

1 个赞

好的,那么编写自定义查询并在 UI 中查看结果就是最佳方案。请访问 (Superseded) What cool data explorer queries have you come up with? 获取编写查询的灵感。

2 个赞

在一个足够小的站点上,类似这样的东西可能会起作用:

-- [params]
-- string :query

SELECT p.id AS post_id, 
       p.user_id
FROM posts p
WHERE p.raw ~* :query
  AND p.deleted_at IS NULL

不过,如果你想进一步限制,也许可以添加一个特定的类别或日期范围。

写好之后,你可以让某些群组使用它:


不过,我很欣赏它能在搜索栏中工作,这应该是发帖人想要的。 :slight_smile: 我将把它移到 Feature,以防有更多需求。