АДАПТИВНЫЙ ИНДЕКС С ПЕРЕМЕННЫМ СЖАТИЕМ

1. Реализуемый компьютером способ, содержащий этап, на котором:
выполняют поиск по дереву, причем дерево строится с узлами, ассоциированными с ключом, дерево обрезается согласно заданным критериям сжатия, дерево включает в себя листья, хранящие множество объектов или ссылающиеся на множество объектов в хранилище объектов, причем множество объектов имеет разные значения ключа, причем поиск включает в себя поиск для обнаружения листа на основе ключа поиска; при этом поиск дополнительно содержит этап, на котором проверяют объекты, указанные листом.
2. Реализуемый компьютером способ по п.1, в котором листья ассоциируются с теми же префиксами ключа, что и их родительские узлы.
3. Реализуемый компьютером способ по п.1, в котором узлы хранят указания других критериев поиска.
4. Реализуемый компьютером способ по п.3, в котором указания других критериев поиска включают в себя указания атрибутов объекта, которые не обнаружены среди потомков узла.
5. Реализуемый компьютером способ по п.3, в котором указания других критериев поиска включают в себя указания атрибутов объекта, которые включаются, по меньшей мере, в один потомок узла.
6. Реализуемый компьютером способ по п.1, в котором используется API для выбора структуры ключа для системы поиска, и в ответ на выбор структуры ключа ключи объектов используются для построения хранилища объектов и дерева.
7. Реализуемый компьютером способ по п.1, в котором пользователь посимвольно вводит ключ в приложение, причем приложение ищет по дереву для указания допустимых следующих символов ввода.
8. Реализуемый компьютером способ по п.7, в котором приложение обеспечивает вывод, указывающий допустимые следующие символы.
9. Реализуемый компьютером способ по п.1, в котором структура ключа указывает географическое место или название объекта.
10. Реализуемый компьютером способ по п.1, в котором структура ключа указывает штаты и города.
11. Реализуемый компьютером способ по п.1, в котором структура ключа указывает улицы.
12. Реализуемый компьютером способ по п.1, в котором структура ключа указывает перекрёстки улиц.
13. Реализуемый компьютером способ по п.1, где структуры ключа указывают Точки интереса.
14. Реализуемый компьютером способ по п.1, в котором структура ключа указывает координаты.
15. Реализуемый компьютером способ по п.1, в котором структура ключа указывает объекты, привязанные к местоположениям.
16. Реализуемый компьютером способ по п.1, в котором листья указывают множество объектов с одинаковым префиксом, унаследованным от родителя листа.
17. Реализуемый компьютером способ по п.1, в котором поиск выполняется по названиям объектов.
18. Реализуемый компьютером способ по п.1, в котором поиск выполняется для геокодирования, гео-поиска, обратного геокодирования и Точек интереса.
19. Система, содержащая;
приложение; и
систему поиска для поиска по дереву для приложения, причем дерево строится с узлами, ассоциированными с ключом, дерево включает в себя листья, ассоциированные с множеством объектов в хранилище объектов, причем множество объектов имеет разные значения ключа, причем поиск включает в себя поиск для обнаружения листа на основе ключа поиска; при этом поиск дополнительно содержит проверку объектов, указанных листом.
20. Система по п.19, в которой узлы хранят указания других критериев поиска.
21. Система по п.20, в которой указания других критериев поиска включают в себя указания атрибутов объекта, которые не обнаружены среди потомков узла.
22. Система по п.19, в которой искомые объекты являются непространственными объектами.
23. Система по п.20, в которой указания других критериев поиска включают в себя указания атрибутов объекта, которые включаются, по меньшей мере, в один потомок узла.
24. Система по п.19, в которой искомые объекты являются пространственными объектами.
25. Система по п.19, в которой используется API для выбора структуры ключа для системы поиска, и в ответ на выбор структуры ключа ключи объектов используются для построения хранилища объектов и дерева.
26. Система по п.19, в которой пользователь вводит данные в приложение, причем приложение ищет по дереву для указания допустимых следующих символов ввода.
27. Система по п.25, в которой приложение обеспечивает отображение, указывающее допустимые следующие символы.
28. Система по п.19, в которой часть ключа указывает штат.
29. Система по п.19, в которой часть ключа указывает город.
30. Система по п.19, в которой часть ключа указывает улицу.
31. Система по п.19, в которой часть ключа указывает перекресток улиц.
32. Картографическая система по п.19, в которой структура ключа указывает точки интереса.
33. Картографическая система по п.19, в которой структура ключа указывает координаты.
34. Картографическая система по п.19, в которой структура ключа указывает объекты, привязанные к пространственным объектам.
35. Картографическая система по п.19, в которой листья указывают множество объектов с одинаковым префиксом.
36. Картографическая система по п.19, в которой поиск выполняется для геокодирования.
37. Картографическая система по п.19, в которой поиск выполняется для гео-поиска.
38. Картографическая система по п.19, в которой поиск выполняется для обратного геокодирования.
39. Картографическая система по п.19, в которой поиск выполняется для определения местонахождения Точек интереса.
40. Реализуемый компьютером способ, содержащий этап, на котором:
выполняют поиск по дереву для определения доступных следующих символов, причем дерево строится с узлами, ассоциированными с ключом, дерево включает в себя листья, ассоциированные с множеством объектов в хранилище объектов, причем множество объектов имеет разные значения ключа, при этом поиск для определения доступных следующих символов включает в себя этап, на котором получают информацию о доступном следующем символе от дерева и/или от объектов в хранилище объектов.
41. Реализуемый компьютером способ построения древовидной структуры, содержащий этапы, на которых:
получают список объектов с ключами, соблюдающий структуру ключа;
строят полную структуру дерева; и
объединяют узлы таким образом, чтобы большинство листьев ассоциировалось с множеством объектов.
42. Реализуемый компьютером способ по п.41, в котором узлы хранят указания других критериев поиска.
43. Реализуемый компьютером способ по п.42, в котором указания других критериев поиска включают в себя указания атрибутов объекта, которые не обнаружены среди потомков узла.
44. Реализуемый компьютером способ по п.42, в котором указания других критериев поиска включают в себя указания атрибутов объекта, которые включаются, по меньшей мере, в один потомок узла.
45. Реализуемый компьютером способ по п.42, в котором используется API для выбора структуры ключа для системы поиска, и в ответ на выбор структуры ключа ключи объектов используются для построения хранилища объектов и дерева.
46. Реализуемый компьютером способ по п.41, в котором высота дерево обрезается согласно критериям сжатия.
47. Реализуемый компьютером способ по п.41, в котором этапы, на которых объединяют узлы, включают в себя этап, на котором объединяют листья.
48. Реализуемый компьютером способ по п.41, в котором объекты, на которые ссылаются при помощи коротких листьев, сохраняются непрерывно.
49. Реализуемый компьютером способ по п.41, в котором объекты, на которые ссылаются при помощи длинных листьев, указывают на непоследовательные объекты.
50. Реализуемый компьютером способ, содержащий этап, на котором:
выполняют поиск узлов дерева, причем узлы дерева указывают информацию о ключе, по меньшей мере, некоторые узлы указывают информацию о дополнительных критериях поиска, причем поиск является многомерным, так что информация о ключе проверяется по первому измерению поиска, а информация о критериях поиска проверяется по дополнительным измерениям поиска.
51. Система по п.50, в которой значения ключа сравниваются с вводом пользователя в первом измерении поиска.
52. Система по п.50, в которой обрезанное дерево включает в себя листья, которые хранят множество объектов или ссылки на множество объектов в хранилище объектов.
53. Система по п.50, в которой критерии поиска указывают атрибуты объекта, не обнаруженные среди потомков узла.
54. Система по п.50, в которой критерии поиска указывают атрибуты объекта, включенные в потомок узла.
55. Реализуемая компьютером система, содержащая:
a) определение, для класса объектов, компонентов строки ключа поиска, которыми можно манипулировать для обеспечения множества интерфейсов пользователя;
b) хранилище объектов, которое проводит различие между компонентами ключа поиска;
c) построение структуры ключ поиска из упомянутых компонентов, чтобы получить заданный интерфейс пользователя;
d) адаптируемое дерево поиска, составленное для заданного определения ключа поиска, в котором узлы ассоциируются со структурой ключа поиска, узлы хранят объекты или ссылки на объекты в хранилище объектов, и хранение дерева минимизируется на основе заданных критериев сжатия, причем способ адаптируемого поиска используется для нахождения совпадающих объектов посредством дерева поиска и упомянутого хранилища объектов, причем поиск адаптируется к структуре дерева, обусловленной сжатием и заданным интерфейсом пользователя.
56. Реализуемая компьютером система по п.55, в которой извлечение совпадающих объектов из упомянутого дерево основывается на вводе частичного или полного ключа поиска.
57. Реализуемая компьютером система по п.55, в которой ключ поиска определяется с помощью выбора полного множества или подмножества компонентов исходного ключа поиска.
58. Реализуемая компьютером система по п.55, в которой ключ поиска определяется с помощью назначения порядка на выбранные компоненты исходного ключа поиска.
59. Реализуемая компьютером система по п.55, в которой порядок хранилища объектов назначается исходным ключом поиска.
60. Реализуемая компьютером система по п.55, в которой одно или более деревьев поиска, каждое со своей собственной структурой ключа поиска, могут ссылаться на одно и то же хранилище объектов.
61. Реализуемая компьютером система по п.55, в которой уникальная структура ключа определяется для класса объектов.
62. Реализуемая компьютером система по п.55, в которой следующие доступные символы ввода могут извлекаться из сжатого дерева и/или хранилища объектов.
63. Реализуемая компьютером система по п.55, в которой для заданного профиля интерфейса пользователя и выбранных критериев сжатия вырабатывается оценка для размера дерева поиска и наилучшего, среднего и наихудшего случая эффективности поиска, предоставляя проектировщику системы средство для уравновешивания различных требований путем сравнения оценок разных реализаций.
64. Реализуемая компьютером система по п.55, обеспечивающая многомерный поиск с помощью необязательного хранения в каждом узле дерева дополнительных критериев поиска, указывающих наличие, по меньшей мере, одного объекта, удовлетворяющего заданному критерию, среди потомков этого узла.
65. Реализуемая компьютером система по п.55, в которой сжатие включает в себя объединение и разделение узлов и ветвей.
66. Реализуемая компьютером система по п.65, в которой объединение и разделение выполняются в одном этапе.
67. Реализуемая компьютером система для обеспечения ряда профилей впечатления и ощущения от интерфейса пользователя, содержащая:
a) определение, для класса объектов, компонентов строки ключа поиска, которыми можно манипулировать для обеспечения множества интерфейсов пользователя;
b) хранилище объектов, которое проводит различие между компонентами ключа поиска;
c) построение структуры ключа поиска из упомянутых компонентов, при помощи которой манипуляция компонентами ключа реализует другой интерфейс пользователя;
d) API для определения структуры строкового ключа, при помощи которого проектировщик может выбирать компоненты ключа и порядок компонентов в ключе, что приводит к разному интерфейсу пользователя в поиске; и
e) адаптивное сжатое дерево поиска для обеспечения поиска объекта для одного из множества интерфейсов пользователя, которое может быть реализовано из компонентов ключа поиска в хранилище объектов, в котором узлы ассоциируются со структурой ключа поиска, листья хранят объекты или ссылки на объекты в хранилище объектов.