在Windows Phone 7上快速全文搜索

时间:2011-05-31 17:23:06

标签: windows-phone-7

如何在Windows Phone 7上进行非常快速的全文搜索?

我知道C库可以做到这一点 - 我有什么方法可以与C接口吗?

是否有适用于Windows Phone 7的数据库提供全文搜索功能?除了答案中提到的数据库之外,我还遇到了RavenDB和FileDB,它们没有全文搜索。

是否有用于全文搜索的.NET库选项?我遇到了.NET port of the Lucene project,必须是ported to use Isolated Storage。有a port that uses Azure,但这不是我要找的。

2 个答案:

答案 0 :(得分:3)

在大多数应用程序中,最好将文档存储在服务器上并使用Web服务执行全文搜索服务器端。手机在处理能力,存储空间和IO速度方面受到严重限制,因此除非您使用非常小的数据集,否则您可能会快速超出设备上可用的资源。

话虽如此,似乎任何现有的Windows Phone数据库解决方案都不支持全文搜索。 Sterling database engine是许多标准database features中比较流行的选项之一,但截至目前它不支持full text searchingRapid Repositorysiaqodb是其他选项,但它们目前也不支持全文搜索。有人已移植SQLite to Windows Phone 7,但它基于csharp-sqlite项目,该项目不支持SQLITE_ENABLE_FTS3所需的Full Text Searching编译器选项。下一个名为Mango的Windows Phone发行代码将为开发人员提供对Microsoft SQL Server Compact版本的访问权限,但这也不支持full text searching

我相信您唯一的选择是使用像Lucene.net这样的.NET托管全文搜索引擎,并尝试将其移植到Silverlight中。您需要进行大量重构,因为Silverlight只允许访问独立存储而不能直接访问文件系统。内存使用量也有严格的限制(90MB max RAM usage per app),这也会限制您可以在手机上使用的数据集的大小。

答案 1 :(得分:2)

据我所知,Perst允许进行全文索引搜索。不确定它到底想要什么,但要检查出来。

http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/06/08/perst-a-database-for-windows-phone-7-silverlight-part-2.aspx