如何在Windows Phone 7上进行非常快速的全文搜索?
我知道有一些可以做到这一点的C库-有没有办法为此接口到C库?
除了答案中提到的数据库外,是否有适用于Windows Phone 7的具有全文搜索功能的数据库?我还发现RavenDB和FileDB,它们没有全文搜索。
是否有适用于全文搜索的.NET库选项?我找到了一个.NET版的Lucene项目, 需要端口来使用独立存储。还有使用Azure的端口, 但那不是我想要的。
如何在Windows Phone 7上进行非常快速的全文搜索?
我知道有一些可以做到这一点的C库-有没有办法为此接口到C库?
除了答案中提到的数据库外,是否有适用于Windows Phone 7的具有全文搜索功能的数据库?我还发现RavenDB和FileDB,它们没有全文搜索。
是否有适用于全文搜索的.NET库选项?我找到了一个.NET版的Lucene项目, 需要端口来使用独立存储。还有使用Azure的端口, 但那不是我想要的。
在大多数应用程序中,最好将文档存储在服务器上,并使用 Web 服务在服务器端执行全文搜索。手机的处理能力、存储空间和 IO 速度非常有限,因此除非您使用非常小的数据集,否则可能很快耗尽设备上可用的资源。
话虽如此,目前似乎没有任何现有的Windows Phone数据库解决方案支持全文搜索。 Sterling数据库引擎是其中较受欢迎的选项之一,具有许多标准数据库功能,但就目前而言,它不支持全文搜索。Rapid Repository和siaqodb是其他选择,但它们目前也不支持全文搜索。有人将SQLite移植到Windows Phone 7,但它基于csharp-sqlite项目,该项目不支持SQLITE_ENABLE_FTS3编译器选项,该选项是全文搜索所必需的。下一个Windows Phone发布版本代号Mango将为开发人员提供访问Microsoft SQL Server Compact版的权限,但这也不支持全文搜索。
我相信你唯一的选择是采用像Lucene.net这样的.NET托管全文搜索引擎,并尝试将其移植到Silverlight中运行。由于Silverlight只允许访问隔离存储而不是直接访问文件系统,因此您需要进行大量重构。此外,内存使用也有严格限制(每个应用程序最大90MB RAM使用量),这将再次限制您可以在手机上使用的数据集的大小。