modaoshishuo | 1 points | Oct 21 2021 20:07:06

请教大家一个编程的问题。假如我有200个文件夹,每个文件夹里1000个的刑事判决书docx文档,有的文档可能是在子文件夹里。文件夹的数量还在缓慢增加中。我想做一个本地搜索,输入关键词,全文检索docx里的内容,应该怎么做?谢谢

请教大家一个编程的问题。假如我有200个文件夹,每个文件夹里1000个的刑事判决书docx文档,平均每个docx文档有6000字。docx文档里只有文字,没有图表或图片。有的文档可能是保存在在子文件夹里。文件夹的数量还会偶尔增加几个。

想在笔记本上做一个本地搜索软件,类似裁判文书网的搜索,输入关键词,全文检索docx文档里的内容。

先实现一个小目标,返回word文件名。

目标2,如果能也顺便显示关键词所在的上下文就更好了。

目标3,关键词能够实现“和”与“非”的逻辑,并且能选择部分文档,导出到某文件夹内。

检索速度慢,一分钟都可以接受。

python 和java都懂一点点。但这个任务完全没有头绪,不知道怎么用数据库。

请教一下大家,用什么语言、什么工具,怎么实现最容易?告诉我一下大概的框架,具体怎么做我再查资料。

谢谢。

[-] iccv | 5 points | Oct 21 2021 21:00:27

  1. 把docx的meta info和正文都扒出来 2.elasticsearch https://www.elastic.co/guide/index.html

[-] MafiaXi | 3 points | Oct 21 2021 21:21:24

elasticsearch+1,再搞个script每天自动遍历一下你的那几个文件夹update一下数据

[-] 43212321423 | 3 points | Oct 21 2021 21:45:14

确实,直接扔到elastic里应该是方便的

[-] lonely_sail1 | 2 points | Oct 22 2021 02:11:46

同意,这就是一个全文搜索功能

[-] ratman_chonglang | 1 points | Oct 22 2021 02:36:53

elastic search彳亍

[-] modaoshishuo | 1 points | Oct 22 2021 09:33:09

谢谢。

看了下elasticsearch,感觉有点复杂,以后有需要再学。

我找到了个软件agent Ransack,不能建索引,搜索很慢,但可以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

[-] yyq90 | 4 points | Oct 22 2021 00:43:19

反转了,你们完了,晶哥简单做个废物判定

[-] modaoshishuo | 2 points | Oct 22 2021 09:36:03

年底又要收网了

[-] Alexanderlavski | 3 points | Oct 21 2021 20:21:18

转换成txt丢到有project manager\全局检索功能的编辑器里直接搜索。 一些编辑器(比如oxygen)的检索可以表达和非逻辑,不过这样都不太快

[-] modaoshishuo | 1 points | Oct 22 2021 09:30:09

谢谢。我找到了个软件agent Ransack,不能建索引,搜索很慢,但可以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

[-] Stock_Search377 | 3 points | Oct 22 2021 05:04:24

什么晶哥

[-] modaoshishuo | 1 points | Oct 22 2021 09:39:10

明天凌晨4点就收网

[-] kumaba | 2 points | Oct 21 2021 20:29:25

不需要数据库,做个cli的就行。查下你要用的language 的api怎么读本地文件,写个遍历就行了。

就是可能慢,算法本身比较讨巧,没专门刷过估计写着费劲

[-] Striking-Warning9533 | 2 points | Oct 21 2021 20:49:09

还是用索引吧,直接遍历太慢了。中文推荐用jieba分词,然后index

[-] kumaba | 1 points | Oct 21 2021 21:05:56

没怎么用过,每次要重新index吗

[-] Striking-Warning9533 | 2 points | Oct 21 2021 21:15:26

没怎么做过这种,但是一般就是把index存起来,然后通过index来找文章。添加新的文章时索引一次就可以了

[-] modaoshishuo | 1 points | Oct 22 2021 09:31:27

谢谢。

我找到了个软件agent Ransack,不能建索引,搜索很慢,但可以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

什么时候不够用了,再想办法。

[-] jiangwenqi1995 | 2 points | Oct 21 2021 21:36:07

直接灌到Elasticsearch,你这个数据量不大

[-] modaoshishuo | 1 points | Oct 22 2021 09:35:30

谢谢。我找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

很多人推荐了elasticsearch,以后有需要再学吧

[-] Zealousideal-Can1998 | 2 points | Oct 22 2021 00:29:43

Elasticsearch 不二选择

[-] modaoshishuo | 1 points | Oct 22 2021 09:35:42

&rt;谢谢。我找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。
&rt;
&rt;很多人推荐了elasticsearch,以后有需要再学吧

[-] lapour_meta | 2 points | Oct 22 2021 01:46:38

如果你一定要自己编程实现的话

小目标:递归遍历目录即可

目标2:这个和搜索引擎有点像了,需要建立倒排索引

目标3:这个和目标2基本一样,主要任务还是找到含关键词的文件

如果你会python的话,python-docx就是一个可选的库。用C#也可以,毕竟office是MS家的东西

[-] modaoshishuo | 1 points | Oct 22 2021 09:37:12

&rt;谢谢。我编程水平不高。找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

[-] Odd-Contribution4610 | 2 points | Oct 22 2021 05:20:03

资源可以共享下吗

[-] modaoshishuo | 3 points | Oct 22 2021 09:38:41

我的《刑事判决书里的中国》文字稿已经上传z library了。https://de1lib.org/book/17102862/49135c

[-] xiashuidaolaoshu9527 | 2 points | Oct 22 2021 05:41:21

这么多东西还是建库归档好,而且方便修改添加,也方便查询,功能也能随时添加,就是自己累点。

[-] modaoshishuo | 1 points | Oct 22 2021 09:42:05

谢谢。我确实想把硬盘里的资料都整理成一个库,特别是扫描版的pdf。得等以后有时间精力做,不然很多书没时间翻到。

找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用

[-] Turbulent_Appeal8097 | 2 points | Oct 22 2021 09:03:45

晶哥在线求助

[-] modaoshishuo | 1 points | Oct 22 2021 09:42:53

收网 收网

[-] Ok_Card_8783 | 1 points | Oct 21 2021 21:00:24

直接用现有的工具,比如

https://anytxt.net/

我没用过这个,但是看着不错,你可以试试。

[-] modaoshishuo | 1 points | Oct 22 2021 09:31:57

谢谢。我用full text search找到了个软件agent Ransack,不能建索引,搜索很慢,但可以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用。

[-] RevolutionaryEarth58 | 1 points | Oct 22 2021 01:47:58

有个软件叫tag lyst 可以实现前两个功能

[-] modaoshishuo | 1 points | Oct 22 2021 09:39:28

&rt;谢谢。找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用

[-] SquirtleCringe | 1 points | Oct 22 2021 02:16:07

grep

[-] modaoshishuo | 1 points | Oct 22 2021 09:39:41

谢谢。找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用

[-] mangadeal | 1 points | Oct 22 2021 08:24:33

elasticsearch 或者 solr。 solr简单一些。https://www.baeldung.com/full-text-search-with-solr

[-] modaoshishuo | 1 points | Oct 22 2021 09:42:38

&rt;谢谢。编程技术不好。找到了个软件agent Ransack,不能建以指定文件夹全文搜索,可以显示上下文,虽然慢,将就着也能用