Интернет-аддикт - Яндекс.Сервер: атрибуты по умолчанию [entries|archive|friends|userinfo]
bocheng

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Яндекс.Сервер: атрибуты по умолчанию [Jul. 31st, 2010|09:15 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Внезапно понадобилось написать в коммьюнити по веб-разработке срочно, а там премодерация на вступление, обидно. Так что запощу подготовленный пост пока сюда.

Есть шанс, что меня читает кто-нибудь (кроме тех, кого я уже спрашивал), работавший с яндекс.сервером? Суть такова:

Версия яндекса - 2008.12 (3.10). Нужно фильтровать результаты поиска по url'у документа. Этот один из атрибутов по умолчанию (кстати, если где-то есть описание всех этих атрибутов - буду благодарен). На всякий случай настроил парсер html по примеру с онлайн-руководства. Так же добавил секцию QueryLanguage оттуда же (индексатор и поисковый модуль её проигнорировали с сообщением Warning at line 20, col 8: section 'QueryLanguage' not allowed here and will be ignored.)

Пробема - параметр url не работает при запросе. Возвращается пустой результат. Причём все описанные дефолтные зоны и атрибуты работают; вообще всё работает кроме фильтра по атрибуту url. Строка запроса выглядит так:
http://localhost:17000/?xml=yes&how=rlv&charset=windows-1251&p=".$page."&numdoc=10&text=".str_replace(" ","+",$_GET['name']).'+url:sitename.ru/*'
Запрос без url - выводится, с ним - нет. Старый формат #url="" просто игнорируется.

Есть подозрение на новый формат запроса, не описанный в прилагающемся руководстве. По крайней мере keywords заработал только в новом формате, описанном в онлайн-руководстве.

Конфиги (пароли, логины, адреса - изменены)

dsindexer.cfg


<Collection>
WorkDir: /var/local/yandex
IndexDir: /var/local/yandex/workindex
TempDir: /var/local/yandex/newindex
GlobalOptions: Update
# DocProperty:
# PassageProperty:
# Groups:
# <IndexLog>
# Filename :
# Level :
# </IndexLog>
<DataSrc id="webds">
Config : -w http://www.site.ru
</DataSrc>
<DocFormat>
MimeType : text/html
Config : /usr/local/share/yandex/html-parser.cfg
</DocFormat>
<QueryLanguage>
title : ZONE
address : ZONE
anchor : ZONE
mime : ATTR\_LITERAL
cat : ATTR\_INTEGER
url : ATTR\_URL
date : ATTR\_DATE
new : ATTR\_BOOLEAN
cyrillic : ATTR\_BOOLEAN
</QueryLanguage>
</Collection>


yandex.cfg


<Server>
Port 17000
Host site.ru
WorkDir /var/local/yandex
<Authorization>
UserName name
UserPassword pass
</Authorization>
</Server>

<Collection autostart="yes">
IndexDir /var/local/yandex/workindex
<DocFormat>
MimeType text/html
Config /usr/local/share/yandex/html-parser.cfg
</DocFormat>
<DataSrc id="webds">
Config -w www.site.ru
</DataSrc>
</Collection>


html-parser.cfg


<HtmlParser>
<Zones>
title : title
address : address
anchor : a/link
</Zones>
<Attributes>
_ : LITERAL/meta._
link : URL,anchor/a.href
link : URL,any/frame.src,iframe.src,area.href
link : URL/link._
robots : LITERAL,doc,parse_meta_robots,ignore/meta.robots
refresh : URL,doc,parse_http_refresh,ignore/meta.refresh
style : URL/link.stylesheet
profile : URL/head.profile
script : URL,any/script.src

image : URL,any/img.src
applet : URL,any/applet.code,applet.object
object : URL,any/object.data,object.classid
abstract : TEXT/meta.description
keywords : TEXT/meta.keywords
hint : TEXT,any/img.alt,area.alt
tooltip : TEXT,any/_.title
pdate : DATE,doc,parse_http_expires/meta.pdate
searchcat : LITERAL/meta.searchcat
</Attributes>
</HtmlParser>


LinkLeave a comment