为什么在知乎上搜索“map[]”一定会导致“服务器提了一个问题”?
程序员文章站
2022-05-28 18:53:47
...
事实上不仅仅是“map[]”,大多数带有“[]”后缀的查询都会导致“服务器提了一个问题”,比如“abc[]”。但有意思的是“a[]”和“[]”本身不会。同样的问题还可以在包含“{}”的查询上看到。我想了几分钟,没想到一个合理的解释,方便的话,请知乎员工来满足一下我的好奇心,XD
顺便,这个 bug 我已经报告有一阵了,还没修好么?
咳咳, 为嘛, 我这可以搜索了的了?我这搜索的是回答, 同理回答, 成员, 话题均能正常搜索.
总结:
知乎的新版搜索已经解决这个问题了。
- 大家别顶了,让辛勤的工程师好好过个周末吧。 估计是类似SQL注入神马的bug吧
俺不懂SQL,不要追问俺 1.各位不要猜了,这里给出正确答案:【转义问题】。
2.知乎的工程师,只对部分关键字做了处理,还有些忘了处理。
以下这些字符知乎的工程师忘了处理,直接输入会导致错误:
! ( ) [ ] { }
比如输入:【aa()】会导致错误。
所以,只要在上述符号之前,自己把它注释掉,就没问题了。
比如输入:【aa\(\)】就不会导致错误。 工程师的小彩蛋 看哪些人闲着没事干 还要不要过国庆了?! @李奇
顺便,这个 bug 我已经报告有一阵了,还没修好么?
回复内容:
直接看最后一句"error": { "msg": "org.apache.solr.search.SyntaxError: Cannot parse 'map[]': Encountered \" \"]\" \"] \"\" at line 1, column 4.\nWas expecting one of:\n ...\n ...\n ", "code": 400 }
知乎搜索工程师一直在刷这个帖子等正确答案好回去修 bug 。
突然想到天津*网
咳咳, 直接上图:咳咳, 为嘛, 我这可以搜索了的了?我这搜索的是回答, 同理回答, 成员, 话题均能正常搜索.
- 根据推断, 知乎至少有两台服务器提供搜索功能, 对问题和(回答, 成员, 话题)进行分开搜索, 并且这两类的查询分词器是不同的啊, 根据猜测知乎应该有8种分词器(一不小心似乎发现了个攻击手段, 提了乌云), 。
- 被顶的最高的回答说知乎使用solr查询器, 用double colon即可避免, 但是.....
总结:
- 不同类型的搜索分词器到底哪里不同?
- 在搜索问题的时候, 知乎你是不是还做了什么操作(autocomplete为嘛被我弄挂了, 别打我)?
- 知乎正在测试新的搜索功能, 在等大家给他找bug.
知乎的新版搜索已经解决这个问题了。
- 大家别顶了,让辛勤的工程师好好过个周末吧。 估计是类似SQL注入神马的bug吧
俺不懂SQL,不要追问俺 1.各位不要猜了,这里给出正确答案:【转义问题】。
2.知乎的工程师,只对部分关键字做了处理,还有些忘了处理。
以下这些字符知乎的工程师忘了处理,直接输入会导致错误:
! ( ) [ ] { }
比如输入:【aa()】会导致错误。
所以,只要在上述符号之前,自己把它注释掉,就没问题了。
比如输入:【aa\(\)】就不会导致错误。 工程师的小彩蛋 看哪些人闲着没事干 还要不要过国庆了?! @李奇
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频