通用搜索语言

11 天前
 xuanwu

知乎答“现在业界是否需要新的编程语言?如果需要,那需要什么类型的编程语言?”

从技术角度看是个很小的领域,但其应用极广,是几乎每个在线用户每天都用到的功能。

信息有各种组织方式,但都需要‘搜索’这一人机界面。应用包括本地文件文本搜索、网页搜索、数据库搜索等。

各应用举例

网页搜索

谷歌高级搜索 的 Operators 为例,除了最基本的:

关键词 "某特定短语" site:某网站 -排除词

还有 几十个其他的,如 OR/AND/*/filetype/before/after 。

针对网络资源,功能包含:

文本搜索

此文 用作基准的 grep 为例。

grep -r --include="某文件名模式" "文本模式" 路径

针对文本文件,功能包含:

数据库

以 SQL 为例,针对按表格存储的记录,功能包含:

SELECT 某列
FROM 某表
WHERE 某列 REGEXP ‘某模式‘ and DATE BETWEEN 开始 and 结束; 

通用搜索语言

各应用的搜索功能中,虽搜索语法设计不同,有相当一块常用部分重叠。可从这部分需求出发作些风格一致、易读易写的设计尝试。

1133 次点击
所在节点    奇思妙想
5 条回复
GeekGao
11 天前
用 LLM ,自然语言描述即可,根本不需要直接暴露 DSL 这种对小白不友好的事物了。时代真的变了。
xuanwu
10 天前
@GeekGao llm 并非支持自然语言语法的唯一技术路径: https://zhuanlan.zhihu.com/p/415732605
GeekGao
10 天前
@xuanwu 你这是技术思维,帮助农民最好的方法是不用他们亲自耕地,而不是给他们更好的犁…
forty
9 天前
SQL 不是可以包含你列举的所有情形吗? 把 Structured Query Language 换成 Search Query Language ,还是 SQL.
xuanwu
8 天前
@forty 是可以,但有改进空间。https://www.zhihu.com/question/464418369/answer/3410980918#comment-10953779481

> 为了支持复杂 SQL ,现在数据库的执行器都复杂无比,导致就算是简单 SQL ,执行器所用时间,比数据查询检索都要长。如果应用端可以明确声明 SQL 很简单,让数据库可以使用一个极简执行器,是可以明显提升优能的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1071039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX