Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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]

хм&#133 может на форуме php посмотреть/поспрашивать?))
имхо, есть же готовые варианты &laquo;поиска по самому себе&raquo;)


 
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]

> готовые варианты &#151; это неинтересно

дешево и сердито:). пока не пропадет вот это

> Но вообще, боюсь, проблема не столько в том, как это реализовать,
> сколько в том, как это должно быть устроено


ЗЫ. форум у 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.54 MB
Время: 0.019 c
15-1208451382
Поп Гапон
2008-04-17 20:56
2008.06.01
Хрущёвские реформы


15-1205948557
Express
2008-03-19 20:42
2008.06.01
Компонент для Клавиатурного тренажера


2-1210344790
michail
2008-05-09 18:53
2008.06.01
Сохранение изображения в двоичном файле


2-1210522045
AntonT
2008-05-11 20:07
2008.06.01
Выполнение процедуры после Form.Close


3-1197633374
Девушка
2007-12-14 14:56
2008.06.01
управление доступом к файлам на сервере посредством бд -клиента