|
|
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток други! Здравы будете! Вот у меня вопросик возник... Надо сделать программку, в которую можно загружать текст. Кроме того, в этой программке необходимо осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности. Здесь непонятно, что значит "сортировать по релевантности", "коэффициент релевантности"... Ведь релевантность - означает соответствие результатов поиска запросу. Чем выше соответствие, тем выше релевантность. В плане контента релевантность – это соответствие описания содержанию. Объясните пожалуйста, не дайте умереть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 18:47:31 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Ну видимо надо придумать систему "баллов", соответствующую релевантности. Наивысший балл - полное совпадение, затем придумать возможные варианты отклонений от точного совпадения и оценить их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 22:01:54 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
"нечеткий поиск", "полнотекстовый поиск", "контекстный поиск" - по этим фразам сделать поиск :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 22:43:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
S.G."нечеткий поиск", "полнотекстовый поиск", "контекстный поиск" - по этим фразам сделать поиск :) точно?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 10:41:26 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Я здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 12:05:16 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotЯ здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? По самому простому алгоритму: "мама мыла раму" релевантность 1, "мама раму" релевантность 0.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 14:52:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
an0nymgnotЯ здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? По самому простому алгоритму: "мама мыла раму" релевантность 1, "мама раму" релевантность 0.5. Вообще не понял, что же необходимо конечному пользователю... Допустим, я пользователь, открыл текст, ввожу МАМА, а мне выпадает список мама мыла раму, мама раму... Примерно так? И как рассчитывать словосочетания с коэффициентом релевантности ? Как условия задавать? Что-то вообще запутался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 16:38:19 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Вообще, ЧТО какой результат должен получить конечный пользователь? мама мыла раму, мама раму, мама мыла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 16:41:25 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Или так: Если ввожу словосочетание "мама мыла раму", то в в первую очередь выпадают часть текстов со словосочетаниями "мама мыла", так что-ли? Ну или хоть ссылку дайте на алгоритмы поиска по релевантности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:15:52 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, Не существует какого-то единого, стандартного или универсального способа расчета релевантности. Этот способ вытекает из требований задачи. В вашем случае - "поиск выбранного слова или словосочетания" понятие релевантности (почти) вырождается. Т.е. есть нужное слово - 1. Нет - 0. Максимум, что может быть посередине - другие словоформы этого же слова. Но нужно их учитывать или нет - из вашего текста неясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:21:08 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, кстати, почитайте тут - http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C и далее по ссылкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:28:30 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
miksoftgnot, Не существует какого-то единого, стандартного или универсального способа расчета релевантности. Этот способ вытекает из требований задачи. В вашем случае - "поиск выбранного слова или словосочетания" понятие релевантности (почти) вырождается. Т.е. есть нужное слово - 1. Нет - 0. Максимум, что может быть посередине - другие словоформы этого же слова. Но нужно их учитывать или нет - из вашего текста неясно. То есть так: Мама мыла - есть нужное слово? мама раму -нет нужного слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:15:27 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotТо есть так: Мама мыла - есть нужное слово? мама раму -нет нужного слова?Откуда ж я могу знать как вам надо? Спрашивайте того, кто вам задачу ставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:21:40 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Надо сделать программу, в которую можно загружать текст. Кроме того, в этой программке необходимо осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности. Вот и вся задача... А если отойти от сложных алгоритмов, интегралов по вычислению релевантности, то как должен осуществляться поиск? Ну например, пользователь ввел в поисковике "мама мыла раму". И ему выпадают ссылки на словосочетания, содержащие данные слова? То есть "мама", "мама мыла", "мама мыла раму","мама раму", "мыла раму"? вводит слово "мама" - ему выпадают слово "мама". вводит словосочетание "мама мыла" - ему выпадают "мама", "мама мыла", "мама мыла раму", "мама раму"? И вообще, откуда я знаю, что пользователь хочет именно сочетание "мама мыла"? Мо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:32:00 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Или можно сделать так: Есть у нас текст, в котором слово "мама" встречается 10 раз, слово "мыла" -10 раз, слово "раму" - 4 раза. Тогда в поисковике при вводе слова "мама мыла раму" будут выводиться словосочетания в таком порядке: "мама", "мама мыла", "мама мыла раму", "мама раму" "мыла раму" Так можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 20:03:13 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Можно по всякому. Все алгоритмы поиска в тексте выдают результат в виде нечёткой оценки. Как сравнивать близость шаблона поиска - и документа это ты можешь сам придумать исходя из задачи. Например можно усложнить поиск введя элемент грамматики. Т.е. рама, раму, рамы.... и т.д. будет отображаться на одну сущность токена. Тогда индекс по документу должен быть очищен от падежей, склонений и т.п. Если тебе очень важно найти жёсткую фразу "мама мыла.." тогда индекс должен быть бюлее тяжёлым. Учитывать порядок токенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 14:44:31 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
О! Представим себе, что словосочетания находятся в каком -либо поле в таблице БД. Скажем, есть у нас таблица work. В ней есть поля - id(уникальный идентификатор, можно сделать в виде даты), description (описание работ). В поле description и находятся описания работы нашей мамы) Структура примерно такая id Description 1.01 мама мыла раму 2.01 мама мыла пол 3.01 мама мыла шкаф 4.01 мама мыла люстру 5.01 мама раму запечатывала Как видим, словосочетание "мама мыла" встречается гораздо чаще, следовательно, оно будет более релевантным. А словосочетание "мама раму" - менее релевантно. У слова "мама" получается вообще релевантность 100% ) Так вот, как это сформировать в виде запроса SQL с учетом релевантности каждого слова? И соответственно вывести результат) Как я понял, результат должен выводиться в соотвествии с релевантностью: на первом месте - более релевантные словосочетания, на втором -менее и тд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 23:17:04 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotО! Представим себе, что словосочетания находятся в каком -либо поле в таблице БД. Здесь - архитектурный просчёт. Поисковые системы по тексту так не проектируются. Если вы хотите обсуждать термин релевантность - это одно. А если вы фантазируете на тему, как работает TextSearch - то скорее всего ошибаетесь. Я вообще не понимаю в чём смысл такого (очевидно ненормализованного) хранения данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 23:37:15 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
А из самой постановки задачи. Вот "Написать приложение, позволяющее заводить в программу данные, содержащие текст. Данные должны храниться в базе данных. Программа должна позволять просматривать документы и осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности " Как это понимать? Что здесь подразумевается под данными, под текстом? Как они должны быть структурированы? Ну и пр и пр... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:21:51 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
для меня это что-то из области "Э! Слыыышь! Там короче... ээээ... Ну ты понял!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:31:26 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
тут можно по-всякому понимать. Либо документы должны храниться в БД, либо какие-то данные должны извлекаться из БД, а помто внедряться в документы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:34:01 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Какую СУБД ты планируешь использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:37:40 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
да простейшую -MS Access) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:12:19 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Вам надо рассмотреть возможность использования более сильной СУБД (PostgreSQL, MySQL под Windows). У них по крайней мере существует опция textsearch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:18:44 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
ну поскольку не сказано, какую именно надо СУБД... Просто ближе к делу - как Вы видите поставленную задачу? Что откуда надо извлечь? Как понял, надо запросом вывести из БД какие-то данные, отобразить их в программе в текстовом виде. Сделать возможность поиска неких словосочетаний с учетом релевантности. Под релевантностью я понял так: если есть в запросе, в словосочетании три слова, то первые два слова имеют большую релевантность, чем первое и третье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:25:07 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
У тебя слабая теоретическая база. Почитай для начала в энциклопедии по Full_text_search . Разберись что такое tokens, keywords, text index, queru language. Изучи возможности текстового поиска в уже готовых решениях (среди них есть даже бесплатные). В противном случае, все твои попытки создать текстовый поиск на базе РСУБД Аксцесс выглядят профанацией. TextSearch "не равно" запросу по таблице. Это мой основной тезис. Всё. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:36:51 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot "Написать приложение, позволяющее заводить в программу данные, содержащие текст. Данные должны храниться в базе данных. Программа должна позволять просматривать документы и осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности " Как это понимать? Что здесь подразумевается под данными, под текстом? Как они должны быть структурированы? Ну и пр и пр... чего тут понимать? если речь о похожести/совпадении словосочетаний - это fulltextsearch. читай тут . что характерно уже все готовое. задача реализуема за пару часов после прочтения. на пятерку с плюсом можно еще пользовательский ispell-словарь добавить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 13:16:28 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
хорошо) почитаем) ну что делать.... раз теоретическая база такая... не каждую неделю приходится писать поисковики... Тем более, если круглый год только веб-версткой занимаешься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 18:32:37 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytonУ тебя слабая теоретическая база. Почитай для начала в энциклопедии по Full_text_search . Разберись что такое tokens, keywords, text index, queru language. Изучи возможности текстового поиска в уже готовых решениях (среди них есть даже бесплатные). В противном случае, все твои попытки создать текстовый поиск на базе РСУБД Аксцесс выглядят профанацией. TextSearch "не равно" запросу по таблице. Это мой основной тезис. Всё. Успехов. Конечно немного стыдно, но можно объяснить своими словами, что такое fulltext-поиск? Знаю, что есть в SQL такие операторы, но как это все работает... Тем более, что Вы говорите, что работы там на два часа...А то голова кругом идет уже от разных реализаций этого поиска, терминологии.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 19:14:21 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot Конечно немного стыдно, но можно объяснить своими словами, что такое fulltext-поиск? Знаю, что есть в SQL такие операторы, но как это все работает... почитай ту ссылку что я дал. коротко говорят, он работает как раз так, как тебе надо ;) gnot Тем более, что Вы говорите, что работы там на два часа... это я говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 19:53:27 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
ну а на русском инфы, как понял нет) английским не очень владею) всеюжизнь дойч учил) только со словарем, но он так переводит весело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 21:10:23 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotну а на русском инфы, как понял нет) английским не очень владею) всеюжизнь дойч учил) только со словарем, но он так переводит весело... Думаю, что на русском - есть. Вообще это тебе тема для самостоятельного изучения. Вряд-ли кто-то разжуёт тебе текстовый поиск, особенно в условиях твоей сложной постановки. Читай, думай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 21:28:23 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytongnotну а на русском инфы, как понял нет) английским не очень владею) всеюжизнь дойч учил) только со словарем, но он так переводит весело... Думаю, что на русском - есть. Вообще это тебе тема для самостоятельного изучения. Вряд-ли кто-то разжуёт тебе текстовый поиск, особенно в условиях твоей сложной постановки. Читай, думай. Издеваетесь) для меня то конечно сложная) Это для вас -раз плюнуть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 21:36:26 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
ну все таки... Что в моем случае-то надо? Во-первых, откуда брать данные? Из таблиц БД или из текстовых документов, которые хранятся в БД? Тут пытаюсь понять, ЧТО собственно нам надо загрузить в программу и ОТКУДА... Потом, SQL я более-менее знаю, что такое Index и пр. Но вот команду FULLTEXT не понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 21:55:01 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Почитай как это делается в Оракле. http://www.oracle.com/technology/pub/articles/asplund-textsearch.html В PostgreSQL: http://www.postgresql.org/docs/8.3/static/textsearch.html В MySQL: http://devzone.zend.com/article/1304 В прикладной библиотеке Lucene: http://lucene.apache.org/java/3_0_0/api/demo/index.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 22:47:14 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
почитаю) ок) Только это тк сказать, инструменты... Мне надо определиться, ГДЕ искать... Как я понял из постановки задачи понял, что надо тянуть из некой БД некие данные. Не сказано так же, как их отобразить, в каком виде.. Так же абсолютно ничего не сказано о том, какая там структура. Вот и предположил выше гипотезу о том, что есть некая таблица: id Description 1.01 мама мыла раму 2.01 мама мыла пол Может не прав, но появляется аналогия такая: Прежде чем построить дом, нужно его сначала четко представлять, каким он будет, сколько этажей, в каком стиле и пр.. И потом решать, какую марку цемента выбрать, какие применять инструменты для строительства... А если дать архитектору задание типа "построй двух-этажный дом с окнами, но чтобы были самые профессиональные строители, самая лучшая марка цемента, самая лучшая облицовка". Архитектор, конечно же, задаст кучу вопросов про то, сколько должно быть окон, в каком стиле нужно строить, какие размеры должны быть и пр.... А если на это заказчик ответит что-то типа - "вы же архитектор! Вы это должны знать!". То что тогда? Вот так и я подхожу к разработке... Не знаю, может я и не прав... Но заведи в программу "что-то", "откуда-то", отсортируй "как-то"... С последним еще понятно, а вот с остальным... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 13:46:43 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, А может вам уже готовый внешний движок прикрутить? Персональный поиск Яндекса , Яндекс.Сервер или Google Desktop. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 13:55:23 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
да можно что угодно прикрутить... Вы лучше пока помогите определиться, ОТКУДА мы должны брать данные и в каком виде загружать в программу? Как я понял, что мы тянем их из БД. Причем не сказано ничего ни про структуру, ни про организацию, ни про то, какие данные там хранятся. Поэтому имею право предложить свой вариант (id, description). Далее. Описание загружаю в простой текстовый формат. В текстовый редактор или что-то наподобие. И в нем уже могу делать поиск, редактировать. Я правильно сформулировал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 14:07:46 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Я пока даже не понял, вам нужен поиск текстов среди их множества или поиск определенных фраз/слов в одном тексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 14:14:15 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, ты очень странный разработчик. Ты спрашиваешь ОТКУДА брать? Ну ясен пень, тебе должны дать тестовые данные. Это обсуждается с заказчиком. Или ты должен сам ПРИДУМАТЬ тестовые данные, но предупредить заказчика что это будет нерепрезентативно. Далее. Ты спрашиваешь в КАКОМ виде загружать. Отвечаю. Если тебе ДАНЫ исходные данные в ТЕКСТОВОМ формате то их всегда можно загрузить в любую СУБД. Если ты УЖЕ определился с тем КАКУЮ СУБД ты берёш - кури примеры которые я указал. В одной из них текстовые данные грузятся в BLOB-поля, в текстовые поля и т.д. И самое важное. Ты должен уметь КОНВЕРТИРОВАТЬ данные из текста в бинарь и обратно, из byte-ANSI,Win1251,cp855.... в unicode и ОБРАТНО, фильтровать средствами СУБД/языка разработки. Но эти вопросы в теме даже не обсуждаются!!! Предполагается что ты это УЖЕ умеешь делать! Если тебе УЖЕ ДАНЫ данные в БИНАРНОМ формате, ты должен обсужить с заказчиком как с ними работать (драйвер-библиотека), как ИНТЕРПРЕТИРОВАТЬ бинарные поля и т.д. Понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 14:23:52 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytongnot, ты очень странный разработчик. Ты спрашиваешь ОТКУДА брать? Ну ясен пень, тебе должны дать тестовые данные. Это обсуждается с заказчиком. Или ты должен сам ПРИДУМАТЬ тестовые данные, но предупредить заказчика что это будет нерепрезентативно. Далее. Ты спрашиваешь в КАКОМ виде загружать. Отвечаю. Если тебе ДАНЫ исходные данные в ТЕКСТОВОМ формате то их всегда можно загрузить в любую СУБД. Если ты УЖЕ определился с тем КАКУЮ СУБД ты берёш - кури примеры которые я указал. В одной из них текстовые данные грузятся в BLOB-поля, в текстовые поля и т.д. Понял? Понял. Но не понял, какие именно будут ТЕКСТОВЫЕ ДАННЫЕ. Как они должны быть стурктурированны? Что подразумевается под текстовыми данными? Если нужно загрузить в программу сборник сочинений Пушкина - это одно. Если короткий текст типа описание - то совсем другое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 15:21:37 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
А у тебя что? Текст Пушкина? Или камент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 15:35:56 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
В том то и дело, что об этом ничего не сказано) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 15:38:54 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Тогда зачем ты себе сушишь голову тем, чего не можешь знать? Делай общую постановку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 16:04:21 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytonТогда зачем ты себе сушишь голову тем, чего не можешь знать? Делай общую постановку. Это как? Вот выдержка их вики: " Полноте́кстовый по́иск — поиск документа в базе данных текстов на основании содержимого этих документов, а также совокупность методов оптимизации этого процесса. " Вот, что здесь подразумевается под документами? Что это за документы? Любые документы, в том числе в формате MsWord? Сорри конечно, может быть, достаточно глупые вопросы задаю... Но с БД работаю лишь на уровне запросов в таблицы, объекты, где информация структурирована. Ну то есть различные запросы к полям таблиц, модификацию, создание и пр) У нас Документум - там вообще запросы на уровне объектов) Ну конечно, документы типа Word(да и вообще любые) тоже есть в контенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 16:25:54 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Я наверное тебя сильно удивлю, но индексирование документов MS-Word принципиально ничем не отличается от индексирования text/plan файлов. Разница в том, что Word-документы проходят фильтрацию. Из них полностью "выметается" дизайн и форматирование. Остаётся плоский текст. Правда здесь можно усложнить индексирование, если зацепитьзя за мета-теги, которые содержит документ. Это опционально и зависит от твоей задачи. Будешь-ли ты искать по мета-тегам или по контенту. Т.е. обобщая индексирование текстов и доков: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Фильтрация MS-Word документов - это отдельная тема. Мы её рассматривать не будем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 16:37:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
ну ладно) А поиск надо сделать по названию файла, или по содержимому файла? Может конечно туплю, но совсем запутался... Кучу сылок читаю сейчас про полнотекстовый поиск в оракл и пр... Чувствую, еще больше не понял, что же все таки надо искать... По атрибутам документа или в содержаниии.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 17:06:54 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Это твоя постановка. Как хочешь - так и делай. Но если цель найти имя файла то имена тоже надо добавлять в базу дополнительным атрибутом. Но главный поиск должен идти по content-у. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 17:45:20 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytonЭто твоя постановка. Как хочешь - так и делай. Но если цель найти имя файла то имена тоже надо добавлять в базу дополнительным атрибутом. Но главный поиск должен идти по content-у. По контенту уже открытого файла?) То есть, нашли мы его в БД, открыли в текстовом нашем редакторе и там ищем слова, словосочетания?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 17:47:27 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Блин парень! Определись на чём ты будешь писать. Я больше тебя не могу консультировать по сферическому коню в вакууме! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 17:58:36 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytonБлин парень! Определись на чём ты будешь писать. Я больше тебя не могу консультировать по сферическому коню в вакууме! блин надо сначала определиться, что мы хотим написать. А потом уже на чем! Ну на яве+Оракл для БД) И что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 18:09:43 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Отлично. Тогда ты можешь обойтись вообще без СУБД. Читал про Lucene? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 18:20:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytonОтлично. Тогда ты можешь обойтись вообще без СУБД. Читал про Lucene? Конечно стыдно, но не читал) Но в задании сказано про базы данных.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 18:56:46 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
это свободная библиотека для высокоскоростного полнотекстового поиска, написанная на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 19:02:38 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Так. 1) Полноте́кстовый по́иск -поиск документа в базе данных текстов на основании содержимого этих документов, а также совокупность методов оптимизации этого процесса Современные алгоритмы заранее формируют для поиска так называемый полнотекстовый индекс — словарь, в котором перечислены все слова и указано, в каких местах они встречаются. При наличии такого индекса достаточно осуществить поиск нужных слов в нём и тогда сразу же будет получен список документов, в которых они встречаются 2) Текстовые возможности СУБД Oracle основаны на использовании специального вида индекса, являющегося одним из встроенных в систему вариантов «предметного» индекса (domain index), используемого для организации работы со сложно устроенными данными. Oracle Text имеет в готовом виде три вида текстового индекса: * CTXSYS.CONTEXT - для выполнения полнотекстового поиска по текстовым документам; То есть, CTXSYS.CONTEXT - это и есть тот самый полнотекстовый индекс — словарь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 19:08:10 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotТекстовые возможности СУБД Oracle основаны на использовании специального вида индекса, являющегося одним из встроенных в систему вариантов «предметного» индекса (domain index), используемого для организации работы со сложно устроенными данными. Oracle Text имеет в готовом виде три вида текстового индекса: * CTXSYS.CONTEXT - для выполнения полнотекстового поиска по текстовым документам; То есть, CTXSYS.CONTEXT - это и есть тот самый полнотекстовый индекс — словарь? Вобщем ты двигаешься в правильном направлении. Только задаёшь слишком сложные формулировки вопросов. Какая вобшем-то разница предметный он или доменный. Забей. Эти определения ровным счётом ничего не значат для твоей работы. Читай примеры. Изучай. Дальше я тебе не помошник. Понадобится конкретный вопрос по OracleText - подними новую ветку. Ну всё. Оревуар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2010, 23:18:14 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Вот! Сделаю так. http://www.citforum.ru/database/articles/rel_search.shtml По этому принципу. То есть таблица с Document (имя документа, расположение в файловой системе,), Term(поле-список терминов-фраз), таблица Term_in_Doc-термины в документах(содержит частоту вхождения тех или иных фраз в тот или иной документ). Но мы имеем только частоту вхождения той или иной фразы в тот или иной документ... То есть, может частота вхождения в документ фразы служить критерием релевантности?????? Или еще надо что-то накрутить? Например, не по частоте, а по какому-то другому критерию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 22:10:34 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
или вообще по тупому сделать: в БД таблицу ТЕРМИНОЛОГИЯ с полями: id фраза релевантность И у для каждой фразы ставить соответственно число(в поле релевантность). Чем больше это число, тем больше релевантность Так хоть можно??? Конечно тупо, но зачем замудряться, если в задании о большем не сказано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 23:12:05 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
maytongnotО! Представим себе, что словосочетания находятся в каком -либо поле в таблице БД. Здесь - архитектурный просчёт. Поисковые системы по тексту так не проектируются. Если вы хотите обсуждать термин релевантность - это одно. А если вы фантазируете на тему, как работает TextSearch - то скорее всего ошибаетесь. Я вообще не понимаю в чём смысл такого (очевидно ненормализованного) хранения данных. хм... Вроде как примерно так и делается... Вот примеры: http://www.citforum.ru/database/oracle/oratext_easy/ http://www.citforum.ru/database/articles/rel_search.shtml Или я чего-то не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 18:12:19 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1343863]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
96ms |
get tp. blocked users: |
2ms |
| others: | 187ms |
| total: | 503ms |

| 0 / 0 |
