开发 OSX 应用程序时全文索引的最佳选择是什么?
嗨,
我正在使用 MacRuby 将 IMAP 客户端实现为 Mac OSX 应用程序。 为了离线可用性,我希望允许对所有消息进行全文索引和基于属性的索引。属性包括常见的电子邮件内容,例如 from:、to: 等... 这将允许获得带有分面、分析计算等的高级结果。
现在,我不确定在集成此类搜索功能时的选择和良好实践。我有很强的 Web 开发背景,因此我的直觉行动是设置一个 Solr 服务器并开始向其提供数据。这可能只是理论上工作,因为我可以编写一个代理来在后台管理我的应用程序的solr实例。但对我来说,这种方法似乎是基础设施的麻烦。
另一方面,我读到过人们使用 SQLite 中的 FTS3 功能。 CoreData 可以轻松访问此方法。我没有使用过SQLite 的FTS3,但我不认为它像 Solr 那样强大。
对于像我这样的用例,您选择的武器是什么?
我主要对 Objective-C/Cocoa/MacRuby 开发人员实际使用的解决方案感兴趣。
Hy,
I'm implementing an IMAP client as a Mac OSX application using MacRuby.
For the sake of offline availability, I wanted to allow fulltext indexing and attribute based indexing of all messages. Attributes include common E-Mail stuff like from:, to:, etc...
This would allow for advanced results sprinkled with faceting, analytic calculations and such.
Now I'm unsure about the choices and good practices when it comes to integrating such a search feature. I have a strong web development background, therefore my intuitive action would be to setup a Solr server and start feeding it with data. This might just work theoretically, as I could write an Agent that manages the solr instance for my application in the background. But to me, this approach seems like an infrastructure hassle.
On the other side, I've read about people using the FTS3 functionality from SQLite. This approach is easily accessible by CoreData. I haven't used SQLite's FTS3 but I don't think it is as powerful as Solr can be.
What is your weapon of choice for a use case like mine?
I'm mainly interested in solutions that are actually in use by Objective-C/Cocoa/MacRuby developers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您要使用 Ruby 开发应用程序,请尝试 picky。使用起来非常简单。
In you're going to develop the app with Ruby give a try to picky. It is very simple to use.
有一个 Objective-C Lucene 端口
http://svn.gna。 org/viewcvs/etoile/trunk/Etoile/Frameworks/LuceneKit/
我没有使用过它,但在你的情况下,我至少会检查一下。根据我的经验,基于 SQL 的全文搜索无法与 Lucene 竞争,但还没有尝试过 SQLite。
编辑:刚刚注意到 ruby 标签 - 这开始于 Lucene
https://github.com/dbalmain/ferret 的端口
There is an Objective-C Lucene port
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/LuceneKit/
I have not used it, but in your situation, I'd at least check it out. In my experience, SQL based full text search can't compete with Lucene, but haven't tried SQLite for this.
EDIT: just noticed the ruby tag -- this started out as port of Lucene
https://github.com/dbalmain/ferret