Текущий архив: 2008.06.01;
Скачать: CL | DM;
Вниз
Книги по поиску и индексации Найти похожие ветки
← →
ProgRAMmer Dimonych © (2008-04-15 23:36) [0]Что посоветуете? Решил заняться ликвидацией собственной безграмотности в вопросе поиска информации.
Чтобы, возможно, как-то сузить круг поиска... Одна из конечных целей - попробовать написать сайт, который кроме всего прочего (добавления информации через "админку") будет индексировать добавляемую информацию и позволять выполнять поиск по самому себе.
Заранее спс.
← →
antonn © (2008-04-15 23:38) [1]что ты понимаешь под словом "индексировать"? а то слово произносят почти все, кому не лень, просто аж попросовое стало.
по поводу сайта - если данные хранятся в базе типа мускла, там уже есть индексы (например fulltext).
← →
ProgRAMmer Dimonych © (2008-04-15 23:57) [2]> antonn © (15.04.08 23:38) [1]
> что ты понимаешь под словом "индексировать"? а то слово
> произносят почти все, кому не лень, просто аж попросовое
> стало.
Боюсь, что при моём уровне владения темой приходиться иметь в виду как раз попсовое значение слова :(
> по поводу сайта - если данные хранятся в базе типа мускла,
> там уже есть индексы (например fulltext).
Мдя, книги "SQL по 10 минут на урок" явно недостаточно :(
Интересуют вообще книги, которые могут хоть как-то помочь с теорией. Нет, не так. Чтобы по прочтении книги сложилось представление о том, как это должно работать, чтобы можно было организовать съезд мозгов (собрать "в кучку" :)) и попробовать что-нибудь похожее написать.
← →
Kostafey © (2008-04-16 00:03) [3]> [2] ProgRAMmer Dimonych © (15.04.08 23:57)
Или тебе нужна книжка по теории БД&SQL или я не понял вопрос.
Например Дж.Боуман Практическое руководство по SQL.
← →
ProgRAMmer Dimonych © (2008-04-16 00:12) [4]> Kostafey © (16.04.08 00:03) [3]
> > [2] ProgRAMmer Dimonych © (15.04.08 23:57)
> Или тебе нужна книжка по теории БД&SQL или я не понял вопрос.
> Например Дж.Боуман Практическое руководство по SQL.
Если SQL"а хватит для такого сайта, о котором я говорил (т.е. для такого поиска на сайте) - будет круто, но с трудом верится. Книжку в любом случае качаю :)
← →
Kostafey © (2008-04-16 00:20) [5]Ну что есть индекс?
Индекс - это таблица, которая помимо
индексируемых полей содержит ссылки
на те адреса на жестком диске
которые соответсвуют полной записи.
Поиск же ведется, как правило, по этой малой
таблице - индексу.
Это на пальцах и в вольной интерпретации.
Остальное уже изобретено :)
← →
ProgRAMmer Dimonych © (2008-04-16 00:22) [6]> Kostafey © (16.04.08 00:20) [5]
> Ну что есть индекс?
> Индекс - это таблица, которая помимо
> индексируемых полей содержит ссылки
> на те адреса на жестком диске
> которые соответсвуют полной записи.
> Поиск же ведется, как правило, по этой малой
> таблице - индексу.
>
> Это на пальцах и в вольной интерпретации.
> Остальное уже изобретено :)
О! А вот о том, как это может быть сделано на практике, какие могут быть подводные камни и т.д., как раз и хотелось бы почитать. :)
← →
Kostafey © (2008-04-16 00:34) [7]> [6] ProgRAMmer Dimonych © (16.04.08 00:22)
Часть ответов есть и в приведенной книге.
Конечно, идексы несложно сделать и используя
GUI - клиенты к БД.
Иддексы же по клчевым полям создаются СУБД
как правило автоматически.
Что до оптимизации работы путем создания индексов...
ну тут поможет мониторинг запросов к СУБД,
хотя как мне кажется это больше впрос администрирования
чем программирования.
← →
ProgRAMmer Dimonych © (2008-04-16 00:41) [8]> Kostafey © (16.04.08 00:34) [7]
> Часть ответов есть и в приведенной книге.
> Конечно, идексы несложно сделать и используя
> GUI - клиенты к БД.
> Иддексы же по клчевым полям создаются СУБД
> как правило автоматически.
>
> Что до оптимизации работы путем создания индексов...
> ну тут поможет мониторинг запросов к СУБД,
> хотя как мне кажется это больше впрос администрирования
> чем программирования.
Клиентом БД в данном случае будет PHP-скрипт. Его задача - получить от пользователя запрос, пробежаться по имеющейся информации и выдать результат поиска. По обрывочным сведениям, которые мне удалось найти в Internet, для упрощения и ускорения процесса поиска производится индексирование (что-то типа сбора некой общей информации, по которой можно с определённой степенью уверенности определить степень соответствия того или иного документа запросу пользователя?). Этот-то процесс индексирования данных и интересует меня в первую очередь (книги, посвящённые этому процессу).
P.S. Читаю книгу [3], неплохая вещь, кажется...
← →
Anatoly Podgoretsky © (2008-04-16 00:48) [9]> ProgRAMmer Dimonych (16.04.2008 00:41:08) [8]
Полнотекстовый поиск, некоторые СУБД поддерживают это на уровне системы.
Если нет, то не сложно будет сделать самому. Самое сложное это словоформы, вот с этим у СУБД проблема.
← →
Kostafey © (2008-04-16 00:55) [10]> Клиентом БД в данном случае будет PHP-скрипт.
Клиент к ДБ я имел ввиду универсальный.
В данном случае это напрмер PHPMyAdmin.
С его помошью, можно создать в БД индекс
(или непосредственно SQL - запросом).
> Его задача - получить от пользователя запрос, пробежаться
> по имеющейся информации и выдать результат поиска.
Это не его задача. Это задача СУБД. Его задача -
передать этот запрос от пользователя к СУБД, получить
результат от СУБД и вернуть его пользователю.
> По обрывочным сведениям, которые мне удалось найти в Internet,
> для упрощения и ускорения процесса поиска производится
> индексирование (что-то типа сбора некой общей информации,
> по которой можно с определённой степенью уверенности определить
> степень соответствия того или иного документа запросу пользователя?
> ).
Индекс в БД - одно.
но индексирование <вообще> - термин широкий. Например, ключевые
слова при поиске книго по бумажному каталогу тоже играют роль индекса.
← →
ProgRAMmer Dimonych © (2008-04-16 01:00) [11]> Anatoly Podgoretsky © (16.04.08 00:48) [9]
> > ProgRAMmer Dimonych (16.04.2008 00:41:08) [8]
>
> Полнотекстовый поиск, некоторые СУБД поддерживают это на
> уровне системы.
> Если нет, то не сложно будет сделать самому. Самое сложное
> это словоформы, вот с этим у СУБД проблема.
А какие книги по этому поводу есть хорошие? И какие возможности у связки PHP+MySQL в этой области?
> Kostafey © (16.04.08 00:55) [10]
> Клиент к ДБ я имел ввиду универсальный.
> В данном случае это напрмер PHPMyAdmin.
> С его помошью, можно создать в БД индекс
> (или непосредственно SQL - запросом).
Да, я не вчитался...
> > Его задача - получить от пользователя запрос, пробежаться
>
> > по имеющейся информации и выдать результат поиска.
>
> Это не его задача. Это задача СУБД. Его задача -
> передать этот запрос от пользователя к СУБД, получить
> результат от СУБД и вернуть его пользователю.
Это я в применении к сайту, который должен быть готовым покопаться в себе...
> > По обрывочным сведениям, которые мне удалось найти в Internet,
>
> > для упрощения и ускорения процесса поиска производится
>
> > индексирование (что-то типа сбора некой общей информации,
>
> > по которой можно с определённой степенью уверенности определить
>
> > степень соответствия того или иного документа запросу
> пользователя?
> > ).
>
> Индекс в БД - одно.
>
> но индексирование <вообще> - термин широкий. Например, ключевые
> слова при поиске книго по бумажному каталогу тоже играют
> роль индекса.
Ключевые слова - это явно ближе :)
← →
Павел Калугин © (2008-04-16 16:41) [12]Индексировать информацию? то есть собирать все слова текста, и стоить набор уникальных и при поиске еще по словарю обрабатывать словоформы и так далее? то есть поисковая система по сути? минигугл?
что-то на эту тему видел на страничке у Розыча.
← →
tesseract © (2008-04-16 17:00) [13]
> Ну что есть индекс?Индекс - это таблица, которая помимоиндексируемых
> полей содержит ссылкина те адреса на жестком дискекоторые
> соответсвуют полной записи.Поиск же ведется, как правило,
> по этой малойтаблице - индексу.
2 тебе. Абсолютно неверно, индекс ни грамма не таблица. Читать Дональда Кнута. Особенно курить главы по самобалансирущимся деревьям.
← →
Kostafey © (2008-04-16 17:13) [14]
> tesseract © (16.04.08 17:00) [13]
> Абсолютно неверно, индекс ни грамма не таблица.
Спал - писал. Имелось в виду сущьность (в терминологии БД),
что как ты уже сказал технически тоже не совсем верно.
← →
tesseract © (2008-04-16 17:15) [15]
> что как ты уже сказал технически тоже не совсем верно.
Таблица уже хэш стала напоминать ?
Так почему индексы бывают нисходящими и восходящими ? Дерево там потому что:-)
← →
ProgRAMmer Dimonych © (2008-04-16 23:16) [16]> Павел Калугин © (16.04.08 16:41) [12]
> Индексировать информацию? то есть собирать все слова текста,
> и стоить набор уникальных и при поиске еще по словарю обрабатывать
> словоформы и так далее? то есть поисковая система по сути?
> минигугл?
> что-то на эту тему видел на страничке у Розыча.
Да, по сути - минигугл. У Rouse_ на сайте есть исходник на Delphi для построения списка слов, содержащихся в тексте. В принципе, с этим могу справиться и самостоятельно. Больше волнуют конкретные подходы к реализации. Вот если бы книжечку, где создание минигугла рассматривается более детально. Да ещё бы и чтобы формы одного и того же слова...
← →
No_Dead © (2008-04-16 23:47) [17]хм… может на форуме php посмотреть/поспрашивать?))
имхо, есть же готовые варианты «поиска по самому себе»)
← →
ProgRAMmer Dimonych © (2008-04-16 23:52) [18]> No_Dead © (16.04.08 23:47) [17]
> хм… может на форуме php посмотреть/поспрашивать?))
> имхо, есть же готовые варианты «поиска по самому себе»)
Ну, готовые варианты - это неинтересно. Хочется ведь разобраться детальнее, что и как... На форуме PHP - это можно попробовать.
Но вообще, боюсь, проблема не столько в том, как это реализовать, сколько в том, как это должно быть устроено. Ну, например, понятно, что всю информацию, которая будет добавляться на сайт, надо сразу готовить к поиску по ней (индексировать). Но слабо себе представляю, как будет устроен, скажем, файл или таблица в БД, где будут храниться результаты индексации; можно, конечно, сделать его списком слов, присутствующих в материалах сайта, для каждого слова указывать страницу, на которой оно встречается. Но это кажется чем-то дико неэффективным, а других идей нет :(
← →
No_Dead © (2008-04-17 00:01) [19]> готовые варианты — это неинтересно
дешево и сердито:). пока не пропадет вот это
> Но вообще, боюсь, проблема не столько в том, как это реализовать,
> сколько в том, как это должно быть устроено
ЗЫ. форум у http://softtime.ru/ рекомендую. может чем и помогут детальнее))
← →
ProgRAMmer Dimonych © (2008-04-17 00:57) [20]> No_Dead © (17.04.08 00:01) [19]
> > готовые варианты — это неинтересно
> дешево и сердито:). пока не пропадет вот это
>
> > Но вообще, боюсь, проблема не столько в том, как это реализовать,
> > сколько в том, как это должно быть устроено
>
С готовыми вариантами ЭТО не пропадёт никогда, ибо лень будет удерживать ЭТО на месте... :(
> ЗЫ. форум у http://softtime.ru/ рекомендую. может чем и
> помогут детальнее))
Спасибо, глянем на досуге...
P.S. А книжки по теме - правда такая редкость?
← →
tesseract © (2008-04-17 10:22) [21]
> P.S. А книжки по теме - правда такая редкость?
До чёртиков, просто они не "индексация для чайников" называються.
Дональд Кнут, Джулиан Бакнел и тд и тп. Графы, деревья, списки и тд - вот она основа то.
Страницы: 1 вся ветка
Текущий архив: 2008.06.01;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.03 c