Alex
ну тип блин
Alex
ладно
Alex
я просто спросил
Alex
услышал ответ
Alex
все
Alex
Alex
что искать?
ты не поверишь. некоторые реляционные СУБД умеют индексировать JSON поля.
Tishka17
Alex
Дмитрий
Nikolay
Alex
ну это сильно ок
Дмитрий
Tishka17
Je
некоторые это вы так завуалировали postgres?)
Alex
Да?
да, постгря умеет строить GIN индексы по JSON полям.
Alex
Tishka17
ничоси
Nikolay
Psql силён
Alex
Да?
https://www.postgresql.org/docs/11/datatype-json.html
8.14.4. jsonb Indexing
Je
отлично справляется с этим, кстати, только полнотекстовый поиск плохо пока работает по индексу, точнее никак)
Alex
Alex
но не с JSON
Je
мы тоже, пытался на json натянуть также, не вышло, очень медленно работает, индексы не использует
Anonymous
У фтс же свой индекс
Alex
который уже берет данные из жсона.
Tishka17
прикольно. А мы индексацию этого всего выносили в elastic. Правда там кроме поиска ещё агрегации всякие
Alex
т.е. эластик формально был, но поиск нормально не работал в принципе.
Alex
в один прекрасный день избавления от легаси, я это переписал под PSQL FTS, с тех пор так и живем.
Alex
пока что устраивает.
Alex
У фтс же свой индекс
не совсем так. у FTS своя структура данных для поиска TSVECTOR
индексы сверху могут быть GIN или GiST.
Anonymous
Понятно
Denis
Натолкните пожалуйста на мысль.
Каким образом, используя NumPy, можно обработать массив собственной функцией, чтобы в итоге получился тоже двумерный массив?
Например, есть сетка 5x5 из примера:
y, x = np.mgrid[slice(1, 6),
slice(1, 6)]
и есть функция, которая возвращает тоже двумерный массив:
z = np.cos(10 + y*x)
В какую сторону мне двигаться, чтобы моя функция работала подобно np.cos?
Aragaer
тебе нужно каждый элемент исходного массива обработать своей функцией?
Aragaer
если ты можешь записать функцию в виде арифметического выражения, то просто засунь туда массив и оно само
Aragaer
а если нет - https://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html
Denis
Aragaer
вот по ссылке - numpy.vectorize(просто_функция) дает новую функцию, которая принимает на вход уже матрицы
Denis
Aragaer
>>> import numpy
>>> def f(x):
... return x+1
...
>>> vf = np.vectorize(f)
>>> vf = numpy.vectorize(f)
>>> vf([[1,2,3],[4,5,6]])
array([[2, 3, 4],
[5, 6, 7]])
Nikolay
>>> import numpy
>>> def f(x):
... return x+1
...
>>> vf = np.vectorize(f)
>>> vf = numpy.vectorize(f)
>>> vf([[1,2,3],[4,5,6]])
array([[2, 3, 4],
[5, 6, 7]])
🤥
Nikolay
Functools.partial типа
Nikolay
Даже больше
Семен
>>> import numpy
>>> def f(x):
... return x+1
...
>>> vf = np.vectorize(f)
>>> vf = numpy.vectorize(f)
>>> vf([[1,2,3],[4,5,6]])
array([[2, 3, 4],
[5, 6, 7]])
Удобнее как декоратор вызывать
Aragaer
ага
Denis
Попробовал просто свою функцию вызвать передав в аргументы массивы - работает быстро, через vecrotize работает очень медленно, но зато в отладчике красиво виден результат.
Спасибо. Мысль понял.
Aragaer
ну если есть уже готовая, то так
Aragaer
если арифметика и передавать массивы, то там все операторы перегружены и происходит векторизация всех вычислений
Aragaer
а vectorize это наверно просто поэлементное
Anonymous
Anonymous
Не помогло
Anonymous
Syntax invalid
Anonymous
Точнее
Anonymous
Unexpected indent
Anonymous
Кто может как разобрать что это
Anonymous
Anonymous
Json ответ?
Victor
Anonymous
Понял
Anonymous
Спасибо
Anonymous
Anonymous
Туночка️
JSON это
разве жсон это не строка?
Туночка️
это словарь вроде
Victor
Julian 🏳️🌈
json это формат данных
Туночка️
Julian 🏳️🌈
А там в нем чего-то только нету
Туночка️
Victor
Valery
#работа #офис #senior #go #python #postgresql #middle
Senior/Middle Python Developer
Москва, м. Кутузовская
Офис
Полная занятость
ЗП: senior 220-280 тр на руки
middle 130-150 тр на руки
Компания: Философия.ИТ, ГК Лига
Рассмотрим кандидатов из других городов, готовых к переезду.
Если вы:
Умеете в python 3 и более лет (asyncio, aiohttp, sanic);
Любите и умеете писать sql без ORM (Postgresql);
Понимаете надобность написания тестов и пишете их(даже, если не любите) :) ;
Умеете в docker, git, k8s;
Умеете проводить code-review, общаясь с кодом, а не с автором;
Имеете опыт проектирования сложных сервисов с множественными интеграциями;
Знание GO будет плюсом (желание его потрогать тоже засчитывается);
Опыт работы с GraphQL тоже будет плюсом, но совсем необязателен;
✔️Что Вас будет ожидать:
Разработка и лидирование backend-части большого проекта в команде (python+postgresql, в некоторых частях допускается использование GO);
Интеграции с различными сервисами компании;
Интересные задачи и масштабный проект, который не оставит Вас равнодушным;
Быстрая обратная связь по проекту и возможность сразу увидеть плоды своей работы;
Дружный коллектив с отличным чувством юмора, нацеленный на результат и качество одновременно.
Контакты: Телеграм @ValeryBurkina
Victor
Да и в словаре никто не будет хранить целочисленные ключи в виде строк
David
товарищи