Задать вопрос
  • Как правильно создать индекс в ElasticSearch?

    onqu
    @onqu
    weasy
    1. Проверять ничего не надо, если данные не нужны, запрос на обновление всего документа аналогичен запросу на добавление. Запрос ниже либо создаст новый документ, либо полностью заменит существующий.

    PUT /компании/компания/{_id}
    {
        "навание": "SpaceX",
        "работники":  ...,
    }


    Если "hash" уникален для каждой копании, его можно использовать в качестве _id

    PUT /компании/компания/{hash}
    {
        ...
    }


    В более ранних версиях (до 1.5) можно было использовать alias для поля _id, которое может генерироваться автоматически:

    "mappings": {
        "компания": {
            // в текущей версии: 2.3 depricated - сказывалось на производительности
            "_id": {"path": "hash"},
            "properties": {
                "навание": {
                    "type": "string"
                },
                ...
            }
        }
    }


    2. В эластике нет, как таковых массивов, есть вложенные объекты. Любое поле документа может содержать множество значений, но значения должны быть одного типа. Тип может быть nested или object, nested позволяет производить более удобный поиск при множестве вложенных объектов.

    Если правильно понимаю, и должности разные, то будет удобнее использовать nested. Иначе object.

    "mappings": {
        "компания": {
            "properties": {
                "работники": {
                    "type": "nested",
                    "properties": {
                        "должность": {
                            "type": "string"
                        },
                        "имя": {
                            "type": "string"
                        }
                    }
                }
            }
        }
    }
    
    // создание/обновление
    PUT /компании/компания/{_id}
    {
        "название": "...",
        "hash": "...",
        "работники": [
            {
                "должность": "манагер",
                "имя": ["Анатолий", "Андрей"]
            },
            {
                "должность":  ["управляющий", "заместитель"]
                "имя": "Дмитрий"
            },
            {
                "должность": "кассир",
                "имя": ["Татьяна", "Анастасия"]
            },
        ]
    }
    
    // примерный поиск
    GET /компании/компания/_search
    {
        "query": {
            "nested": {
                "path": "работники",
                "query": {
                    "bool": {
                        "must": [
                            { "match": { "работники.должность": "управляющий" }},
                            { "match": { "работники.должность":  "кассир" }} 
                        ]
                    }
                }
            }
        }
    }
    Ответ написан
    8 комментариев
  • Почему не открывается файл?

    @Swartalf
    Ответ написан
    Комментировать
  • PayPal тестовый аккаунт?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Должна ли наша компания платить налоги за пользователей нашего интернет-сервиса?

    sim3x
    @sim3x
    Думаете в какой юрисдикции собираетесь работать и идете к юристу и бухгалтеру в той юрисдикции
    Ответ написан
    Комментировать
  • В кого переквалифицироваться из программиста?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Вы может быть удивитесь, но очень многих на работе держит именно необходимость в деньгах.
    Причем у очень многих, работа гораздо более унылая и тяжелая.
    Если вы классный разработчик, попробуйте просто сменить проект на более удобный.
    Ответ написан
    3 комментария
  • Шаблон сопроводительного письма Upwork?

    AleksDesker
    @AleksDesker
    Заказчик на upWork пришел не для того, чтобы ваши проблемы решать, он пришел свою решить. Вот и пишите о том как вы решите его проблему. Если он увидит, что вы понимаете его задачу лучше других претендентов и лучше его самого, тогда отсутствие отзывов его не смутит. От жалоб и слова "шаблон" лучше отказаться. "Выполню вашу работу максимально качественно и быстро" могло бы быть допустимое отклонение от темы, если бы у вас были аргументы способные убедить заказчика в его справедливости, а ваша фраза звучит как: "выполню вашу работу максимально быстро, потому что я никогда ничего подобного не делал". Первый заказ это действительно большое дело, но у вас есть преимущество перед всеми старожилами - отсутствие текущих заказов, у вас часов 15 в сутках свободны, так используйте их, чтобы подобрать заказы которые наилучшим образом удовлетворяют вашим компетенциям и максимально проработать каждое предложение. Не надо шаблонами спамить - толку от этого будет мало.
    Ответ написан
    Комментировать
  • Каков ваш идеальный клиент?

    nki
    @nki
    bezkart.ru готовая система лояльности
    1 понимает, что он хочет получить
    2 во время платит
    3 не выносит мозг
    Ответ написан
    Комментировать
  • Каков ваш идеальный клиент?

    DevMan
    @DevMan
    не парит мозг и не дергает во время исполнения заказа.
    понимает что все дополнительные хотелки стоят дополнительных денег.

    у меня таких большинство.
    Ответ написан
    Комментировать
  • Django Admin Panel. Как динамически вывести поля исходя из переменной в settings.py?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    А сделать LocalizedTopic инлайном для Topic не хотите? Их количество можно ограничить задав max_num = len(TARGET_LANGUAGES)

    admin.py
    class LocalizedTopicAdmin(admin.StackedInline):
        model = LocalizedTopic
        max_num = len(settings.TARGET_LANGUAGES)
    
    class TopicAdmin(admin.ModelAdmin):
        inlines = [LocalizedTopicAdmin]
    Ответ написан
    2 комментария
  • Почему некоторая сумма находится в разделе "In Review"?

    @ehs
    Architect / 3d designer
    Ничего не нужно, почасовые контракты так устроены. Эти все периоды описаны в FAQ. В среду вы получите деньги.
    Ответ написан
    2 комментария
  • Динамическая форма редактирования объекта в админке Django?

    winordie
    @winordie
    Лучшая документация -- исходники
    class MyModelAdmin(admin.ModelAdmin):
        my_filter = {1: ('field1', 'field2'), 2: ('field3', 'field4')}
        def get_fields(self, request, obj=None):
            fields = super().get_fields(request, obj)
            if obj is None:
                return fields
            return [f for f in fields if f not in self.my_filter[obj.my_type]]

    Но это будет работать только при изменении объекта.
    Если нужно динамически при создании, то тут только js, ловишь изменение поля my_type и скрываешь/показываешь необходимые поля.
    class MyModelAdmin(admin.ModelAdmin):
        class Media:
            js = (
                'js/my_fields_filter.js',
            )
    Ответ написан
    1 комментарий
  • Как фильтровать по нескольким параметрам?

    DmitryVoronkov
    @DmitryVoronkov
    Python Developer
    Ну например так:
    url(r'^category/(?P<pk1>\d+)/(?P<pk2>\d+)/(?P<pk3>\d+)/$', views.index, name='category'),
    
    class Index(generic.ListView):
        model = Category
        paginate_by = 3
        ordering = '-id'
        template_name = 'articles/index.html'
        def get_queryset(self):
            return Category.objects.filter(id__in=(self.kwargs('pk1'), self.kwargs('pk2'), self.kwargs('pk3')))
    
    index = Index.as_view()
    Ответ написан
    2 комментария
  • Как сделать, чтобы картинка filefield отображалась на сайте?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    <img src="{{ book.image.url }}" >
    Ответ написан
    Комментировать
  • Как сделать, чтобы картинка filefield отображалась на сайте?

    @deliro
    Для этого есть ImageField
    Ответ написан
    Комментировать
  • Django + Scrapy: какой подход выбрать?

    sim3x
    @sim3x
    Попробуй все
    При малом рпс и хорошей валидации данных - можно и сразу в джангу класть
    Ответ написан
    Комментировать
  • Как продвигать фриланс биржу?

    @kstyle
    то есть сначала сделали, а потом стали думать?
    Ответ написан
    Комментировать
  • Как продвигать фриланс биржу?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Деньгами, тот же freelance.ru на старте платил партнёрам за каждого привлечённого заказчика(заказ), что то около 1000 рублей (10 лет назад) и делал это долго. Заказчики сами к вам не придут за них в какой то форме придётся платить.

    Делая упор на безопасность и возвраты, вы как бы говорите, что у вас будут пытаться кидать всех, но вы усложните этот процесс и в итоге снизите комиссию. Это в целом провал, да и на комиссию всем плевать.

    Обновлено:
    Lancer9: Если вас это улыбает, то вы делаете каталог заказов и исполнителей. Т.к. безопасные сделки и возвраты это костыль на фоне нормальных договорных отношений, соответственно выдвигая это как основные/единственные фишки вы теряете саму суть фриланса/биржи и их проблем.

    Вы могли бы ввести ЭЦП и перевести всех на нормальные договорные отношения и белую работу.
    Вы могли бы собеседовать исполнителей гарантируя их квалификацию.
    Вы могли бы в обязательном порядке составлять грамотные ТЗ для заказчиков.
    Вы могли бы конектить заказы и исполнителя через своего менеджера исключая ошибки выбора для заказчика и мониториг леты исполнителем.
    Вы могли бы делать лоукост биржу для джуниоров с гарантированным подключением вашего сеньёра в случае провала.
    И вы могли бы ещё кучу всего. Но нет, упор сделан на безопасные сделки и возвраты, но во первых вы не понимаете, что для нормально отстроенного процесса эти инструменты нужны только в случае форс-мажора, во вторых даже в этом случае "а судьи кто?", с высокой вероятностью заказчик или исполнитель могут иметь на порядок большую квалификацию чем судья, если бы вы это решали, вы бы об этом написали сразу.

    P.S. На комиссию плевать потому что её можно всю кинуть на исполнителя, а ему на неё плевать если за месяц после вычета комиссии вы генерируете больше денег чем другие биржи. Если эта сумма меньше то и нулевая комиссия не поможет.
    Ответ написан
  • Как продвигать фриланс биржу?

    Никак. Ваша биржа никому не нужна.
    Попробуйте начать с фриланс-агентства.

    Если же делать биржу, то запилите импорт профиля и портфолио с fl.ru. Ищите и добавляйте проекты, где клиент оставил контактные данные. Приглашайте фрилансеров поименно. Договаривайтесь со студиями и агентствами по всей России, чтобы они размещали заказы.

    Не стоит думать о продвижении, пока на бирже не зародится мало-мальская жизнь. А жизнь придется создавать руками.

    Займитесь решением проблем фрилансеров и заказчиков на существующих биржах. Проанализируйте рынок. Покупка Pro, 10%с заказа и юзабилити не являются проблемами.
    Ответ написан
    10 комментариев