Эффективная пространством структура в оперативной памяти для отсортированного текста, поддерживающего поиски префикса

Не совсем ясно, что Вы конкретно спрашиваете, но, в целом:

  1. Запись помощник представления или частичное представление, которое возвращает поисковую форму. Назовите это в своих других страницах везде, где необходимо отобразить поле поиска. Заставьте действие формы ДОБРАТЬСЯ, не POST.
  2. Для поиска сайта, Вы, вероятно, захотите иметь поисковый контроллер. Для поиска в одном конкретном типе данных можно добавить действие к существующему контроллеру или аргумент существующему действию. По большей части единственной вещью, которую мы должны добавить, является аргумент действию "Списка" общего назначения для определенного типа данных. Поисковая форма называет "Список" и устанавливает спор со строкой поискового запроса.
  3. фактический поиск сделан в Вашем Репозитории. Это - единственная часть приложения, которое знает о вещах как SQL Server или Lucene. Для тривиальных случаев контроллер мог добавить.Where к IQueryable< T> возвращенный Репозиторием.
14
задан Barry Kelly 30 August 2009 в 21:03
поделиться

3 ответа

Так как существует только 1,1 миллиона фрагментов, вы можете индексировать фрагмент, используя 24 бита вместо 32 бит, и сэкономить там место.

Вы также можете сжать фрагменты. Возможно, кодирование Хаффмана будет хорошим выбором. Я бы также попробовал следующую стратегию: вместо использования символа в качестве символа для кодирования вы должны кодировать переходы символов. Поэтому вместо того, чтобы смотреть на вероятность появления символа, посмотрите на вероятность перехода в цепи Маркова , где состояние является текущим символом.

2
ответ дан 1 December 2019 в 16:49
поделиться

Вы можете найти научную статью, связанную с вашей проблемой здесь (цитата авторов: «Эксперименты показывают, что наш индекс поддерживает быстрые запросы в пределах занимаемого пространства, близкого к тот, который можно получить, сжав строковый словарь с помощью gzip, bzip или ppmdi. "- но, к сожалению, бумага только для оплаты). Я не уверен, насколько сложно реализовать эти идеи. У авторов этой статьи есть веб-сайт , где вы также можете найти реализации (в разделе «Коллекция индексов») различных алгоритмов сжатого индекса .

Если вы хотите продолжить свою обязательно посетите веб-сайты, посвященные Crit-bit tree и Radix tree .

1
ответ дан 1 December 2019 в 16:49
поделиться

Необычная идея: вместо дерева хеш-таблица. У вас будет в памяти только хэш и строковые данные, возможно, сжатые.

Или вы можете позволить себе прочитать одну страницу? Только хэш и позиция файла в памяти, получить «страницу» со строками, соответствующими этому хешу, предположительно небольшое количество упорядоченных строк, следовательно, очень быстрый поиск в случае коллизий.

Или вы можете позволить себе прочитать одну страницу? Только хэш и позиция файла в памяти, получить «страницу» со строками, соответствующими этому хешу, предположительно небольшое количество упорядоченных строк, следовательно, очень быстрый поиск в случае коллизий.

Или вы можете позволить себе прочитать одну страницу? Только хэш и позиция файла в памяти, получить «страницу» со строками, соответствующими этому хешу, предположительно небольшое количество упорядоченных строк, следовательно, очень быстрый поиск в случае коллизий.

0
ответ дан 1 December 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: