SlideShare a Scribd company logo
Drupal .= Яндекс.Сервер; ,[object Object]
Кого не хватает?
Вот он FreeBSD  6.3, 7.0 (32/64) Linux  2.6.x (32/64) Windows  2000/XP/2003 (32/64) Файлы HTTP Базы данных (ODBC) Русский  Быстрый  Гибкий
Это и другое ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Установка (Linux) $  sudo  dpkg -i Yandex_Server-2010.9.0-Linux-x86_64.deb $ cat /usr/local/etc/yandex/yandex.cfg $  sudo  /etc/init.d/yandex-server.sh  re start http://api.yandex.ru/server/doc/concepts/y-server-ee.xml#quickstart
Язык запросов http://help.yandex.ru/search/?id=1111313 http://api.yandex.ru/server/doc/concepts/query-zones-and-attributes-search.xml
Как обычно устроен поиск Модуль индексирования Индекс Модуль поиска Поиск
Есть такой модуль ...
... yserver Сейчас:  http://drupal.org/sandbox/Mir/1343080 Ожидается:  http://drupal.org/project/yserver ,[object Object],[object Object],[object Object],[object Object]
Выгрузка для индексирования http://your_drupal_site.ru / yserver-dump ? mode=force_new & type=strict http://your_drupal_site.ru/yserver-dump? mode=update & type=queue http://your_drupal_site.ru/yserver-dump? mode=force_new & type=queue Cron: */30 * * * * /usr/bin/wget -O - -q -t 1http://your_drupal_.site.ru/yserver-dump?mode=update&type=queue&& /path_to_yserver_script/yserver.sh reindex
Выгрузилось для индексирования
Области индексирования function  your_module_init() { if (function_exists( 'yserver_remove_areas' )) { // Удалим все определенные  // ранее области индексирования. yserver_remove_areas(); your_module_set_area( 'node' , array( 'your_module_get_node_ilist' ), array( 'yserver_get_node_idata' )); }} ...
Задание области индексирования function  your_module_get_node_ilist() { $query  =  " SELECT  nid, changed  FROM  {node} WHERE  status = 1 " ; $result  = db_query( $query ); $nids  = array(); foreach  ( $result   as   $record ) { $nids [ $record ->nid] =  $record ->changed; } return   $nids ; } Получить список (id => время изменения)
Задание области индексирования function  your_module_get_node_idata ( $nid ) { $node  = node_load( $nid ); $icontent  =  '<h1>'  .  $node ->title .  '</h1>' . render(node_view( $node ,  'full' )); $ialias  = drupal_get_path_alias(  'node/'  .  $nid ); return array( 'content'  =>  $icontent , 'attrs'  => array( 'ys_title'  =>  $node->title , 'ys_link'   =>  $ialias , )); } Получить для id контент и атрибуты
“ Чистая” форма поиска function  your_module_form_search_block_form_alter(& $form , $form_state)  { $form [ '#submit' ] = array( 'your_module_search_box_form_submit' ); } function  your_module_search_box_form_submit( $form , & $form_state )  { $form_id  =  $form [ 'form_id' ][ '#value' ]; // Текст из поисковой формы. $keys  =  $form_state [ 'values' ][ $form_id ]; $path  =  'search/yserver/' . trim( $keys  .  '@ysoutbox@ys_area:node_article' ); //$path .= ' ys_tag:football' ; $form_state [ 'redirect' ] =  $path ; } URL (строка браузера): http://your_drupal_site.ru/search/yserver/зенит чемпион @ysoutbox@ ys_area:node_article Поисковая форма: зенит чемпион
Вывод данных в SERP template.php: function  your_theme_preprocess_search_result(& $variables ) { dvm( $variables [ 'result' ][ 'ys_attrs' ]); } search-result.tpl.php: print  $ys_attrs [ 'type' ] .  ', ' .  $ys_attrs [ 'subtype' ] . ':::' .  $ys_attrs [ 'address' ]; print  $snippet ;
Конец СПАСИБО!

More Related Content

What's hot

Интуит. Разработка приложений для iOS. Лекция 8. Работа с данными
Интуит. Разработка приложений для iOS. Лекция 8. Работа с даннымиИнтуит. Разработка приложений для iOS. Лекция 8. Работа с данными
Интуит. Разработка приложений для iOS. Лекция 8. Работа с даннымиГлеб Тарасов
 
09 - Hadoop. Pig
09 - Hadoop. Pig09 - Hadoop. Pig
09 - Hadoop. Pig
Roman Brovko
 
Entity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланEntity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай Руслан
DrupalSib
 
Юрий Гольцев - Сервис PLWWW
Юрий Гольцев - Сервис PLWWWЮрий Гольцев - Сервис PLWWW
Юрий Гольцев - Сервис PLWWWPositive Hack Days
 
plwww (24.03) MEPHI (PHDays)
plwww (24.03) MEPHI (PHDays)plwww (24.03) MEPHI (PHDays)
plwww (24.03) MEPHI (PHDays)ygoltsev
 
14 - Hadoop. Фреймворк Spark
14 - Hadoop. Фреймворк Spark14 - Hadoop. Фреймворк Spark
14 - Hadoop. Фреймворк Spark
Roman Brovko
 
Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2
Ilyas Salikhov
 
Perl – жив?!
Perl – жив?!Perl – жив?!
Perl – жив?!
Anatoly Sharifulin
 
13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark
Roman Brovko
 
YiiConf 2012 - Alexander Makarov - Yii2, что нового
YiiConf 2012 - Alexander Makarov - Yii2, что новогоYiiConf 2012 - Alexander Makarov - Yii2, что нового
YiiConf 2012 - Alexander Makarov - Yii2, что новогоAlexander Makarov
 
Yii 2. Что нового?
Yii 2. Что нового?Yii 2. Что нового?
Yii 2. Что нового?
yiiconf
 
Perl 5.10 и 5.12
Perl 5.10 и 5.12Perl 5.10 и 5.12
Perl 5.10 и 5.12
Andrew Shitov
 
Hacking PostgreSQL. Физическое представление данных
Hacking PostgreSQL. Физическое представление данныхHacking PostgreSQL. Физическое представление данных
Hacking PostgreSQL. Физическое представление данных
Anastasia Lubennikova
 
Present saint-per3-by-pavel-vlasov
Present saint-per3-by-pavel-vlasovPresent saint-per3-by-pavel-vlasov
Present saint-per3-by-pavel-vlasov
Pavel Vlasov
 
Jquery selector optimization in drupal
Jquery selector optimization in drupalJquery selector optimization in drupal
Jquery selector optimization in drupalYury Glushkov
 
пабсаб презентейшн
пабсаб презентейшнпабсаб презентейшн
пабсаб презентейшнAlexey Osipenko
 
Caching on highload Drupal site - Alexander Shumenko
Caching on highload Drupal site - Alexander ShumenkoCaching on highload Drupal site - Alexander Shumenko
Caching on highload Drupal site - Alexander Shumenko
DrupalCampDN
 
лабораторная работа №9
лабораторная работа №9лабораторная работа №9
лабораторная работа №9Zhanna Kazakova
 
PHP basic
PHP basicPHP basic
PHP basic
Noveo
 

What's hot (20)

Интуит. Разработка приложений для iOS. Лекция 8. Работа с данными
Интуит. Разработка приложений для iOS. Лекция 8. Работа с даннымиИнтуит. Разработка приложений для iOS. Лекция 8. Работа с данными
Интуит. Разработка приложений для iOS. Лекция 8. Работа с данными
 
09 - Hadoop. Pig
09 - Hadoop. Pig09 - Hadoop. Pig
09 - Hadoop. Pig
 
Entity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай РусланEntity возрождение легенды. Исай Руслан
Entity возрождение легенды. Исай Руслан
 
Юрий Гольцев - Сервис PLWWW
Юрий Гольцев - Сервис PLWWWЮрий Гольцев - Сервис PLWWW
Юрий Гольцев - Сервис PLWWW
 
plwww (24.03) MEPHI (PHDays)
plwww (24.03) MEPHI (PHDays)plwww (24.03) MEPHI (PHDays)
plwww (24.03) MEPHI (PHDays)
 
14 - Hadoop. Фреймворк Spark
14 - Hadoop. Фреймворк Spark14 - Hadoop. Фреймворк Spark
14 - Hadoop. Фреймворк Spark
 
Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2Расширенное кеширование в Doctrine2
Расширенное кеширование в Doctrine2
 
Perl – жив?!
Perl – жив?!Perl – жив?!
Perl – жив?!
 
13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark
 
YiiConf 2012 - Alexander Makarov - Yii2, что нового
YiiConf 2012 - Alexander Makarov - Yii2, что новогоYiiConf 2012 - Alexander Makarov - Yii2, что нового
YiiConf 2012 - Alexander Makarov - Yii2, что нового
 
Yii 2. Что нового?
Yii 2. Что нового?Yii 2. Что нового?
Yii 2. Что нового?
 
Perl 5.10 и 5.12
Perl 5.10 и 5.12Perl 5.10 и 5.12
Perl 5.10 и 5.12
 
Hacking PostgreSQL. Физическое представление данных
Hacking PostgreSQL. Физическое представление данныхHacking PostgreSQL. Физическое представление данных
Hacking PostgreSQL. Физическое представление данных
 
Present saint-per3-by-pavel-vlasov
Present saint-per3-by-pavel-vlasovPresent saint-per3-by-pavel-vlasov
Present saint-per3-by-pavel-vlasov
 
Jquery selector optimization in drupal
Jquery selector optimization in drupalJquery selector optimization in drupal
Jquery selector optimization in drupal
 
пабсаб презентейшн
пабсаб презентейшнпабсаб презентейшн
пабсаб презентейшн
 
Caching on highload Drupal site - Alexander Shumenko
Caching on highload Drupal site - Alexander ShumenkoCaching on highload Drupal site - Alexander Shumenko
Caching on highload Drupal site - Alexander Shumenko
 
Приручаем linux-консоль
Приручаем linux-консольПриручаем linux-консоль
Приручаем linux-консоль
 
лабораторная работа №9
лабораторная работа №9лабораторная работа №9
лабораторная работа №9
 
PHP basic
PHP basicPHP basic
PHP basic
 

Similar to Интеграция Яндекс Сервер

Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.DrupalCampDN
 
UWDC 2013, Yii2
UWDC 2013, Yii2UWDC 2013, Yii2
UWDC 2013, Yii2
Alexander Makarov
 
XML Native Database на примере SednaXML
XML Native Database на примере SednaXMLXML Native Database на примере SednaXML
XML Native Database на примере SednaXMLSlach
 
Jsfwdays 2013-2
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2
Pavlo Iuriichuk
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Vladimir Kochetkov
 
Js Http Request дмитрий котеров
Js Http Request   дмитрий котеровJs Http Request   дмитрий котеров
Js Http Request дмитрий котеровMedia Gorod
 
ZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf Conference
 
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Symfoniacs
 
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)ZFConf Conference
 
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf Conference
 
Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupal
it-people
 
Взломать сайт на ASP.NET
Взломать сайт на ASP.NETВзломать сайт на ASP.NET
Взломать сайт на ASP.NET
Positive Hack Days
 
Ubercart -nemnogo_primerov_iz_zhizni
Ubercart  -nemnogo_primerov_iz_zhizniUbercart  -nemnogo_primerov_iz_zhizni
Ubercart -nemnogo_primerov_iz_zhiznidrupalconf
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoMagecom Ukraine
 
Страх и ненависть в исходном коде
Страх и ненависть в исходном кодеСтрах и ненависть в исходном коде
Страх и ненависть в исходном коде
Kolya Korobochkin
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf Conference
 
LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)
Sergey Skvortsov
 
Что нового в PHP-5.3
Что нового в PHP-5.3 Что нового в PHP-5.3
Что нового в PHP-5.3 phpclub
 

Similar to Интеграция Яндекс Сервер (20)

Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.Импорт данных с фреймворком Migrate. Владислав Богатырев.
Импорт данных с фреймворком Migrate. Владислав Богатырев.
 
UWDC 2013, Yii2
UWDC 2013, Yii2UWDC 2013, Yii2
UWDC 2013, Yii2
 
XML Native Database на примере SednaXML
XML Native Database на примере SednaXMLXML Native Database на примере SednaXML
XML Native Database на примере SednaXML
 
Jsfwdays 2013-2
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
 
Js Http Request дмитрий котеров
Js Http Request   дмитрий котеровJs Http Request   дмитрий котеров
Js Http Request дмитрий котеров
 
ZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and DoctrineZFConf 2010: Zend Framework and Doctrine
ZFConf 2010: Zend Framework and Doctrine
 
Render API.
Render API.Render API.
Render API.
 
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
Расширенное кеширование Doctrine2 (Ильяс Салихов, Intaro)
 
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)
ZFConf 2010: Zend Framework & MVC, Model Implementation (Part 1)
 
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to UsZFConf 2010: What News Zend Framework 2.0 Brings to Us
ZFConf 2010: What News Zend Framework 2.0 Brings to Us
 
Семинар-практикум по Drupal
Семинар-практикум по DrupalСеминар-практикум по Drupal
Семинар-практикум по Drupal
 
Взломать сайт на ASP.NET
Взломать сайт на ASP.NETВзломать сайт на ASP.NET
Взломать сайт на ASP.NET
 
Ubercart -nemnogo_primerov_iz_zhizni
Ubercart  -nemnogo_primerov_iz_zhizniUbercart  -nemnogo_primerov_iz_zhizni
Ubercart -nemnogo_primerov_iz_zhizni
 
Реализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в MagentoРеализация шаблонов корпоративных приложений в Magento
Реализация шаблонов корпоративных приложений в Magento
 
Страх и ненависть в исходном коде
Страх и ненависть в исходном кодеСтрах и ненависть в исходном коде
Страх и ненависть в исходном коде
 
Ci
CiCi
Ci
 
ZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and MultilingualZFConf 2010: Zend Framework and Multilingual
ZFConf 2010: Zend Framework and Multilingual
 
LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)LDAP in infrastructure (RootConf 2009)
LDAP in infrastructure (RootConf 2009)
 
Что нового в PHP-5.3
Что нового в PHP-5.3 Что нового в PHP-5.3
Что нового в PHP-5.3
 

More from PVasili

Как зарабатывать друпал разработчику. Клют Иван
Как зарабатывать друпал разработчику. Клют ИванКак зарабатывать друпал разработчику. Клют Иван
Как зарабатывать друпал разработчику. Клют ИванPVasili
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Business friendly Drupal, Павел Прищепа
Business friendly Drupal, Павел ПрищепаBusiness friendly Drupal, Павел Прищепа
Business friendly Drupal, Павел ПрищепаPVasili
 
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...PVasili
 
