User Tools

Site Tools


ru:tcms_update_1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:tcms_update_1 [2014/10/23 13:41] – [Overclick skimming hold] adminru:tcms_update_1 [2022/12/28 12:01] (current) – [Search Log Advanced Queries] admin
Line 18: Line 18:
  
 <thumb num=1-20 search_log=all > <thumb num=1-20 search_log=all >
-search template (<!--SEARCH_QUERY-->, hits <!--SEARCH_QUERY_HITS-->  and so on+search template (<!--SEARCH_QUERY-->, hits <!--HITS-->  and so on
 </thumb> </thumb>
  
Line 107: Line 107:
 <!--DESCRIPTION--> = <!--DESC-->  <!--DESCRIPTION--> = <!--DESC--> 
 <!--IMAGE--> <!--IMAGE2--> и так далее если у вас для каждого трейдера более одной тумбы <!--IMAGE--> <!--IMAGE2--> и так далее если у вас для каждого трейдера более одной тумбы
 +<!--URL--> 
 +<!--TOTAL_UNI-->
 +<!--TOTAL_ROW-->
 +<!--TOTAL_CLICKS-->
 +<!--TOTAL_OUT-->
 +<!--TOPLIST_COMMENT-->
 </code> </code>
  
Line 116: Line 122:
 num = номер трейдера, может быть промежуток например 1-5 num = номер трейдера, может быть промежуток например 1-5
  
-order = сортировка, варианты uniques, raws, priorityпо деофлту - uniques.+order = сортировка, варианты uniques, raws, priority, clicks по деофлту - uniques.
  
 </code> </code>
Line 127: Line 133:
 Добавлена возможность создавать кастом галеры указывая список картинок, те без указания исходной галеры. Для этого в импорте есть опция 'Image List' куда через запятую вписывается список урлов. Добавлена возможность создавать кастом галеры указывая список картинок, те без указания исходной галеры. Для этого в импорте есть опция 'Image List' куда через запятую вписывается список урлов.
  
 +===== Category Boost \ Separate Thumb CTR =====
  
 +Тестовый вариант разделения ЦТР для каждой тумбы в категории.
 +
 +Rotation Settings - Test settings - Boost gallery CTR in category, % 
 +
 +Смысл в том, что в каждой категории ЦТР галеры увеличивается пропорционально кол-ву кликов в категории, таким образом каждая тумба набирает как общий ЦТР так и отдельный в каждой категории, который зависит в том числе и от общего цтр. При маленьком бусте цтр в категории будет практически совпадать с общим, при большом будет сильно отличаться.
 +
 +Например у тумбы 10 показов и 1 клик на индексе, 2 в категории А и 3 в категории Б.
 +Boost = 50%, общий ЦТР при выводе тумбы на индесе либо без указания категории (1+2+3)/10 = 0.6 
 +
 +Для категории А (1+2*1.5(boost)+3)/10 = 0.7 
 +
 +Для категории Б (1+2+3*1.5(boost) )/10 = 0.75 
 +
 +
 +В данный момент это работат только при использовании magic rotation parameter.
 +
 +
 +===== Animated Gifs =====
 +
 +Добавлена возможность создания анимированных gif файлов для видео что нонче модно для сайтов в стиле пинтерест.
 +Для использования надо:
 +
 +  - убедиться что у вас на сервере стоит mplayer and ffmpeg и прописать пути в rotation - settings
 +  - добавить галерею с видео (URL) либо сразу урл к видео (FLV URL) и добавлять в preload
 +  - после процесинга в preload 1 можно кликнуть на лубую тумбу и откроется страница редактирования тумбы с плеером и добавленным видео
 +
 +Можно сделать скриншот с любого момента видео. Либо Сделать там же анимированный гиф любой продлжительности и рейта. Обратите внимание, что размер результирующего файла прямо пропорционален рейту и продолжительности ролика.
 ===== Prefix encodehtml2js===== ===== Prefix encodehtml2js=====
  
Line 143: Line 177:
  
 </code> </code>
 +
 +
 +===== Sphinx config =====
 +
 +Тк была изменена база немного поменялся конфиг сфинкса
 +
 +<code>
 +
 + sql_query = SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, alt, description, gi.duration, sponsor_id, gs.total_ctr, gi.content_type, \
 + (SELECT group_concat(tag_name) FROM rot_gal2tag g2t \
 + LEFT JOIN rot_tags as t on t.tag_id = g2t.tag_id \
 + WHERE g2t.gallery_id = gi.gallery_id) as tags, \
 + (SELECT group_concat(gss.group_id) FROM rot_gallery_stats1 as gss \
 + WHERE gss.gallery_id = gi.gallery_id AND group_id != 0) as categories \
 + FROM rot_gallery_info AS gi \
 + JOIN rot_gallery_data1 AS gd ON gi.gallery_id = gd.gallery_id \
 + JOIN rot_gallery_stats1 AS gs ON gs.gallery_id = gi.gallery_id \
 + WHERE gallery_status = 'active' and gallery_type = 0 \
 + and gs.best_thumb = 'yes' and gs.group_id = 0
 +
 +
 + sql_attr_timestamp = date
 + sql_attr_uint     = duration
 + sql_attr_uint     = sponsor_id
 + sql_attr_float     = total_ctr
 + sql_attr_uint     = content_type
 + sql_attr_uint = gallery_id
 +    sql_attr_multi = uint categories from field; 
 +</code>
 +
 +
 +
 +
 +===== Search Log Advanced Queries =====
 +
 +В скрипте давно уже есть фича по выводу последних поисковых фраз 
 +
 +  <thumb num=1-10 search_log=all ... 
 +  
 +Она выводит лог последних поисковых запросов на вашем сайте. Но сейчас она стала более продвинутой. Теперь можно искать related запросы к текущей странице. Например, на странице категории можно искать запросы с называнием этой категории.
 +
 +  <thumb num=1-10 search_log=all filter=GET_group_name
 +  
 +На странице тага можно фильтровать по имени тага
 +
 +  <thumb num=1-10 search_log=all filter=GET_tag
 +
 +На странице поиска можно фильтровать по поисковому запросу
 +
 +  <thumb num=1-10 search_log=all filter=GET_search
 +
 +Тут надо напомнить что в параметрах то что начинается с GET_ - это переменные из запроса (из урла).
 +
 +По умолчанию результаты сортируются по кол-ву поисков по конкретному запросу, но можно так еж отсортировать по кол-ву результатов по такому поиску (те у нас 2 варианта order есть )
 +
 +  <thumb num=1-10 search_log=all filter=GET_search order=items_found
 +  <thumb num=1-10 search_log=all filter=GET_search order=hits
 +
 +Таким образом на каждой странице создаются линки на другие страницы и общее кол-во страниц на сайте растет.
 +
 +Конечно, запросы набираются очень медленно, и что бы форсировать это событие s Search Log в админке (/admin/?operation=rotation&sub=rot_tube&subsub=rot_search_log&) можно добавить любые поисковые запросы так, как будто их уже искали у вас на сайте.
 +  
 +Для примера, на bigbase.smartcj.com было добавлено порядка 2М запросов. Из чего выплыло несколько проблем, которые были сразу же решены.
 +
 +1. тк запросы были взяты из общих источников оказалось что по части запросов в базе ничего не находит. Таким образом была вероятность получить на странице ссылку на которой было 0 результатов поиска. Что бы решить этот вопрос rotation.php, который запускается по крону проверяет, периодически проверяет новые запросы и смотрит, что бы по ним хоть что-то находилось в базе. Если ничего не находит - удаляет запрос из списка. Это событие можно форсировать в шеле
 +
 +  php rotation.php check_search_queries=true
 +
 +2. когда в базе немного поисковых запросов то Mysql справляется без проблем с ними. Однако когда добавили 2М запросов то поиск по такой таблице стал тяжелым и для индексации решили добавить Sphinx - это сделало не только быстрым поиск, но и сам поиск более продвинутым. Что бы добавить Sphinx надо в конфиг сфинкса добавить 
 +
 +<code>
 +
 +source search_queries 
 +{
 + type = mysql
 +
 + sql_host = ........
 + sql_user = .......
 + sql_pass = ........
 + sql_db = ......
 + sql_port = 3306 # optional, default is 3306
 +
 +    sql_query_pre = SET NAMES utf8
 +
 + sql_query = SELECT sq_id, search_query, hits, items_found FROM rot_search_queries WHERE hits > 0  GROUP BY search_query
 +
 + sql_attr_uint     = hits
 + sql_attr_uint     = items_found
 +
 +}
 +
 +
 +index search_queries_index
 +{
 + source = search_queries
 + path = /path_where_to_store_index
 + docinfo = extern
 + morphology              = stem_en
 +}
 +
 +
 +
 +</code>
 +
 +После этого сфинкс сможет проиндексировать имеющиеся у вас запросы.
 +
 +Что бы SmartCJ смог начать использовать этот индекс надо его указать в настройках ротации Sphinx Search , поле Sphinx Search Log Index = search_queries_index
 +
 +Все.
 +
 +
 +===== Search query limit =====
 +
 +На сайте может быть масса вариантов лимитирования поиска, например
 +
 +  /?search=... 
 +  может превратиться в 
 +  /?search=...&group_id=..
 +  или
 +  /?search=...&tag=..
 +  
 +и так далее, варианты могут быть разными и комбинированными, поэтому добавлен свободный параметр &search_query_limit
 +
 +Например, у нас поиск по группе teen.
 +Добавляем в урл search_query_limit=teen, например /?search=...&group_name=teen&search_query_limit=teen и например поиск просто без лимита по группе  /?search=....&search_query_limit=empty
 +
 +при выводе <thumb search_log=all num=1-20> если мы хотим вывести поиски только которые были по группе teen то (а мы помним что там было search_query_limit=teen) 
 +
 +  <thumb search_log=all num=1-20 search_query_limit=teen>
 +  
 +Можно подставлять &search_query_limit в зависимости от того как вы хотите потом фильтровтаь запросы. И конечно помним что это можно сделать динамичным если взять параметр из урла
 +
 +  <thumb search_log=all num=1-20 search_query_limit=GET_your_param>
 +  
 +**Языковой поиск** 
 +Аналогично можно сделать разделение поиска по языкам что бы выводить на соответствующих языках. Скрипт сам не определяет на каком языке написано конкретное предложение, но это можно взять из урла например добавляем параметр с текущим языком &search_query_limit=lng_en в строку поиска
 +
 +
 +  domain/?search=test&force_lng=en&search_query_limit=lng_en
 +  domain/?search=test1&force_lng=en&search_query_limit=lng_en
 +  domain/?search=blabla&force_lng=de&search_query_limit=lng_de
 +  domain/?search=blabla2&force_lng=de&search_query_limit=lng_de
 +
 +
 +Таким образом у нас у базе для каждого поиска будет отмечено на каком языке он сделан. Добавлять параметр не составляет труда прямо в темплейте, например <input type=hidden name=search_query_limit value='lng_<!--GET_force_lng-->'>
 +
 +В темплейте добавляем
 +
 +  <thumb search_log=all num=1-20 search_query_limit=GET_your_param>
 +  
 +и открываем страницу как domain/?your_param=lng_en, мы должны получить 
 +
 +  test,test1
 +
 +
 +тк на них стоит пометка  lng_enю
 +===== Subcategories and filter keywords =====
 +
 +Небольшая поправка в распределении по субкатегориям (те когад категория является подкатегорией корневой категории, например 2 категории верхнего уровня cars и buses, у каждой из них есть субкатегории red и blue тк и автобусы и машины могут быть этих цветов)
 +
 +Вопрос возникает когда надоо импортировать что-то, а основного кейворда нет, например фраза "red wheel" может относится как к машинам так и к автобусам.
 +
 +Поэтому поправка заключается в том, что если при импорте выделено filter keywords (alt+desc) И (!!!) рут категория, например cars в нашем примере, то искать кейворды будет только в субкатегориях указанной рут категории. 
 +
 +те для нашего примера по кейворду red она попадает только в субкатегорию cars -> red
  
  
Line 155: Line 354:
  
 Для входящего траффика можно указывать список правил, например TDS_1. Это лучше тем, что в TDS можно указать сразу набор правил, по которым траффик будет обработан. В конце схемы TDS можно указать {ORIGINAL_URL} и это будет урл, куда траффик пойдет если не сработало правило TDS (обычно это индекс сайта, но возможны вариант персональных урлов и тп) Для входящего траффика можно указывать список правил, например TDS_1. Это лучше тем, что в TDS можно указать сразу набор правил, по которым траффик будет обработан. В конце схемы TDS можно указать {ORIGINAL_URL} и это будет урл, куда траффик пойдет если не сработало правило TDS (обычно это индекс сайта, но возможны вариант персональных урлов и тп)
 +
 +
 +===== Auto lock traffic in trade groups =====
 +
 +Автоматически и прозрачно, без добавления в урл, рассылает траффик в пределах группы текущего трейдера.
 +те если условно трейдер А в трейд группе 1, то все клики пришедших с него серферов будут распределны в пределах группы 1, как если бы автоматически в урле всегда было &group=1
 +
 +Находится настройка в Settings - Traffic Rules
  
ru/tcms_update_1.1414071686.txt.gz · Last modified: by admin