V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Champa9ne
V2EX  ›  程序员

有没有利用开源组件建立一个 Web 端的本地搜索引擎?

  •  
  •   Champa9ne · 2022-11-07 03:46:40 +08:00 · 3136 次点击
    这是一个创建于 730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有没有可能在内网服务器利用开源工具建一个类似百度的搜索引擎?能够搜索一下文档,网页之类的?

    原始的数据大概有保存在本地服务器的 Markdown 文件、通过 Save Page WE 等插件从浏览器上保存的 html 网页文件、通过 css 采集插件采集下的 css 数据、其他格式如 txt 、doc 等可以以纯本本形式或通过其他方法能够读取到信息的(如有意义的中文、英文、代码段等)其他文本格式文件。

    因为只要可堪一用的状态就可以了,用的人也不多,不用考虑啥高并发高负载之类的情况,这样的服务搭起来各位有啥好思路。

    数据采集的部分我打算用 smb 等方法直接把服务器路径挂载到数据采集的各个终端,采集后通过 smb 同步到服务器,再由全文搜索引擎服务提供搜索服务就可以了。所以我觉得难点可能在这个全文搜索的服务上。

    目前想到的最简便的思路就是加了中文分词器插件的 solr ,直接 docker 起一下服务,在官方的 demo 上运行就可以了。不过我没具体了解过 solr 具体是怎么个工作流程,是不是要像 ELK 那样要对输入的原始数据( md 、html 、txt 、doc 、py 、c 等)文件进行自己做一个清洗的规则,导入成符合 solr 服务要求的数据结构。还是说直接就可以对文件形式的文本进行全文搜索。

    我知道 Windows 平台有些软件,比如 Archivarius 3000 这种也可以在一定程度上实现这样的功能,但因为有多端使用的需求还是想做在 Web 端上。其实就是一个团队知识库的形式吧。

    各位老哥有无啥好思路 =w=

    26 条回复    2023-06-12 17:24:15 +08:00
    Champa9ne
        1
    Champa9ne  
    OP
       2022-11-07 03:48:33 +08:00
    标题应该是 有没有可能利用开源组件建立一个 Web 端的本地搜索引擎

    居然不能修改标题的嘛,才发现改标题的时候删多了两个字 QUQ
    lxcForPHP
        2
    lxcForPHP  
       2022-11-07 08:46:18 +08:00
    最近我也一直在寻找类似的开源软件,本地的笔记和文档越来越多,之前一直用 grep 来查找,感觉不是很方便
    shuxhan
        3
    shuxhan  
       2022-11-07 08:58:39 +08:00
    等待推荐,最近我也有一个本地文件搜索的需求,目前在用的是 everything ,但是使用起来不是很舒服,有没有其他类似的。
    zhyl
        4
    zhyl  
       2022-11-07 09:40:02 +08:00
    DocFetcher Server
    thetbw
        5
    thetbw  
       2022-11-07 10:00:12 +08:00
    我之前也有发过一个类似的 https://www.v2ex.com/t/810243

    然后有个人私我说了一下他正在做的一个项目,并不是完全满足
    https://hamsterbase.com

    还有我自己找到的类似的
    https://raindrop.io/
    https://cubox.pro/
    https://github.com/go-shiori/shiori
    LengthMin
        6
    LengthMin  
       2022-11-07 10:46:57 +08:00
    cy1027
        7
    cy1027  
       2022-11-07 10:54:47 +08:00
    本地搜索为什么要搞 web 端,软件不就够了么
    cy1027
        8
    cy1027  
       2022-11-07 10:56:37 +08:00
    搞个云文档,整个团队文档不就行了,直接用软件的搜索功能,gitee 也可以实现吧
    menghechina
        9
    menghechina  
       2022-11-07 11:53:14 +08:00
    hamsterbase
        10
    hamsterbase  
       2022-11-07 13:13:35 +08:00 via iPhone
    看看我开发的?

    完全离线 + 本地部署 + 开源 API SDK

    有全文搜索,支持 mhtml ,html 等常见的网页格式。
    支持原文批注。
    hamsterbase
        11
    hamsterbase  
       2022-11-07 13:14:46 +08:00 via iPhone
    @thetbw

    能说一下那些地方不满足吗? hamsterbase 提供了 API ,可以在上面扩展个性化需求。
    xiubin
        12
    xiubin  
       2022-11-07 13:22:51 +08:00
    Web 端 搜本地?那不得给浏览器开全盘访问权限了么?为啥不用单独的软件搜呢,比走浏览器的性能可能还好一点
    Champa9ne
        13
    Champa9ne  
    OP
       2022-11-07 13:26:18 +08:00
    @cy1027
    @xiubin

    不是 Web 端搜本地,所有资料都是放在服务器上的,只是本地的 smb 会被挂载到服务器搜索目录的一个子目录里。smb 只是一个快捷上传资料的方式。

    就类似于服务端的索引文件夹里有很多个路径,会被不同成员挂载 smb ,成员在本地 smb 只有自己上传的那部分资料,但是在服务器看来就是他有很多成员上传的存储在不同文件夹里的资料。

    然后全文搜索引擎会对这个文件夹里的资料进行整体的搜索
    Champa9ne
        14
    Champa9ne  
    OP
       2022-11-07 13:31:17 +08:00
    主要是资料的类型是多样的,有离线保存的 html 、有 md 文件、有 txt 、doc 、甚至有源代码文件(不是工程结构的文件,类似于一些小型的脚本),所以用云文档、团队文档这种方式来管理就很难,毕竟要人顺手从网页插件下载个网页自动通过 smb 上传到服务器容易,但是要别人手动拉网页,在粘贴到云文档这个操作就有点麻烦了。
    Champa9ne
        15
    Champa9ne  
    OP
       2022-11-07 13:54:57 +08:00
    各位大大推荐的有的是 Windows 端上的可执行应用,有的是仅基于网页书签的全文搜索。

    @menghechina @LengthMin 感觉这两位老哥推荐的 meilisearch 和 fscrawler 比较符合能在 Web 端搜索服务器资料库里各种不同文件格式资料中的内容这个需求,感觉主要还是要看看对中文的支持如何,后期搭起来给兄弟们试试水。=w=

    用过的老哥也可以说下测评。 =w=
    thetbw
        16
    thetbw  
       2022-11-07 14:06:53 +08:00
    @hamsterbase 我更倾向于我只提供 url ,然后服务器对这个 url 对应网页进行存档。例如 Wayback Machine 这个 chrome 插件,可以保存网站的历史。同时整个书签的功能。

    不过,话说在最后,我对这些功能的需求并不是很强烈,其实没有也行,对于我重要的数据,我会自己写在笔记里,而不重要的东西,是否存在已经不重要了。说白了我觉得这样一个产品是蛮好,但是真给我用的话,我不一定会用
    tool2d
        17
    tool2d  
       2022-11-07 14:28:54 +08:00
    @thetbw 你们俩说的不是一个东西吧。楼主要组建内部团队 wiki ,你说的是浏览器书签,好像不太一样。
    edw1n
        18
    edw1n  
       2022-11-07 15:38:14 +08:00
    @Champa9ne #13
    要不你试试 Everything ?服务器上启动 Everything 的 ETP/FTP Server 功能,然后本地的 Everything 连接到这个服务器。使用高级搜索窗口去过滤文档内容。
    microxiaoxiao
        19
    microxiaoxiao  
       2022-11-07 15:45:29 +08:00 via Android
    Elasticsearch 应该可以呀
    hamsterbase
        20
    hamsterbase  
       2022-11-07 15:46:08 +08:00 via iPhone
    @Champa9ne 可以看看 devonthink
    Champa9ne
        21
    Champa9ne  
    OP
       2022-11-07 17:57:37 +08:00
    @hamsterbase 要用在内网,不开源不太行,后期要稍微改一点也动不了。

    @edw1n Everything 好像是能搜索文件名吧,还能对全文内容搜索吗,我晚上试试。

    @microxiaoxiao 对的,只是要自己开发轮子感觉有点耗时耗力,实在没办法也不是不行。
    cnit
        22
    cnit  
       2022-11-07 18:24:09 +08:00
    anytext ,windwos 下的 不开源,有个功能就是 web 文件内容搜索,我之前跟你也有一样的想法
    cnit
        23
    cnit  
       2022-11-07 18:26:45 +08:00
    Champa9ne
        24
    Champa9ne  
    OP
       2022-11-07 22:06:35 +08:00
    @cnit QUQ 这个 nb ,除了不开源外都十分完美,真 开箱即用。先用这个顶上了。感谢老哥。
    supersu
        25
    supersu  
       2022-11-07 22:20:14 +08:00 via Android
    我用 singlefile 自动保存到 Google drive, gd 自带 advance search
    stillywud
        26
    stillywud  
       2023-06-12 17:24:15 +08:00
    @cnit 这个真的好用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1241 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 23:08 · PVG 07:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.