例如,搜索 it, it:、“it, it:”、“it, it:”,、"it, it:", 或 it, it:”。虽然 这篇帖子 中确实包含 “it, it:”,但搜索时并未将其显示出来。。
另外,按下搜索按钮时,引号 “” 会被转换为 ""。我不喜欢这种体验,不确定这是否是 bug。
平台:Android 上的 Edge 浏览器,try.discourse.org,在安全模式下可复现
Moin
2
我认为 it 是一个在搜索中被排除的停用词。你是否尝试过用一个不在该列表中的单词来复现这个问题,以确认这是否与标点符号有关?
我无法以其他方式复现该问题。也许我看到问题的论坛使用的 Discourse 版本已过时。
实际上,我认为我可以再次复现这个问题。尝试搜索 we don't 可以找到 这篇帖子。
而搜索 “just-use-interface{}/object; we don’t need generics” 或 "just-use- interface{} / object ; we don't need generics" 则找不到它。
但搜索 just-use- interface{} / object ; we don't need generics 却可以找到它。
是的,这是正确的……你根本无法搜索 it……如果你在这里尝试搜索,不会得到任何结果。那些极有可能出现极高频次的词(如 I、the、a、代词等)会被排除在索引之外,因为它们出现得太频繁,无法提供有意义的区分度。
这里也一样,we 和 don't(技术上来说是 don 和 t)没有被索引
这种情况有点不同……对于:
"just-use- interface{} / object ; we don't need generics"
这永远不会起作用,因为引号要求完全匹配,而空格的存在使其不再是完全匹配
对于搜索:
"just-use-interface{}/object; we don't need generics"
原帖文本中包含一个花哨的引号(don’t),但搜索会将其去除,因此你无法返回一个完全匹配的结果……这意味着帖子内容和搜索并不完全对称,这可能是一个可以改进的地方
这是因为在没有引号的情况下,你并不是在搜索完全匹配,所以它会提取 “interface”、“object”、“need” 和 “generics” 这些词,而该帖子是这些词的最佳匹配结果
我发现即使搜索一些很简单的词汇,也很难找到我想要的话题。这个问题之前有人提过,而且几年前还做过一次 Typesense 集成的实验。
我想知道是否真的有计划来改进 Discourse 的搜索功能?它是该平台上最受关注的功能之一,我觉得它需要一些重构和更多的优化。
也许可以添加一个“纯文本搜索”选项?这样可以禁用像 "" 引号这类容易出错的功能。
我很好奇,排除“we”和“don’t”(don, t)不被纳入搜索索引,是否有技术上的原因?是因为它们太常见了吗?