windows - 如何实现进程内全文搜索引擎

标签 windows winapi full-text-search

在我们的一个商业应用程序(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/

相关文章:

c - 如何使用 C 和 WinAPI 将包含特殊字符的文本复制到剪贴板?

mysql - django:South 根据平台不同不会生成相同的索引名称

c++ - 如何用音频数据填充 AVFrame

c++ - 如何过滤/区分 Windows API NotifyIpInterfaceChange() 捕获的实际事件和 "dummy"事件

postgresql - 全文搜索中的模糊搜索

windows - Make 忽略了编译器标志

windows - 如果目录已经存在,mkpath 会失败吗?

c - C 中的多线程问题

ruby-on-rails-3 - sunspot_solr - NoMethodError(未定义方法 `result=' 为 nil :NilClass)

Postgresql 全文搜索非常短的文档(文件名)