Drupal and the keys to successful communities. Martin Mayer
Drupal and the keys to successful communities. Martin MayerDrupal and the keys to successful communities. Martin Mayer
Drupal and the keys to successful communities. Martin MayerPVasili
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлPVasili
 
фотосток на Drupal+maestro Житарёв Антон
фотосток на Drupal+maestro Житарёв Антонфотосток на Drupal+maestro Житарёв Антон
фотосток на Drupal+maestro Житарёв АнтонPVasili
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилPVasili
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьPVasili
 
Object oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodObject oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodPVasili
 
Drupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинDrupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинPVasili
 
Практическое использование модуля Panels. Богуцкий Виктор
Практическое использование модуля Panels. Богуцкий ВикторПрактическое использование модуля Panels. Богуцкий Виктор
Практическое использование модуля Panels. Богуцкий ВикторPVasili
 
Кеширование на высоконагруженном Drupal сайте. Архаров Роман
Кеширование на высоконагруженном Drupal сайте. Архаров РоманКеширование на высоконагруженном Drupal сайте. Архаров Роман
Кеширование на высоконагруженном Drupal сайте. Архаров РоманPVasili
 
Опыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на DrupalОпыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на Drupal
PVasili
 
Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.
PVasili
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и Drupal
PVasili
 
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeterНагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
PVasili
 
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal CommerceПоисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
PVasili
 
