在我们的一个商业应用程序(Win32,用 Delphi 编写)中,我们想实现全文搜索。该应用程序以某种无法直接识别为文本的二进制格式存储用户数据。
理想情况下,我想找到一个进程内解决方案(DLL 就可以)或一个我可以通过 TCP 访问的本地服务器(最好)。 API 应该允许我向服务器提交文本信息(连同表示它来自的二进制 blob 的元数据),当然,它应该允许我进行全文搜索,至少对逻辑运算符的支持最少和子串搜索。需要 Unicode 支持。
我在 Stack Overflow ( What are some Search Servers out there? ) 上找到了大量搜索引擎,但我不太明白哪些引擎可以满足我的需求。在我花一两天时间测试每个人之前,我想征求 The Collective 的意见。
有什么建议吗?
最佳答案
市场上有多种选择。完全成熟的商业产品或开源变体。您对搜索提供商的选择在很大程度上取决于您的目标客户。
Microsoft 有免费的 Express 版搜索服务器。据我所知,Express 版仅限于在一台服务器上运行应用程序层。
还有 Apache Lucene项目是开源的。它有一个易于使用的好 API 和一个庞大的用户社区。原项目是基于Java的,但也有其他的implementations例如NLucene对于我个人使用过的 .NET。
关于windows - 如何实现进程内全文搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/84339/