powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поиска в тексте
15 сообщений из 15, страница 1 из 1
Алгоритм поиска в тексте
    #35466847
текст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется множество текстовых файлов.
Хочу сделат быстрый поиск текста через използовании индексов.
Цел что бы не сканит при каждом поиске все файлы (медлено), а използоват индекс.
Проблема - нужна идея как ето делается.
Если я ищу целое слово то более менее ясно. Делат список слов которые имеются в
файле и можно бысто найти в индексе есть ли искомое слово в файле.
Но если я хочу найти част слова - например ищу "оскв" а в файле
ест "москва" то как создат такой индекс? Подчасты слов очен болшое -
нереално всех записат в индексе.

Мой вопрос в том как ето делается? Быстро найти фрагмент текста в "индексе"
не преребирая весь файл? Алгоритм? Идея?
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35466867
another-anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать БД или бесплатный поисковый движок.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35467806
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищи части слов в том же словаре.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35467854
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lucene и его порты под необходимые платформы.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35468201
текст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне интересен сам алгоритм. Как ето делается?

"Ищи части слов в том же словаре" - ето имеется ввиду индекс?
Если индекс содержит толко целые слова а я ищу части слова то мне надо сканит вес индекс.
То тогда толку в индекса никакого. Лучше искат в текстовом файле .

Кроме как сделат очень большой индекс со всеми частями слов мне ничего другого
не приходит в голову.

Так еще раз - какой алгоритм/индекс/идея что бы быстро искать част слова в
текстовом файле не перебирая вес файл?

(Искал в инете, но на идею не попал. По словам "поисковый движок" нашел много чего,
то толко сам продукт, а как ето работет не нашол).
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35468270
Gatman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай индекс по буквам - чтобы каждая буква указывала на слово (или файл), которое содержит эту букву. Находишь ссылки на все слова, которые содержат бакву , потом букву с и т.д.. потом пересекаешь ссылки, и получаешь слова, которые содержат все эти буквы. ну а потом находишь вслова, где порадок букв совпадает

Пол года назад делал подобную систему (не для поиска слов, вообще). Система строилась на BPlusTree. Получалось при размере листа дерева в 1000 нодов для нахождения значений одного индекса из 1 млрд в худшем случае требовалось 30 сравнений (использовался бинарный поиск). Т.е. для поиска всез слов, состоящих из оскв, потребуется максимум 120 сравнений + пересечение полученного результата и поиск слов с правильным порядком букв
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35469150
Dignat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я для этих целей использовал SQLite, MySql и Clucene.
У каждого из них есть свои плюсы и недостатки.

Подробности ищи в инете по фразам: 'full text search' или 'полнотекстовый поиск'.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35469294
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
текстМне интересен сам алгоритм. Как ето делается?

"Ищи части слов в том же словаре" - ето имеется ввиду индекс?
Если индекс содержит толко целые слова а я ищу части слова то мне надо сканит вес индекс.
То тогда толку в индекса никакого. Лучше искат в текстовом файле .

Кроме как сделат очень большой индекс со всеми частями слов мне ничего другого
не приходит в голову.

Так еще раз - какой алгоритм/индекс/идея что бы быстро искать част слова в
текстовом файле не перебирая вес файл?

(Искал в инете, но на идею не попал. По словам "поисковый движок" нашел много чего,
то толко сам продукт, а как ето работет не нашол).

-- суффиксные деревья
-- суффиксные массивы
-- алгоритм Укконена
В некоторых источниках - позиционные деревья.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35469537
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
текстМой вопрос в том как ето делается? Быстро найти фрагмент текста в "индексе"
не преребирая весь файл? Алгоритм? Идея?

Тебе нужно просто искать фрагмент текста?

Используй Microsoft Indexing Service! Он входит в состав любой современной Винды.

Если хочешь изучить теорию и разобратся - спроси список литературы по теме text search.

Всего!
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35470144
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
определяете что искать, например, "длинное предложение" или "слово" или пару символов
(понятно, что чем короче фраза тем поиск будет работать быстрее)

далее переводите "искомое" в массив кодов, используя функцию ASC ,
потому что строчные переменные работают медленнее, чем integer или byte

Код: plaintext
1.
2.
3.
4.
5.
6.
открываете файл как двоичный

в цикле ...
	читаете часть файла, допустим 1Кб
	перебором элементов массива, ищете в этой части "искомое"
	допустим нашли, тогда выход из цикла
конец цикла 

найденную часть переводите обратно в символы с помощью функции CHR
и показываете (или что там собираетесь с ней делать)

буквально за несколько секунд, в файле 100 Мб (допустим) можно найти слово (да и вообще не важно что).
Разумеется не стоит пренебрегать литературой, где изложены алгоритмы поиска.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35470674
текст
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35475045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_..Даже не знаю, что сказать. Хочется встать и поаплодировать изобретателю алгоритмов.
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35475126
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и действительно
может какая системная dll есть, чтобы велосипед не изобретать
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35479847
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton klen_..Даже не знаю, что сказать. Присоединяюсь :)

Хотя это:
klen_
Разумеется не стоит пренебрегать литературой, где изложены алгоритмы поиска.Если его переписать в виде
Код: plaintext
Разумеется надо начать с литературы, где изложены алгоритмы поиска.
вполне приемлемо :)
...
Рейтинг: 0 / 0
Алгоритм поиска в тексте
    #35479907
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klen_и действительно
может какая системная dll есть, чтобы велосипед не изобретать

Тут дело не только в деэльэльке. Система нужна Фантазия людей очень ограничена. И поиск они задают одинаковый. Например 4 млрд. пользователей Интернет за последние полчаса задали поиск Эмма_Уотсон_фото. Для каждого замаханетесь диэльэльки запускать.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм поиска в тексте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]