Инструментарий продвинутого командного разработчика
Инструментарий продвинутого командного разработчикаИнструментарий продвинутого командного разработчика
Инструментарий продвинутого командного разработчика
PVasili
 
Приём платежей для CMS
Приём платежей для CMSПриём платежей для CMS
Приём платежей для CMS
PVasili
 

More from PVasili (20)

Как зарабатывать друпал разработчику. Клют Иван
Как зарабатывать друпал разработчику. Клют ИванКак зарабатывать друпал разработчику. Клют Иван
Как зарабатывать друпал разработчику. Клют Иван
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Business friendly Drupal, Павел Прищепа
Business friendly Drupal, Павел ПрищепаBusiness friendly Drupal, Павел Прищепа
Business friendly Drupal, Павел Прищепа
 
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
построение внутренней ссылочной структуры сайта на Drupal 7 (seo). Костин ...
 
Drupal and the keys to successful communities. Martin Mayer
Drupal and the keys to successful communities. Martin MayerDrupal and the keys to successful communities. Martin Mayer
Drupal and the keys to successful communities. Martin Mayer
 
инструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэлинструкция по оптимизации сайтов на Drupal херени даниэл
инструкция по оптимизации сайтов на Drupal херени даниэл
 
фотосток на Drupal+maestro Житарёв Антон
фотосток на Drupal+maestro Житарёв Антонфотосток на Drupal+maestro Житарёв Антон
фотосток на Drupal+maestro Житарёв Антон
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек Михаил
 
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов ИгорьНепрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
Непрерывная интеграция шаг к непрерывному деплою. Родионов Игорь
 
Object oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodObject oriented css. Graeme Blackwood
Object oriented css. Graeme Blackwood
 
Drupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин КонстантинDrupal и мобильные устройства, Комелин Константин
Drupal и мобильные устройства, Комелин Константин
 
Практическое использование модуля Panels. Богуцкий Виктор
Практическое использование модуля Panels. Богуцкий ВикторПрактическое использование модуля Panels. Богуцкий Виктор
Практическое использование модуля Panels. Богуцкий Виктор
 
