在Windows Phone 7上快速全文搜索

问题描述

| 如何在Windows Phone 7上进行非常快速的全文搜索? 我知道可以做到这一点的C库-有什么办法可以为此目的连接到C库? Windows Phone 7是否有提供全文搜索功能数据库?除了答案中提到的数据库外,我还遇到了RavendB和FileDB,它们没有全文本搜索。 .NET库是否有用于全文搜索的选项?我遇到了Lucene项目的.NET端口,必须将其移植才能使用隔离存储。有一个使用Azure的端口,但这不是我想要的。     

解决方法

        在大多数应用程序中,最好将文档存储在服务器上,并使用Web服务在服务器端执行全文搜索。电话在处理能力,存储空间和IO速度方面受到严格限制,因此,除非您使用非常小的数据集,否则您可能会很快用光设备上可用的资源。 话虽如此,看来Windows Phone的任何现有数据库解决方案都不支持全文搜索。 Sterling数据库引擎是具有许多标准数据库功能的较受欢迎的选项之一,但是截至目前,它不支持全文搜索。 Rapid Repository和siaqodb是其他选项,但是它们目前还不支持全文搜索。有人已经将SQLite移植到Windows Phone 7,但是它基于csharp-sqlite项目,该项目不支持全文搜索所需的SQLITE_ENABLE_FTS3编译器选项。下一个名为Mango的Windows Phone发布代码将为开发人员提供对Microsoft SQL Server Compact Edition的访问权限,但是它也不支持全文搜索。 我相信您唯一的选择是采用.NET托管的全文搜索引擎(如Lucene.net),并尝试将其移植到Silverlight中。您将需要进行大量的重构,因为Silverlight仅允许访问隔离存储,而不能直接访问文件系统。内存使用也有严格的限制(每个应用程序最大RAM使用90MB),这再次将限制您可以在手机上使用的数据集的大小。     ,        据我所知,Perst允许全文索引搜索。不确定它到底想要什么,但请检查一下。 http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/06/08/perst-a-database-for-windows-phone-7-silverlight-part-2.aspx