Bazist: Инвертированый индекс потому и называется инвертированым, потому что он перевернут. Это сделано для того, чтобы поиск какого либо слова сводился к одному запросу по хештаблице. Опять таки, у Вас формула какаято странная, да и простыми методами Вы просто так не вычислите потенциал сжатия. Это зависит от многих факторов.
Инвертированный индекс (англ. inverted index) — структура данных, в которой для каждого слова коллекции документов в соответствующем списке перечислены все документы в коллекции, в которых оно встретилось. Инвертированный индекс используется для поиска по текстам.
Тут не в перевернутости дело) ;)
Допустим, вы намекаете, что некоторые слова встречаются только в 1-2 документах. Да! Это так. Но есть слова, которые встречаются почти во всех. Или 10%, допустим. Таких слов - тысячи, а возможно и десятки тысяч.
Так что даже если делать не полную матрицу, а именно списки, всё-равно много получается. Ну а в несжатом виде - таки 560 Тб по канону будет :)
3 байта и 4 байта :) Индексы же должны как-то храниться. В виде чисел, как я предполагаю?)
Ключом выступает слово, велью выступает связной список из набора страниц где это слово встречается.
Ок, я считал в другой плоскости, теперь понятно, как у вас. Теоретически, получается 14 млн слов * 10 млн страниц * 4 (байт) = 560 Тб несжатого индекса :)
Конечно, так в лоб, он очень сильно разреженный получится, однако, сжать в 100000 раз всё-таки врядли получится.
Тогда инвертированный индекс будет равен примерно: 10 млн * 3 (размер индекса по документам) * 4 (размер индекса по словам) * 1000 (среднее количество слов в документе) = 120Гб.
У вас - 4Гб. Какие методики для этого используются?
(Сжатие всё-таки считается не от объема текста, а от объема несжатого индекса. Но у вас всё-равно, очень большой % сжатия).
Вообще сжатие индекса очень полезная штука. Позволяет разместить как можно большие обьемы данных в ОЗУ, увеличить скорость поиска, упростить алгоритмы и свести к минимуму работу с диском.
Я тоже читал теорию :) Но там совсем другие проценты сжатия. У вас - просто фантастика)
Bazist: Что сделано на сегодня, проиндексировано dou.ua (0.5гб html текста) Habrahabr.ru (15гб html текста), Sql.ru (56гб html текста), Lib.rus.ec (250гб текста),
Всего контента: 320гб Результирующий индекс: ~4 гб
Любопытно, как вы добились такого результата? Обычно, инвертированный индекс можно сжать на проценты или в несколько раз. Но чтобы в 100 раз - это необычно и весьма интересно!
Bazist: Из фич для просто инвертированого индекса, пришла например такая идея. Поиск по словарям. Пользователь задает словарь, вес каждого слова в словаре и отискивает все документы, где встречается наибольшее количество слов из словаря. В идеале такой поиск должен отискивать на запросы "ругают ФК Спартак" все страницы где болельщики ругают Спартак (ругают в запросе это не точное вхождение, а словарь слов). Такое гдето уже реализовано ? Стоит ли за это браться ?
Делать - так уж по крупному. Если все ваши расчеты верны, то можно и Яндекс попячить ☝
---------- Добавлено 18.01.2014 в 22:52 ----------
Froolex: ТС веб бетки еще нет? Я бы посоветовал посмотреть в сторону Я.Островов и реализовать что-то подобное в узкой нише. Например те же энциклопедии, проиндексировать википедию и оттачивать на ней релевантность ответов. Постепенно можно государственные сайты индексировать их сейчас достаточно много. Или социальные сети, тот же контакт там можно поиграться с ранжированием по лайкам/репостам. На самом деле много чего можно сделать, главное делать а не слушать флудеров на форумах;-)
Не очень разумный совет, на мой взгляд. Эти данные и так есть, а Яндекс.Острова, сам Яндекс стесняется выкатывать, ибо бред. Да и чтобы они работали, сайты должны эти острова создавать, а пока их создало только полтора говносайта в сети.
Возможно, так и есть! Но для оптимизаторов и владельцев площадок, тема интересная.
kxk: zexis, К стати не в курсе чем реально мы занимаемся под видом "майнинга"? Что-то я начал задумываться, что всё гораздо глобальнее чем кажется...
Например, зачем строить глобальные градирни чтобы обеспечивать расшифровку мирового трафика, платить инженерам и тп сервисам, если можно сделать десяток другой "криптовалют" и наивные люди сами всё сделают с минимальными вложениями для "хозяев".
Моя теория подкреплена как минимум тем что компьютер есть практически в каждом доме на планете, кроме уж совсем отсталых стран + сеть интернет ежегодно как минимум на 15% увеличивает своё присутствие в мире.
Тоже была такая мысль - сеть производит огромное количество расшифрованных sha256 блоков. Наверняка это чем-то полезно, зная что-то.
Скорее всего, конечно, это не какой-то "сатоши" биткойны придумал, а целая группа специалистов и не только по программированию.
А как же продажа под видом золота слитков вольфрама, покрытых золотом? ;)
---------- Добавлено 18.01.2014 в 12:54 ----------
stepak: Смысл в том, что биткона в сети количество всегда одно и тоже, новых не генерируется из неоткуда, а значит он обречен на постоянную дефляцию, курсы постепенно будут расти из - за забытых, потерянных и ненужных некотором денег!
Кто боится дефляции - бегом воскрешать Гайдара. Он вам покажет "дефляцию" 😂
Кстати, лайткойны лучше биткойнов по целому ряду показателей. Советую к ним тоже присмотреться))
А какие труды имеются в виду в данной ситуации?
Оптимизация сайта или собственно улучшение бизнеса с пластиковыми окнами?
Смотрите-ка, Cell думает, что Яндекс оценивает качество бизнеса сайтов 😂
---------- Добавлено 19.01.2014 в 01:55 ----------
То что для Вас отвратительно для других может быть приятно. ИМХО
Каких - "других"? Кто такие, где живут?
Инвертированый индекс потому и называется инвертированым, потому что он перевернут.
Это сделано для того, чтобы поиск какого либо слова сводился к одному запросу по хештаблице.
Опять таки, у Вас формула какаято странная, да и простыми методами Вы просто так не вычислите потенциал сжатия. Это зависит от многих факторов.
Тут не в перевернутости дело) ;)
Допустим, вы намекаете, что некоторые слова встречаются только в 1-2 документах. Да! Это так. Но есть слова, которые встречаются почти во всех. Или 10%, допустим. Таких слов - тысячи, а возможно и десятки тысяч.
Так что даже если делать не полную матрицу, а именно списки, всё-равно много получается. Ну а в несжатом виде - таки 560 Тб по канону будет :)
Что в Вашей формуле 3 и 4 ?
3 байта и 4 байта :) Индексы же должны как-то храниться. В виде чисел, как я предполагаю?)
Ок, я считал в другой плоскости, теперь понятно, как у вас. Теоретически, получается 14 млн слов * 10 млн страниц * 4 (байт) = 560 Тб несжатого индекса :)
Конечно, так в лоб, он очень сильно разреженный получится, однако, сжать в 100000 раз всё-таки врядли получится.
320 гб, допустим, 10 миллионов страниц.
Тогда инвертированный индекс будет равен примерно: 10 млн * 3 (размер индекса по документам) * 4 (размер индекса по словам) * 1000 (среднее количество слов в документе) = 120Гб.
У вас - 4Гб. Какие методики для этого используются?
(Сжатие всё-таки считается не от объема текста, а от объема несжатого индекса. Но у вас всё-равно, очень большой % сжатия).
Вообще сжатие индекса очень полезная штука. Позволяет разместить как можно большие обьемы данных в ОЗУ, увеличить скорость поиска, упростить алгоритмы и свести к минимуму работу с диском.
Я тоже читал теорию :) Но там совсем другие проценты сжатия. У вас - просто фантастика)
Что сделано на сегодня, проиндексировано
dou.ua (0.5гб html текста)
Habrahabr.ru (15гб html текста),
Sql.ru (56гб html текста),
Lib.rus.ec (250гб текста),
Всего контента: 320гб
Результирующий индекс: ~4 гб
Любопытно, как вы добились такого результата? Обычно, инвертированный индекс можно сжать на проценты или в несколько раз. Но чтобы в 100 раз - это необычно и весьма интересно!
Из фич для просто инвертированого индекса, пришла например такая идея.
Поиск по словарям. Пользователь задает словарь, вес каждого слова в словаре и отискивает все документы, где встречается наибольшее количество слов из словаря. В идеале такой поиск должен отискивать на запросы "ругают ФК Спартак" все страницы где болельщики ругают Спартак (ругают в запросе это не точное вхождение, а словарь слов).
Такое гдето уже реализовано ? Стоит ли за это браться ?
Немного похоже на http://news.yandex.ru/advanced.html
Делать - так уж по крупному. Если все ваши расчеты верны, то можно и Яндекс попячить ☝
---------- Добавлено 18.01.2014 в 22:52 ----------
ТС веб бетки еще нет? Я бы посоветовал посмотреть в сторону Я.Островов и реализовать что-то подобное в узкой нише. Например те же энциклопедии, проиндексировать википедию и оттачивать на ней релевантность ответов. Постепенно можно государственные сайты индексировать их сейчас достаточно много. Или социальные сети, тот же контакт там можно поиграться с ранжированием по лайкам/репостам. На самом деле много чего можно сделать, главное делать а не слушать флудеров на форумах;-)
Не очень разумный совет, на мой взгляд. Эти данные и так есть, а Яндекс.Острова, сам Яндекс стесняется выкатывать, ибо бред. Да и чтобы они работали, сайты должны эти острова создавать, а пока их создало только полтора говносайта в сети.
я думаю нет. У меня есть аналогичные сайты, где ссылки не покупались - их яндекс не затронул.
Не бывает даже двух одинаковых сайтов. Где-то вам повезло, где-то нет. А причину вы сами назвали.
Чем-чем. Лохами.
Возможно, так и есть! Но для оптимизаторов и владельцев площадок, тема интересная.
zexis, К стати не в курсе чем реально мы занимаемся под видом "майнинга"? Что-то я начал задумываться, что всё гораздо глобальнее чем кажется...
Например, зачем строить глобальные градирни чтобы обеспечивать расшифровку мирового трафика, платить инженерам и тп сервисам, если можно сделать десяток другой "криптовалют" и наивные люди сами всё сделают с минимальными вложениями для "хозяев".
Моя теория подкреплена как минимум тем что компьютер есть практически в каждом доме на планете, кроме уж совсем отсталых стран + сеть интернет ежегодно как минимум на 15% увеличивает своё присутствие в мире.
Тоже была такая мысль - сеть производит огромное количество расшифрованных sha256 блоков. Наверняка это чем-то полезно, зная что-то.
Скорее всего, конечно, это не какой-то "сатоши" биткойны придумал, а целая группа специалистов и не только по программированию.
Слишком уж гениально использован краудсорсинг.
Не могу понять примину.
Ссылки никогда не покупались.
Не приходило в голову, что это взаимосвязано? ;)
Невозможностью подделки
А как же продажа под видом золота слитков вольфрама, покрытых золотом? ;)
---------- Добавлено 18.01.2014 в 12:54 ----------
Смысл в том, что биткона в сети количество всегда одно и тоже, новых не генерируется из неоткуда, а значит он обречен на постоянную дефляцию, курсы постепенно будут расти из - за забытых, потерянных и ненужных некотором денег!
Кто боится дефляции - бегом воскрешать Гайдара. Он вам покажет "дефляцию" 😂
Кстати, лайткойны лучше биткойнов по целому ряду показателей. Советую к ним тоже присмотреться))