这里数据库用的 es,
大概想了一下,最大的难点是如何解析查询参数。 比如下面的搜索语法,(似乎不支持 markdown table,大家将就着看吧)
|搜索语法|语法解释 |
|-------|---------|
|"test101" | 关键字短语 |
|host:v2ex.com | 主机名|
|filetype:PDF | url 以 pdf 结尾|
|inurl:php | url 包含 php|
|intitle:登录 | 网页标题包含"登录"|
|intext:"后台" | 网页内容包含"后台"|
他们之间可能还需要有逻辑符号 + 且
^ 或
~ 非
的联系
比如"test101 + host:v2ex.com"
搜索主机名是 V2EX 并且内容包含 test101 的结果。
这里我的思路是用 pyparsing 或者正则提取 搜索语法的关键字,再结合 es 的搜索语法匹配相应的查询语法得出结果
有老哥有更好的思路吗,不甚感激~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.