Кеширование на высоконагруженном Drupal сайте. Архаров Роман
Кеширование на высоконагруженном Drupal сайте. Архаров РоманКеширование на высоконагруженном Drupal сайте. Архаров Роман
Кеширование на высоконагруженном Drupal сайте. Архаров Роман
 
Опыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на DrupalОпыт построения компании-разработчика Интернет проектов на Drupal
Опыт построения компании-разработчика Интернет проектов на Drupal
 
Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.
 
Microsoft , Azure и Drupal
Microsoft , Azure и DrupalMicrosoft , Azure и Drupal
Microsoft , Azure и Drupal
 
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeterНагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
 
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal CommerceПоисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
 
Инструментарий продвинутого командного разработчика
Инструментарий продвинутого командного разработчикаИнструментарий продвинутого командного разработчика
Инструментарий продвинутого командного разработчика
 
Приём платежей для CMS
Приём платежей для CMSПриём платежей для CMS
Приём платежей для CMS
 

Интеграция Яндекс Сервер

  • 1.
  • 3. Вот он FreeBSD 6.3, 7.0 (32/64) Linux 2.6.x (32/64) Windows 2000/XP/2003 (32/64) Файлы HTTP Базы данных (ODBC) Русский Быстрый Гибкий
  • 4.
  • 5. Установка (Linux) $ sudo dpkg -i Yandex_Server-2010.9.0-Linux-x86_64.deb $ cat /usr/local/etc/yandex/yandex.cfg $ sudo /etc/init.d/yandex-server.sh re start http://api.yandex.ru/server/doc/concepts/y-server-ee.xml#quickstart
  • 6. Язык запросов http://help.yandex.ru/search/?id=1111313 http://api.yandex.ru/server/doc/concepts/query-zones-and-attributes-search.xml
  • 7. Как обычно устроен поиск Модуль индексирования Индекс Модуль поиска Поиск
  • 9.
  • 10. Выгрузка для индексирования http://your_drupal_site.ru / yserver-dump ? mode=force_new & type=strict http://your_drupal_site.ru/yserver-dump? mode=update & type=queue http://your_drupal_site.ru/yserver-dump? mode=force_new & type=queue Cron: */30 * * * * /usr/bin/wget -O - -q -t 1http://your_drupal_.site.ru/yserver-dump?mode=update&type=queue&& /path_to_yserver_script/yserver.sh reindex
  • 12. Области индексирования function your_module_init() { if (function_exists( 'yserver_remove_areas' )) { // Удалим все определенные // ранее области индексирования. yserver_remove_areas(); your_module_set_area( 'node' , array( 'your_module_get_node_ilist' ), array( 'yserver_get_node_idata' )); }} ...
  • 13. Задание области индексирования function your_module_get_node_ilist() { $query = &quot; SELECT nid, changed FROM {node} WHERE status = 1 &quot; ; $result = db_query( $query ); $nids = array(); foreach ( $result as $record ) { $nids [ $record ->nid] = $record ->changed; } return $nids ; } Получить список (id => время изменения)
  • 14. Задание области индексирования function your_module_get_node_idata ( $nid ) { $node = node_load( $nid ); $icontent = '<h1>' . $node ->title . '</h1>' . render(node_view( $node , 'full' )); $ialias = drupal_get_path_alias( 'node/' . $nid ); return array( 'content' => $icontent , 'attrs' => array( 'ys_title' => $node->title , 'ys_link' => $ialias , )); } Получить для id контент и атрибуты
  • 15. “ Чистая” форма поиска function your_module_form_search_block_form_alter(& $form , $form_state) { $form [ '#submit' ] = array( 'your_module_search_box_form_submit' ); } function your_module_search_box_form_submit( $form , & $form_state ) { $form_id = $form [ 'form_id' ][ '#value' ]; // Текст из поисковой формы. $keys = $form_state [ 'values' ][ $form_id ]; $path = 'search/yserver/' . trim( $keys . '@ysoutbox@ys_area:node_article' ); //$path .= ' ys_tag:football' ; $form_state [ 'redirect' ] = $path ; } URL (строка браузера): http://your_drupal_site.ru/search/yserver/зенит чемпион @ysoutbox@ ys_area:node_article Поисковая форма: зенит чемпион
  • 16. Вывод данных в SERP template.php: function your_theme_preprocess_search_result(& $variables ) { dvm( $variables [ 'result' ][ 'ys_attrs' ]); } search-result.tpl.php: print $ys_attrs [ 'type' ] . ', ' . $ys_attrs [ 'subtype' ] . ':::' . $ys_attrs [ 'address' ]; print $snippet ;