pfaffman
(Jay Pfaffman)
1
也许这应该是两个话题,但这是一个尝试用人工智能解决特定问题的例子,我仍然想要一个答案。 
我正在帮助某人,他希望能够搜索大量的用户自定义字段。我告诉他需要一个插件,但事实并非如此。你可以在用户设置中勾选“可搜索”选项(这个功能存在多久了?):
我甚至可以输入“/”并搜索用户自定义字段,它会进行增量搜索!
我试图解决的问题是,他们希望能够按位置搜索,而目前唯一的方法似乎是有一个用户自定义字段,其中包含地址的第二个副本,这似乎不太好。
所以我问了 ask.discourse.org:
https://ask.discourse.com/discourse-ai/ai-bot/shared-ai-conversations/FOFRYdsQy6B--c0W-X6K4A
有趣的是,我以为人工智能所说的都是真的,但几乎都不是。
搜索位置(如果它在自定义字段中)是可以做到的(通过自定义字段的技巧),但它似乎在用户目录搜索中捕捉到了这种细微差别?
“搜索栏没有内置方法来搜索用户自定义字段。” 我也是这么想的!我甚至给了他们一大笔钱来编写一个可以做到这一点的插件,然后我才发现它已经存在了。
我也推荐了数据探索器解决方案;另一个糟糕的主意。(所以我和人工智能一样愚蠢!???)
此外,人工智能似乎经常试图为整个世界解决问题,而不是仅仅为 Discourse:
我们能告诉它假设问题是关于 Discourse 的吗(我会在以后的提示中提醒它)。我们能告诉它永远不要推荐编写 .hbs 文件吗?
回到搜索地址的问题
我想一个简单的解决方案是创建一个插件,该插件在用户配置文件编辑时有一个回调,将位置写入用户自定义字段位置。我认为在卡片上显示它将允许搜索和显示在搜索中,然后使用 CSS 来隐藏它或用户卡片/配置文件中的实际位置字段。
2 个赞
啊,没多久。 
我认为一个完美的解决方案是对核心进行更改,使内置的用户字段也能够被搜索。默认字段的功能比自定义字段少,这有点奇怪。
不过,新的配置页面格式可能很适合包含它们。能够显示/隐藏/禁用,以及选择性地使其可搜索等,将是一个很好的改进。
您应该能够通过数据浏览器提取这些信息?但我想这是供用户使用的,而不是供管理员报告使用的?
4 个赞
pfaffman
(Jay Pfaffman)
3
同意。
是的(数据浏览器是我的建议,直到我意识到这个功能已经在核心中存在多年)。他们希望用户能够找到彼此,例如拥有相同的设备或前往另一个城市。
2 个赞
暂时抛开“理想情况”……
如果他们已经有一组其他可搜索的自定义字段,那么创建一个新的“Location”字段可能是最顺畅的选择。 
如果可以将现有值从内置的 Location 字段迁移到这个新的 Location 自定义字段,然后通过隐藏个人资料中的输入框以及个人资料和用户卡片中的显示来“停用”默认字段,那应该就可以了?
1 个赞
pfaffman
(Jay Pfaffman)
5
这实际上是他们开始时所做的(他们已经将位置用于其他用途)。但现在他们想使用位置插件,不知何故,该插件使用了位置。
1 个赞
啊。对了。那稍微有点麻烦。
他们会在注册时显示这些自定义字段吗?如果是这样,我认为他们需要保留“位置”的自定义字段,因为我不确定你是否可以在注册表单上使用默认字段(如果他们在用户目录中包含了额外的列也是如此)。
(这更多地与你认为哪个是“主要的”有关,而不是能够去掉其中任何一个)
我认为你可能需要将自定义字段的值复制到默认位置。
(并隐藏它,使其成为仅供“位置”插件使用的“元”数据)
这是否可以添加到“位置”插件中,以便为所有人提供此功能?
2 个赞
@pfaffman 此处是否有解决方案,以便我们可以关闭此主题?
@JammyDodger 如果这是真的,这似乎是一个非常合理的功能请求。您想让我创建一个#feature主题,还是您想创建?
pfaffman
(Jay Pfaffman)
8
我正在编写一个插件,该插件将电子邮件地址和位置复制到自定义字段以便进行搜索,目前已完成一半。
不过,电子邮件肯定是一个边缘情况。
1 个赞