V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
xuanwu
V2EX  ›  奇思妙想

通用搜索语言

  •  
  •   xuanwu · 8 天前 · 1091 次点击

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

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

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

    各应用举例

    网页搜索

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

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

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

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

    • 包含或排除某(些)词或短语
    • 指定发布时间范围
    • 指定文件格式
    • 路径( url )包含某内容

    文本搜索

    此文 用作基准的 grep 为例。

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

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

    • 通过模式匹配,可包含或排除某(些)词或短语
    • 指定文件时间戳范围,借助 find
    • 指定文件范围,如路径、文件名模式等

    数据库

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

    SELECT 某列
    FROM 某表
    WHERE 某列 REGEXP ‘某模式‘ and DATE BETWEEN 开始 and 结束; 
    
    • 指定记录所在表
    • 通过模式匹配,可包含或排除某(些)词或短语
    • 指定时间戳范围

    通用搜索语言

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

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

    > 为了支持复杂 SQL ,现在数据库的执行器都复杂无比,导致就算是简单 SQL ,执行器所用时间,比数据查询检索都要长。如果应用端可以明确声明 SQL 很简单,让数据库可以使用一个极简执行器,是可以明显提升优能的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   945 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:39 · PVG 03:39 · LAX 12:39 · JFK 15:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.