你好,
有没有什么(简单的)方法可以在我的 Discourse 上实现通配符搜索功能?
我在公司内部本地运行一个小型的封闭 Discourse 论坛。用户只有大约 10 人,所以帖子数量远不如大型社区那么多。
我看到了这个 Algolia 插件,它看起来非常完美,但问题是它需要对论坛进行索引,而我们无法让数据离开本地网络。
我希望在搜索“322X”时能找到像“DE322X”这样的内容 ![]()
你好,
有没有什么(简单的)方法可以在我的 Discourse 上实现通配符搜索功能?
我在公司内部本地运行一个小型的封闭 Discourse 论坛。用户只有大约 10 人,所以帖子数量远不如大型社区那么多。
我看到了这个 Algolia 插件,它看起来非常完美,但问题是它需要对论坛进行索引,而我们无法让数据离开本地网络。
我希望在搜索“322X”时能找到像“DE322X”这样的内容 ![]()
使用我们的 https://meta.discourse.org/t/data-explorer-plugin/32566,可能有几种方法可以实现。
您可以运行这个简单的查询,然后点击 CSV 按钮下载所有帖子。之后,您可以在另一个程序中搜索导出的文件。
`SELECT id, raw from posts`
您也可以编写一个自定义的数据探索器查询,以在所有帖子内容中搜索关键词。
在这里使用数据探索器可以确保您的数据不会离开本地网络。
谢谢,我会先保存起来。以后可能会派上用场 ![]()
不过,这需要整个团队都能进行搜索,如果每次找东西时大家都得导出一个 CSV 文件,那可就太麻烦了 ![]()
好的,那么编写自定义查询并在 UI 中查看结果就是最佳方案。请访问 (Superseded) What cool data explorer queries have you come up with? 获取编写查询的灵感。
在一个足够小的站点上,类似这样的东西可能会起作用:
-- [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
不过,如果你想进一步限制,也许可以添加一个特定的类别或日期范围。
写好之后,你可以让某些群组使用它:
不过,我很欣赏它能在搜索栏中工作,这应该是发帖人想要的。
我将把它移到 Feature,以防有更多需求。