我们在 Linux 机器上的一大堆文件夹中有大量代码和查询。每当我必须找到脚本时,我都会执行 fgrep -ircl --include=*.{sql, py, sh} "Keyword"*
。
我计划创建一个简单的搜索界面(网络),让您可以搜索关键字、文件类型并显示文件的位置和结果文件的摘录。我猜 Lucene 可能是一个很好的候选者,但我不想为此目的创建我所有文件的副本。
我计划每天在下类时间使用 Python 脚本为文件编制索引。我猜更像是 Google 桌面,但用于网络(跨平台可用性)。
你们认为完成这项任务的最佳方法是什么?
最佳答案
我写了一个 perl 脚本 waaaaay 回来提供一个 web 界面结果,如果你想看的话,它仍然可以在我已弃用的 blackbeltvb.com 网站上运行。不过,它进行了实时搜索,没有索引,也没有摘录。
我还编写了对 wugnet.com 的搜索,它对结果和摘录进行了排名,并设计了现在在 QB 桌面中的搜索。在你的情况下,我会采用这种方法——只需要一个 cron 作业,将新的或更新的脚本/文件添加到数据库中,一个大文本字段,其他字段包含文件名和类型等元数据。然后有一个进入该数据库的网络界面,搜索:
select * from data where keyword like '%word%' and keyword (or keyword) etc...
blackbeltvb.com 上有一个常见问题解答,展示了如何为排名关键字结果构建 SQL 搜索,例如“找到所有关键字”、“找到一些关键字”等...
关于python - 为搜索/检索编制索引/存储代码(脚本、查询)的最佳、最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302197/