ubuntu软件中心如何进行"search"运行?

How ubuntu software center make "search" operation?

我想在Ubuntu开发一个软件中心。在 ubuntu 软件中心,当我们输入关键字并点击回车按钮时,它会显示相关结果。例如,当我搜索 "eclipse" 关键字时,ubuntu 软件中心列出了 5 个结果。

我想在我的软件中心实现类似的功能。

我试图通过使用 bash 命令(apt 搜索 package_name)在 apt 包管理器中进行搜索来解决这个问题,但它给出了所有包作为结果,大约超过 100 个包。

如何ubuntu软件中心和其他软件中心搜索关键字?他们在哪里搜索关键字并检索结果? ubuntu 软件中心的源代码太复杂了,我找不到我需要的东西。任何指南将不胜感激。

编辑

我分析了ubuntu软件中心的所有源代码。这些代码包含的技术太多,很难理解。为了理解这些代码,我必须学习很多技术,可能至少需要一个月的时间,也许这个时间还不够。在我花了这么多时间学习这些技术之后,如果这些技术不能解决我的问题怎么办?我只知道python,对os库等不熟悉,时间有限,请指导。我需要建立一个简单的软件中心,而不是复杂的。

提前致谢。

它是开源的,甚至可以使用 Python。

找出安装软件中心的软件包:

$ apt-file find -F /usr/bin/software-center
software-center: /usr/bin/software-center

下载源码:

$ mkdir software-center
$ cd software-center/
$ apt-get source software-center

在源代码中查找单词 'search'。 utils/search_query.py 似乎相关。看起来它使用 xapian 模块来完成实际工作。它查询 /var/lib/apt-xapian-index/index xapian 数据库等等。