Dram : Но получается на входе у меня строка целикового запроса и ее фиг правильно экранируешь?
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour LIKE :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', "%{$colour}%");
стандартный синтаксис, а не какой-то придуманный именно вами и не используемый нигде более в языке.
Когда вы пишете какой-то код, надо еще и понимать, что за вами его будет кто-то разбирать, поэтому использование таких вот конструкций
недопустимо
Недопустимо кому? Это всего лишь функция, облегчающая доступ к элементам массива/объекта. Не более того. Всяких разных функции/классов в любом проекте может быть от много до очень много. И разбирать их приходится, хочется того или нет.
Что касается $array[0]['gz']
print($o['3a']); #PHP Notice: Undefined index: 3a in /var/web/d.php on line 21
А у меня бзик🤪 - все ошибки вызывают Exception, просто никаких варнинго-нотисов не люблю. И предпочитаю приложить немного усилий, чтобы исключить их
Я же написал - я никогда не парсил на Delphi, на создание данного функционала мне нужно пару недель. Давно на Delphi не писал. Решил - лучше сэкономить время и потратить на решение других проблем.
Т.е на скрипт вы отводите роль получить xml, т.к. в старт посте
Нужно парсить подсветки в Яндексе (через яндекс лимиты xml)
и отдать в каком то формате вашей проге. Все остальное - лемматизация, алгоритм чтобы получилось
Devvver: мне это и надо :)
вы сделаете на Delphi.
Тогда 2 часа работы на php скрипт с хорошим запасом (оценочное суждение). Или самостоятельно. Потребуется подсказка и почитать про следующие функции php: file_get_contents вместе c stream_context_create если post, simplexml_load_string , foreach, isset, is_array, preg_match_all, ну и json_encode если в json
Devvver:
Не понятно что такое passeges - это сниппеты? "Читать еще" вы учитывали?
Да. xml.yandex отдаст данные в которых есть такая конструкция, hlword ваши подсветки, остальное и так понятно.
А если что то похожее на приведенные Вами сервисы, то - алгоритм?😕
У Арсенкина кол-во повторений фигурирует, но непонятно какое. Так же не факт что это из только топа Я-хмл. От туда (Ya-XML не старше 10 дней) как то так может получиться (из топ100 правда):
(лемматизированно и отсортированно по частотности). Понятно, что выше убран город и слова из запроса
Тут цифра результат функции от частотности отдельно в title, отдельно в passage, отдельно вхождений в hlword (подсветки) и кол-ва пересечений леммы в документах топ100. 4 слагаемых с коэфф. для усиления влияния каких то параметров. В зависимости от которых, могут быть варианты сортировки:)
====
А подсветки? Можно не париться;) Повторяю, там будут слова запроса и город в котором ведется поиск. + транслит слов запроса и города, сокращения/полное значение (метро-метрополитен) слов запроса и города. Что наглядно видно у Арсенкина
Лемматизированные подсветки
архангельск
kvartirastudio
Лемматизированные слова из запросов
Слово Кол-во повторений
студия 1
квартира 1
Не;) Наоборот. Намекаю, что они, модели, есть разные. Как и то, что пользовательская активность = F(тип сайта, тематика, целевая аудитория, куча чего то еще). И утверждать, что отсутствие обсуждений/соц.активности - гарантия ненужности сайта/документа, как минимум, опрометчиво. Равно, как и присутствие оных не гарантирует нужность сайта/документа.
Но практически ноль комментариев к каждой статье и в группе всего соцсети всего 1800 человек. То есть это мало кому интересно.
Кучу документов, на разных сайтах ежедневно смотрю, никогда не комментирую и в группы, не то, что не особо, а вообще никогда. Что делаю не так?
Или у вас есть метрика, что обязательное условие нужности сайта/документа - на каждого 100-го юзера обязательно 1 коммент, а каждый 1000-й непременно вступает в группу?
Зы, сайт про который пишите вообще не смотрел, но осуждаю на всякий случай :)
Но получается на входе у меня строка целикового запроса и ее фиг правильно экранируешь?
$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour LIKE :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindValue(':colour', "%{$colour}%");PDOStatement::executeА у меня бзик🤪 - все ошибки вызывают Exception,
Кстати, такой подход, позволяет с пониманием относиться к этому:
стандартный синтаксис, а не какой-то придуманный именно вами и не используемый нигде более в языке.
Когда вы пишете какой-то код, надо еще и понимать, что за вами его будет кто-то разбирать, поэтому использование таких вот конструкций
недопустимо
Недопустимо кому? Это всего лишь функция, облегчающая доступ к элементам массива/объекта. Не более того. Всяких разных функции/классов в любом проекте может быть от много до очень много. И разбирать их приходится, хочется того или нет.
Что касается $array[0]['gz']
А у меня бзик🤪 - все ошибки вызывают Exception, просто никаких варнинго-нотисов не люблю. И предпочитаю приложить немного усилий, чтобы исключить их
$array = json_decode(json_encode($mixed),TRUE);
Категорически неверный подход: Прилетел 10000 таких:
$o = json_decode('[{"gz":["qeqwe","qeqeqe", 20]},{"gz0":["qeqwe",{"aa":"bb"}]}]');
$oo = [];
for($i=0;$i<10000;$i++){
$oo[$i] = $o;
}
$t = microtime(1);
$oo = json_decode(json_encode($oo),TRUE);
echo (microtime(1) - $t)*1000, 'ms';
$t = microtime(1);
$ns = '557.0.gz.2';
echo "\nResult for key '{$ns}': \n", var_dump(_n($oo, $ns)), "\n";
echo (microtime(1) - $t)*1000, 'ms', "\n";
57 миллисек это очень много, а еще и на memory_get_usage/memory_get_peak_usage любопытно было бы посмотреть. Ну, чтобы вывод о том кто индокодит
Вот это:
зло. Никогда так не делайте
Нужно обратиться к подмассиву
Что то типа того:
Немного строчек кода позволят обращаться к масссиву/объекту в стиле: '0.gz'
Я же написал - я никогда не парсил на Delphi, на создание данного функционала мне нужно пару недель. Давно на Delphi не писал. Решил - лучше сэкономить время и потратить на решение других проблем.
Т.е на скрипт вы отводите роль получить xml, т.к. в старт посте
и отдать в каком то формате вашей проге. Все остальное - лемматизация, алгоритм чтобы получилось
мне это и надо :)
вы сделаете на Delphi.
Тогда 2 часа работы на php скрипт с хорошим запасом (оценочное суждение). Или самостоятельно. Потребуется подсказка и почитать про следующие функции php: file_get_contents вместе c stream_context_create если post, simplexml_load_string , foreach, isset, is_array, preg_match_all, ну и json_encode если в json
Не понятно что такое passeges - это сниппеты? "Читать еще" вы учитывали?
Да. xml.yandex отдаст данные в которых есть такая конструкция, hlword ваши подсветки, остальное и так понятно.
"читать еще" это на выдаче
Кстати, ТСу нужна лемматизация. Может быть тогда ему еще захочется и омонимию надежно снять?
Больше ничего не надо. Остальное я допилю на Delphi.
А как, без лемматизации, получите это:
#https://arsenkin.ru/tools/sp/ ТОП50
продажа 14
цена 9
новостройка 9
кв 6
продаваться 6
площадь 6
купить 6
планировка 6
жилье 5
комната 5
руб 4
недорого 4
предложение 4
Если на своей стороне , то зачем вам скрипт?
А если что то похожее на приведенные Вами сервисы, то - алгоритм?😕
У Арсенкина кол-во повторений фигурирует, но непонятно какое. Так же не факт что это из только топа Я-хмл. От туда (Ya-XML не старше 10 дней) как то так может получиться (из топ100 правда):
(лемматизированно и отсортированно по частотности). Понятно, что выше убран город и слова из запроса
Тут тупо кол-во в title + passeges. Всего слов в сниппетах топ100: 1944, лемм 415
А может по другому:
Тут цифра результат функции от частотности отдельно в title, отдельно в passage, отдельно вхождений в hlword (подсветки) и кол-ва пересечений леммы в документах топ100. 4 слагаемых с коэфф. для усиления влияния каких то параметров. В зависимости от которых, могут быть варианты сортировки:)
====
А подсветки? Можно не париться;) Повторяю, там будут слова запроса и город в котором ведется поиск. + транслит слов запроса и города, сокращения/полное значение (метро-метрополитен) слов запроса и города. Что наглядно видно у Арсенкина
Лемматизированные подсветки
архангельск
kvartirastudio
Лемматизированные слова из запросов
Слово Кол-во повторений
студия 1
квартира 1
😮 Включили? А не, кроме города и слов из запроса нет ничего :(
---------- Добавлено 02.07.2018 в 10:55 ----------
Зы Парсить hlword практического смысла сейчас нет. Ибо там слова запроса + город. Ну и что то типа метрополитен для метро подсветится. Все;(
Не;) Наоборот. Намекаю, что они, модели, есть разные. Как и то, что пользовательская активность = F(тип сайта, тематика, целевая аудитория, куча чего то еще). И утверждать, что отсутствие обсуждений/соц.активности - гарантия ненужности сайта/документа, как минимум, опрометчиво. Равно, как и присутствие оных не гарантирует нужность сайта/документа.
Кучу документов, на разных сайтах ежедневно смотрю, никогда не комментирую и в группы, не то, что не особо, а вообще никогда. Что делаю не так?
Или у вас есть метрика, что обязательное условие нужности сайта/документа - на каждого 100-го юзера обязательно 1 коммент, а каждый 1000-й непременно вступает в группу?
Зы, сайт про который пишите вообще не смотрел, но осуждаю на всякий случай :)