Как сделать, чтобы unpublished ноды НЕ индексировались?

Главные вкладки

Комментарии

Аватар пользователя MZ MZ 28 ноября 2012 в 14:37

Geldora wrote:
правильно настроить права на просмотр анпаблишед нод.

вопрос не в том, чтобы просматривать или нет, а чтобы unpublished ноды НЕ попадали в индекс вообще. Их просто очень много и незачем их обрабатывать и показывать в результатах поиска.

Аватар пользователя MZ MZ 28 ноября 2012 в 14:45

а кстати вот чно обнаружил

function hook_search_execute($keys = NULL, $conditions = NULL) {
// Build matching conditions
$query = db_select('search_index', 'i', array('target' => 'slave'))->extend('SearchQuery')->extend('PagerDefault');
$query->join('node', 'n', 'n.nid = i.sid');
$query
->condition('n.status', 1)

т.е. поиск должен вестить только по опубликованным нодам: ->condition('n.status', 1)
но в результатах появляются вообще ВСЕ ноды
в чем дело???

Аватар пользователя MZ MZ 28 ноября 2012 в 15:26

у меня в качестве модуля поиска выбран модуль Node
там то же самое

function node_search_execute($keys = NULL, $conditions = NULL) {
// Build matching conditions
//$query = db_select('search_index', 'i', array('target' => 'slave'))->extend('SearchQuery')->extend('PagerDefault');
$query->join('node', 'n', 'n.nid = i.sid');
$query
->condition('n.status', 1)
->addTag('node_access')
->searchExpression($keys, 'node');

но в результатах появляются вообще ВСЕ ноды, в т.ч. и неопубликованные
в чем дело???

Аватар пользователя NaZg NaZg 28 ноября 2012 в 16:00

"MZ" wrote:
Database service

Не знаком. Но вероятно это и есть причина попадания в индекс неопубликованных нод.