自动标记似乎无法正常工作

我已在“受监控词语”的自动标签区域添加了多个词语。

但是,创建新主题并在标题或正文中包含这些词语时,似乎并未自动添加任何标签。我猜测可能是我操作有误,但完全不清楚问题出在哪里。

这个功能不是这样工作的吗?

2 个赞

有人也遇到这个问题吗?

1 个赞

同样的情况,在我这里也不起作用(“测试”可以,但在实际创建主题时不行)。

我想确认一下,该功能在标题和正文中是否都能生效,以及是否在用户输入时就将标签追加到标签字段中(即用户点击提交之前)。这样,如果用户认为某个标签不合适,就可以将其移除。

1 个赞

对于一个刚推出的功能,你肯定会觉得它应该已经能用了。:smiley:

我刚刚在本地开发站点上快速测试了一下。当我添加一个自动标签的监控词时,测试对我而言是有效的,但到目前为止,我尚未能让系统在帖子包含监控词时自动为话题添加标签。我会进一步调查这个问题。

编辑:我在托管的 Discourse 站点上也进行了快速测试,遇到了与开发站点类似的问题。在我的开发站点上测试时发现,当我创建一个包含自动标签词的新话题时,auto_tag 方法并未被调用。但如果我编辑一个现有话题以添加自动标签词,auto_tag 方法会被调用,话题也会被正确标记。

我将把此话题移至“缺陷”类别。

6 个赞

我刚刚注意到,在从远程站点嵌入导入主题时,自动标签功能确实生效了。我原以为这可能已被修复,但尝试在正常新建主题时测试,结果并不理想。不过无论如何,该功能部分已能正常工作。

1 个赞

我也遇到了同样的问题(使用关注词创建新主题时自动标签未触发)。此外,在编辑现有帖子时,我也无法添加标签。

几周前我对这个功能做了一些改动,预计这些问题应该已经解决了。您现在是否还在遇到相关困扰?

3 个赞

谢谢。我需要升级。我稍晚今天会测试。

1 个赞

我再次尝试后,发现它似乎仍然无法正常工作。

  • 正则表达式 “PSYC611” 无法匹配新主题中的这段文本
  • 正则表达式 “psy(c?)6\d{2,3}”(这正是我打算使用的)也无法匹配
  • “测试”弹出窗口无论输入什么内容都无法匹配任何标签

有趣的是,当我在控制台中查看时,在此页面的“测试”框中输入任何文本都会出现以下错误:

[Error] SyntaxError: Invalid regular expression: nothing to repeat
	RegExp (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	matches (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:201058)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:114334)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:113340)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:415053)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:407829)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:421290)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:458048)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:462227)
	De (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:187812)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146212)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146530)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:147093)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:488589)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:487600)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:489624)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:494999)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:491569)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:495515)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:311475)
	dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:42931)

我又提交了一些修复,相信能解决您最近遇到的问题。能否升级后再次检查?

我使用的是 2.7.0.beta9 版本。已尝试执行 git pull,但没有发现任何更改……

哦,它尚未进入测试阶段,因为我刚刚提交了更改。如果你更新到 tests-passed 版本,就可以进行测试。

1 个赞

啊,抱歉……我们目前没有测试环境,所以得等一等才能测试。

原来我确实通过了测试,但不知为何在升级后过了一段时间才显示出来。无论如何,我现在已处于 2.8.0.beta1 (db7038e6c2) 版本,并重新进行了测试。我仍然遇到 JavaScript 方面的问题。以下是我正在使用的标签:

(如果 UI 能以列表形式呈现会更好——在使用大量标签时,这种网格布局会变得难以管理)

测试框的显示效果如下:

JavaScript 控制台中出现的错误如下:

Screenshot 2021-05-20 at 09.23.16

浏览器为 Safari 版本 14.0 (15610.1.28.1.9, 15610)。

1 个赞

我现在明白了。您的第一个正则表达式有误。您写的是“\d+{1,3}”,这是无效的。您是否指的是“\d{1,3}”?

4 个赞

啊,抱歉。感谢指出。现在运行正常了。

我在想,捕获错误并提醒用户是否会有帮助——尤其是非技术人员可能会无意中写入无效的正则表达式字符串?另外,如果一个正则表达式出错而不影响其他正则表达式,那就太好了。在这种情况下,后面的某些正则表达式本可以匹配到有效内容,但由于第一个正则表达式出错,导致它们未能被找到。

2 个赞

@sam,我们能否在这里做些什么,让用户在使用正则表达式时意识到自己可能“搬起石头砸自己的脚”?能否将正则表达式功能放在“高级模式”下?或者,默认使用单词边界,毕竟大多数人在输入单词时原本就想要这个效果,不是吗?

2 个赞

看来现在连我的冒号或斜杠元素也能正常工作了(例如:1:35、1/35)

谢谢!

1 个赞

我的建议是:根本不需要完整的正则表达式功能,而是提供足够多的开箱即用选项,使得只有万分之一社区需要动手去使用正则表达式。

@ben 提到的这个具体例子而言,如果我们支持 ? 符号,那么:

PSY7?? → masters
PSY6?? → stage4
PSYC7?? → masters
PSYC6?? → stage4

我将关闭此话题,因为该功能似乎已按预期运行。(是的,正则表达式功能更强大,但目前的方案似乎足以满足 Ben 的需求。)

3 个赞