如何实现进程内全文搜索引擎
-
01-07-2019 - |
题
在我们的一个商业应用程序(Win32,用 Delphi 编写)中,我们希望实现全文搜索。该应用程序以某种不能直接识别为文本的二进制格式存储用户数据。
理想情况下,我想找到一个进程内解决方案(DLL 就可以)或一个可以通过 TCP 访问的本地服务器(最好)。API 应该允许我向服务器提交文本信息(以及表示它来自的二进制 blob 的元数据),当然,它应该允许我进行全文搜索,至少对逻辑运算符有最低限度的支持和子串搜索。需要 Unicode 支持。
我在 Stack Overflow 上找到了广泛的搜索引擎列表(有哪些搜索服务器?)但我真的不明白哪些引擎可以满足我的需求。在我花一两天时间测试它们之前,我想先征求集体的意见。
有什么建议么?
其他提示
我建议您看看 SQLite——最新版本中包含全文搜索。
我想答案取决于你的数据库。例如,SQL Server 具有全文搜索功能,如果需要的话还可以进行英语查询。
看一下如何使用 PostgreSQL 和 tsearch。
尝试将 postgresql 与 tsearch 一起使用
狮身人面像 可能是最有效和可扩展的选择,而 SQLite-FTS3 是最直接的选择。
虽然不在处理过程中, 索尔 非常快(基于 Lucene)并且可以从任何平台轻松访问(HTTP)
不隶属于 StackOverflow