быстрый полнотекстовый поиск на Windows Phone 7 - PullRequest
7 голосов
/ 31 мая 2011

Как я могу сделать очень быстрый полнотекстовый поиск на Windows Phone 7?

Я знаю о библиотеках C, которые могут это сделать - есть ли способ для этого подключиться к библиотеке C?

Существуют ли базы данных для Windows Phone 7, которые предлагают возможность полнотекстового поиска? Помимо баз данных, упомянутых в ответах, я также сталкивался с RavenDB и FileDB, которые не имеют полнотекстового поиска.

Есть ли варианты библиотеки .NET для полнотекстового поиска? Я сталкивался с .NET-портом проекта Lucene , который должен был бы быть портирован для использования изолированного хранилища . Существует порт, который использует Azure , но это не то, что я ищу.

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

В большинстве приложений лучше всего хранить документы на сервере и использовать веб-сервис для выполнения полнотекстового поиска на стороне сервера. Телефон серьезно ограничен с точки зрения вычислительной мощности, места для хранения и скорости ввода-вывода, поэтому, если вы не используете очень маленький набор данных, вы можете быстро перерасти ресурсы, доступные на устройстве.

При этом, похоже, что ни одно из существующих решений для баз данных для Windows Phone не поддерживает полнотекстовый поиск. Механизм базы данных Sterling является одним из наиболее популярных вариантов со многими стандартными функциями базы данных , но на данный момент он не поддерживает полнотекстовый поиск . Rapid Repository и siaqodb и другие опции, однако в настоящее время они также не поддерживают полнотекстовый поиск. Кто-то портировал SQLite на Windows Phone 7 , но он основан на проекте csharp-sqlite, который не поддерживает параметр компилятора SQLITE_ENABLE_FTS3 , который требуется для Полнотекстового поиска . Следующий код выпуска Windows Phone под названием Mango предоставит разработчикам доступ к выпуску Microsoft SQL Server Compact, однако он также не поддерживает полнотекстовый поиск .

Я полагаю, что единственным вариантом для вас будет взять управляемый .NET механизм полнотекстового поиска, например Lucene.net , и попытаться перенести его для работы в Silverlight. Вам нужно было бы сделать много рефакторинга, так как Silverlight разрешает только доступ к изолированному хранилищу, но не прямой доступ к файловой системе. Кроме того, существуют строгие ограничения на использование памяти ( 90 МБ, максимальное использование ОЗУ на приложение ), что опять-таки ограничит размер набора данных, который вы можете использовать на телефоне.

2 голосов
/ 01 июня 2011

Из того, что я могу сказать, похоже, что Perst допускает полнотекстовый поиск по индексу. Не уверен, что это именно то, что вы хотите, но проверьте это.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...