python - 为搜索/检索编制索引/存储代码(脚本、查询)的最佳、最有效的方法是什么?

标签 python indexing

我们在 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/

相关文章:

python - Numpy 的最小二乘没有残差

python - 使用 set_index() 创建 MultiIndex 将 0 和 1 转换为 bool 值

python - 使用pytorch的变量的目标是什么?

python - 用keras Grid Search隐藏层数

mysql - 使用 MySQL UNI 键将随机字符串插入字段

postgresql - 高效过滤类型忽略

mysql - 如何在 phpMyAdmin 中对数据库表进行索引

python - paramiko.SSHClient().exec_command 的转义参数

c++ - 如何为我的图形提供 vertex_index 属性

python - pandas 中非唯一索引的性能影响是什么?