Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

Книги по поиску и индексации   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.05 c
15-1208711350
Andy BitOff
2008-04-20 21:09
2008.06.01
Высказывания знаменитых людей


2-1209888831
Dmitry_177
2008-05-04 12:13
2008.06.01
ADO + Access


4-1189662839
Rustam
2007-09-13 09:53
2008.06.01
Вопрос по оборудованию


4-1189966962
Goric
2007-09-16 22:22
2008.06.01
Изменить свойство монитора


2-1210236064
DimA
2008-05-08 12:41
2008.06.01
Как доработать Splitter ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский