1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Склонение слов и словосочетаний в SE

Discussion in 'Моды - Mods' started by lem1x, Nov 29, 2010.

  1. crmantas Novice member


    Offline
    Message Count:
    22
    Likes Received:
    0
    Как пример мне пришлось отказаться от этого модуля, потому что при заходе 300 человек в день главная страница грузится вместо 2 секунд - 8 секунд. Очень много обращений идет и иногда вообще все подвисает. Сейчас думаю как перетащить всю склонялку на свой сервер.
  2. Adre Famous member


    Offline
    • Знаменитый
    Message Count:
    370
    Likes Received:
    96
    Может глянуть исходный код яндекса и не городить огород с обращением к чужому сайту? Это только мысли вслух, не проверял...
    Скажем в файле яндекса есть такая запись:
    Code:
    <inflections><original>число</original>
     
    <inflection case="1">число</inflection>
     
    <inflection case="2">числа</inflection>
     
    <inflection case="3">числу</inflection>
     
    <inflection case="4">число</inflection>
     
    <inflection case="5">числом</inflection>
     
    <inflection case="6">числе</inflection>
     
    </inflections>
  3. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    В принципе создать свой xml со своими словами (для склонения их не так много и наберётся) и вуаля =)
  4. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    Посути с каждым склонением идут запросы в янлдекс, пинг~ 30-50. 2 запроса и страница генерируется на 0.1 сек дольше. я скоро выложу код склонений, который будет склонять на вашем сервере а не через яндекс
  5. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    парни, вы про слово кеш не слышали чтоли? facepalm
  6. ham001 Active member


    Offline
    Message Count:
    101
    Likes Received:
    0
    My version of SE:
    3.20
    по подробней)))
  7. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    подробнее вот.
    PHP:
        function get_declination_user($text_for_decl ''$decl_num 1) {
        
            if(!empty(
    $text_for_decl)) {
                
    $cache SECache::getInstance('serial', array('lifetime' => 60*60*24*10));
                
    $encode base64_encode($text_for_decl);
                
    // Get from cache
                
    if( is_object($cache) ) {
                    
    $result $cache->get('decl_json_user'.$encode.'_num'.$decl_num);
                }
                if (empty(
    $result)) {
                    
    $json file_get_contents("http://export.yandex.ru/inflect.xml?format=json&name=" urlencode($text_for_decl));
                    
    $array json_decode($jsontrue);
                    
    $result = !empty($array[$decl_num]) ? $array[$decl_num] : $text_for_decl;
                    
    // Store in cache
                    
    if( is_object($cache) ) {
                        
    $cache->store($result'decl_json_user'.$encode.'_num'.$decl_num);
                    }
                }
            }
            return !empty(
    $result) ? $result $text_for_decl;  
        } 
    Все говорим спасибо проекту sportprofile.ru, для которого я это написал.

    ---------- Сообщение добавлено в 13:11 ---------- Предыдущее сообщение было в 13:11 ----------

    Ну и кеш в админке естественно включить.

    ---------- Сообщение добавлено в 14:06 ---------- Предыдущее сообщение было в 13:11 ----------

    Кстати говоря.
    Результат. Время генерации страницы. До и после.
    До - 11 секунд.
    После - 1.8 секунды.
  8. Dj AngeL Active member


    Offline
    Message Count:
    282
    Likes Received:
    38
    My version of SE:
    3.20
    Глупый вопрос, но ответьте новичку, чем сие отличается от предыдущего?!
  9. SpartakuS User


    Offline
    • Знаменитый
    Message Count:
    797
    Likes Received:
    82
    Dj AngeL, наличием кеширования.
    Ну и по мелочи. XML на JSON заменил, что заметно сократило код. Ну и сам json поменьше места занимает. Все таки при получении с другого сервера это актуально.

    ---------- Сообщение добавлено в 01:12 ---------- Предыдущее сообщение было в 00:46 ----------

    http://socengine.net/blog/se3/2.html
  10. Bahok Banned


    Offline
    • Banned
    Message Count:
    2
    Likes Received:
    0
    А куда этот код вставить? скажите пож-ста )) а то я не знаю

Share This Page

All rights reserved SocEngine.ru ©