首页 / 知识
关于windows:如何实现进程内全文搜索引擎
2023-04-16 15:41:00

How to implement in-process full text search engine在我们的一个商业应用程序(Win32,用 Delphi 编写)中,我们希望实现全文搜索。应用程序以某种无法直接识别为文本的二进制格式存储用户数据。 理想情况下,我希望找到一个进程内解决方案(DLL 可以)或我可以通过 TCP 访问的本地服务器(最好)。 API 应该允许我向服务器提交文本信息(以及表示它来自的二进制 blob 的元数据),当然,它应该允许我进行全文搜索,至少对逻辑运算符的支持最少和子字符串搜索。需要 Unicode 支持。 我在 Stack Overflow 上找到了广泛的搜索引擎列表(有哪些搜索服务器?),但我并不真正了解哪些引擎可以满足我的需求。在我花一两天时间测试他们每个人之前,我想征求 The Collective 的意见。 有什么建议吗? 市场上有很多选择。完全成熟的商业产品或开源变体。您对搜索提供商的选择在很大程度上取决于您所定位的客户。 Microsoft 有一个免费的 Express 版本的 Search Server。据我所知,Express 版仅限于在一台服务器上运行应用程序层。 还有开源的 Apache Lucene 项目。它有一个很好用的 API 和一个庞大的用户社区。原项目是基于Java的,但也有其他实现如NLucene for .NET,我个人用过。 虽然不在进程中,但 Solr 非常快(基于 Lucene)并且可以从任何平台(HTTP)轻松访问 Sphinx 可能是最高效和可扩展的选项,而 SQLite - FTS3 是最直接的选项。 尝试使用带有 tsearch 的 postgresql 看看使用 PostgreSQL 和 tsearch。 我想答案取决于您的数据库。例如,SQL Server 具有全文搜索功能,如果需要,还可以提供英语语言查询。 我建议你看看 SQLite -- 全文搜索包含在最新版本中。 |
最新内容
相关内容
linux命令删除用户组?
linux命令删除用户组?,管理,密码,系统,用户组,用户,概念,命令,文件,管理员,工作组,Linux命令之用户组管理1、查看/etc/group文件,只存在名称为mlinux截取进程命令?
linux截取进程命令?,系统,工作,状态,信息,进程,软件,地址,命令,标准,实时,linux中查看系统当前所有进程的命令是1、linux 下查看进程可以使用linux退出进程命令?
linux退出进程命令?,系统,软件,名称,代码,进程,报告,数字,暂停,状态,平台,linux停止进程在linux系统中停止进程需要以下三个步骤,下面具体介绍linux注销命令用户?
linux注销命令用户?,系统,服务,密码,地址,工作,命令,状态,工具,信息,基础,linux注销用户命令1、shutdown是一个用来安全关闭或重启Linux系统的linux切换进程命令?
linux切换进程命令?,服务,系统,工具,地址,命令,基础,工作,标准,情况,状态,Linux命令有哪些1、linux常用命令如下:查看内核版本:uname-a。控制台-linux查询命令进程?
linux查询命令进程?,系统,名称,总量,情况,状态,进程,材料,工具,电脑,数据,怎么查看linux进程名称1、linux 下查看进程可以使用的命令:ps命令查linux命令如何杀进程?
linux命令如何杀进程?,状态,系统,暂停,管理,进程,命令,平台,信息,工具,电脑,Linux终止前台进程的命令首先,连接相应linux主机,进入到linux命令行linux常用命令查进程?
linux常用命令查进程?,系统,情况,软件,工具,实时,代码,电脑,地址,总量,状态,查看Linux系统进程内存占用情况top命令是Linux下常用的性能分析工linux命令所有用户?
linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如何查询linux系统中所有用户的用户名和密码首先进入到linux桌面,在linux命令进入用户?
linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,电脑,linux进入第一次启动+怎么样创建用户?1、进入Linux系统,登陆管linux命令用户管理?
linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LInux用户管理查看/etc/group文件,只存在名称为modifiedgroup的用户linux命令进程状态?
linux命令进程状态?,系统,状态,进程,命令,数据,管理,软件,名称,信息,参数,Linux终止前台进程的命令1、首先,连接相应linux主机,进入到linux命令