Skip to content

Restream/gophercon2019_ft_cup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RTK/GopherConRu-2019 Fulltext search cup

Build Status

ΠšΠΎΠ½ΠΊΡƒΡ€ΡΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°

Π’Π½Π΅ зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ количСства ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° любой сСрвис, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΠΌΡ‹, сСриалы, TV-трансляции, сталкиваСтся с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ полнотСкстовый поиск ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ. Π§Π΅ΠΌ качСствСннСС ΠΈ быстрСС поиск ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° запросы β€” Ρ‚Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΈ большС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сСрвисом.

Π’Π°ΠΊΠΎΠΉ поиск Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² РостСлСкомС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ тСлСвидСния Wink. БэкСнд поиска Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Go ΠΈ Π‘Π” Reindexer, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ обслуТиваСт ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠœΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ всСм участникам GopherConRu Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ поиска ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ поиск: ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ Π»ΡƒΡ‡ΡˆΠ΅, Π΅Ρ‰Ρ‘ быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска ΠΏΠΎ Π±Π°Π·Π΅ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ (Ρ„ΠΈΠ»ΡŒΠΌΡ‹/ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡) Π½Π° запросы ΠΎΡ‚ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° - ΠΏΠΎ сути ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ для Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ API

ΠŸΡ€Π°Π²ΠΈΠ»Π° участия Π² конкурсС

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, скачай Π°Ρ€Ρ…ΠΈΠ² с тСстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON. Π’Π΅Π±Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ API поиска ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΊ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ.

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π²Π΅Π±-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ смоТСшь Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠ·ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΠ½Π΄

Для ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΡ‹ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ·ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΠ½Π΄:

1 мСсто: ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Β«ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Β» с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ двиТСния, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ освСщСнности, ΡƒΠΌΠ½ΠΎΠΉ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΎΠΉ ΠΈ ΡƒΠΌΠ½ΠΎΠΉ Ρ€ΠΎΠ·Π΅Ρ‚ΠΊΠΎΠΉ. Π“ΠΎΠ΄ сСрвиса Β«Π£ΠΌΠ½Ρ‹ΠΉ Π΄ΠΎΠΌΒ» Π² ΠΏΠΎΠ΄Π°Ρ€ΠΎΠΊ.

2 мСсто: ΠΊΠ°ΠΌΠ΅Ρ€Π° видСонаблюдСния для ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, модСль Ezviz C2C. Π“ΠΎΠ΄ сСрвиса Β«Π’ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡŽΠ΄Π΅Π½ΠΈΠ΅Β» Π² ΠΏΠΎΠ΄Π°Ρ€ΠΎΠΊ.

3 мСсто: Ρ€ΡŽΠΊΠ·Π°ΠΊ Bobby с ΠΊΡ€ΡƒΠΆΠΊΠΎΠΉ ΠΈ толстовкой

Как ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ

  1. Для участия Π·Π°ΠΏΠΎΠ»Π½ΠΈ Ρ„ΠΎΡ€ΠΌΡƒ, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹ Π½Π° http://github.com ΠΈ https://hub.docker.com . Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΌΡ‹ надССмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρƒ тСбя ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ.

  2. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒ Docker ΠΎΠ±Ρ€Π°Π· с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ конкурсной Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ сСрвСр прилоТСния, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ запросы Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 8080. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Dockerfile для сборки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚

  3. Π—Π°Π³Ρ€ΡƒΠ·ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Π½Π° dockerhub.

docker push <yourname>/rtk_ft_solution:<tag>
  1. Π‘ΠΎΠ·Π΄Π°ΠΉ Ρ„ΠΎΡ€ΠΊ рСпозитория https://github.com/restream/gophercon2019_ft_cup

  2. ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉ Ρ„Π°ΠΉΠ» .travis.yml - Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния TEST_IMAGE ΡƒΠΊΠ°ΠΆΠΈ имя ΠΎΠ±Ρ€Π°Π·Π° с Ρ‚Π²ΠΎΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° dockerhub

env:
  global:
    - TEST_IMAGE=<yourname>/rtk_ft_solution:<tag>
  1. Π‘ΠΎΠ·Π΄Π°ΠΉ Merge Request https://github.com/Restream/gophercon2019_ft_cup ПослС создания MR Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π·Π°ΠΏΡƒΡ‰Π΅Π½ тСстовый ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ обстрСла Π² сСрвисС travis-ci, ΠΈ Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΌΠΈΠ½ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ тСстирования.

  2. Как Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

ПослС запуска Π΄ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Ρƒ прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΊ обстрСлу. ВрСмя ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ - 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. Π—Π° это врСмя ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΡΠΏΠ΅Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π” ΠΈ Π² Π΄Π²ΠΈΠΆΠΎΠΊ полнотСкстового поиска.

РСшСния Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π΄ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ travis-ci. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ окруТСния: ΠΏΠΎ RAM - 7GB, ΠΏΠΎ дисковому пространству ~ 18GB диск

ВСстовыС Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ смонтированы Π² ΠΏΠ°ΠΏΠΊΡƒ /data ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

  • Ρ„Π°ΠΉΠ» epg.json - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡
  • Ρ„Π°ΠΉΠ» media_items.json - список ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°

ОбъСм ΠΈ содСрТаниС тСстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² процСссС провСдСния конкурса, Π½ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ для всСх участников.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ

ΠŸΡ€ΠΈ тСстировании(обстрСлС) Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ учитываСтся ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ. Π£ прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ описанныС Π½ΠΈΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, со случайным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² процСссС провСдСния конкурса.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΊΡ€ΠΎΠΌΠ΅ тСхничСских характСристик Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ исходныС тСксты Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ - ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ "чСстно" Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π½Π΅ ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ датасСт, подгоняя ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΠΎΠ΄ оТидания систСмы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ :)

Если ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы - Π’ любоС врСмя Ρ‚Ρ‹ смоТСшь ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ Π½Π° стСнд РостСлСком-Π° ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с экспСртами ΠΏΠΎ Π·Π°Π΄Π°Ρ‡Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ‡Π°Ρ‚ΠΈΠΊ конкурса https://t.me/rtkgophercon2019

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ своС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Frontend

Ρ€ΠΎΠΌ Ρ‚Ρ‹ смоТСшь ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ доступСн ΠΏΠΎ адрСсу: http://212.22.77.64, Π² Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ввСсти адрСс бэкСнда (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ http://127.0.0.1:8080), ΠΈ поисковый запрос

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° тСстирования

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ быстродСйствия бэкСнда ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ https://github.com/Restream/gophercon2019_ft_tester - ΠΎΠ½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ бэкСнда, ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π² консоль ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡ… коррСктности ΠΈ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области

Π€ΠΈΠ»ΡŒΠΌΡ‹

ПолС Вип ОписаниС
id int64 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
name string Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
type string Ρ‚ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°: Ρ„ΠΈΠ»ΡŒΠΌ ("film"), сСриал ("series"), сСзон ("season") ΠΈΠ»ΠΈ сСрия ("episode")
duration int ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² сСкундах
countries []string страны-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
age_value int ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° возраста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 18)
year string Π³ΠΎΠ΄ ΠΈΠ»ΠΈ Π³ΠΎΠ΄Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π° (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: "2016", "1996-2005")
logo string url ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с ΠΎΠ±Π»ΠΎΠΆΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
rating float срСдний Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΏΠΎ всСм источникам
description string ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
genres []string ΠΆΠ°Π½Ρ€Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
persons object участники ΡΡŠΡ‘ΠΌΠΎΡ‡Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹
person.name string имя
person.type string Ρ‚ΠΈΠΏ: Π°ΠΊΡ‚Ρ‘Ρ€ ("actor"), рСТиссёр ("director")
packages []int64 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚
asset_types []int64 содСрТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² ассСтов

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

{
  "id": 74170248,
  "name": "АпгрСйд",
  "type": "film",
  "duration": 5807,
  "countries": ["Австралия"],
  "age_value":  18 ,
  "year": "2018",
  "logo": "/sdp/nc-poster1545652540696.jpg",
  "rating":  7.7,
  "description": "Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ автокатастрофы Π°Π²Ρ‚ΠΎΠΌΠ΅Ρ…Π°Π½ΠΈΠΊ Π“Ρ€Π΅ΠΉ тСряСт ΠΆΠ΅Π½Ρƒ ΠΈ становится ΠΈΠ½Π²Π°Π»ΠΈΠ΄ΠΎΠΌ. Π’Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Π­Ρ€ΠΎΠ½ Кин ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² экспСримСнтС. Π“Ρ€Π΅ΡŽ Π²ΠΆΠΈΠ²Π»ΡΡŽΡ‚ новСйший Ρ‡ΠΈΠΏ – с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Ρ€ΠΎΠΉ вновь встаёт Π½Π° Π½ΠΎΠ³ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡Π΅ΡΠΊΡƒΡŽ силу. Какими Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ±ΠΎΡ‡ΠΊΠΈ?",
  "genres": [ "Ѐантастика", "Π‘ΠΎΠ΅Π²ΠΈΠΊΠΈ", "Π’Ρ€ΠΈΠ»Π»Π΅Ρ€Ρ‹", "Π”Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΠ²Ρ‹", "ΠšΡ€ΠΈΠΌΠΈΠ½Π°Π»" ],
  "persons": [
    { "name": "Π›ΠΈ Π£ΠΎΠ½Π½Π΅Π»Π»", "type": "director" },
    { "name": "Π›ΠΎΠ³Π°Π½ ΠœΠ°Ρ€ΡˆΠ°Π»Π»-Π“Ρ€ΠΈΠ½", "type": "actor" },
    { "name": "МСлани Π’Π°Π»Π»ΡŒΠ΅Ρ…ΠΎ", "type": "actor" },
    { "name": "Π‘Ρ‚ΠΈΠ² ДаниСлсСн", "type": "actor" },
    { "name": "Π­Π±Π±ΠΈ ΠšΡ€Π°Π΄Π΅Π½", "type": "actor" },
    { "name": "Π₯аррисон ГилбСртсон", "type": "actor" }
  ],
  "packages": [ 1000, 1004, 1200, 21713930 ],
  "asset_types": [ 1000059, 2377438 ]
}

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡

ПолС Вип ОписаниС
id int64 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
name string Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
start_time int врСмя Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (timestamp)
end_time int врСмя окончания ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (timestamp)
age_value int ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° возраста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 18)
logo string url ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с ΠΎΠ±Π»ΠΎΠΆΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
description string ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
genre string ΠΆΠ°Π½Ρ€
channel object ΠΊΠ°Π½Π°Π»
channel.name string Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π°
channel.logo string url ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с ΠΎΠ±Π»ΠΎΠΆΠΊΠΎΠΉ ΠΊΠ°Π½Π°Π»Π°
channel.id int64 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ°Π½Π°Π»Π°
{
  "id": 214941696,
  "name": "Новости",
  "age_value": 0,
  "start_time": 1554793200,
  "end_time": 1554794100,
  "genre": "РасслСдованиС",
  "description": "ЕТСднСвная информационная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰Π°Ρ ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… событиях Π² странС ΠΈ ΠΌΠΈΡ€Π΅. \"ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»\" ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ достовСрно рассказываСт зритСлям ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π² области ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, экономики, общСствСнной ΠΆΠΈΠ·Π½ΠΈ, ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹, спорта. Π—Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с самой свСТСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠ΅ΠΉ ΠΎΡ‚ собствСнных коррСспондСнтов ΠΈ ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ информагСнтств.",
  "logo": "/sdp/vlg/imp_stv268287171.jpg",
  "channel": {
    "id": 1000069,
    "name": "ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π»",
    "logo": "/sdp/vlg/nclogo1529398449250.png"
  },
  "location_id": 300005
}

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°

ΠœΠ΅Ρ‚ΠΎΠ΄ выполняСт полнотСкстовый поиск ΠΏΠΎ всСй Π±Π°Π·Π΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΏΡ€ΠΈ поискС Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля, Π² порядкС убывания значимости(рСлСвантности): name, countries, persons.name, genres, year, description

ΠŸΡ€ΠΈ поискС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‚Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ поля name, genre ,channel.name, description

ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹ΠΉ поиск Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ совпадСния поискового запроса, с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ Π² Π±Π°Π·Π΅. ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

  • Π²Π²ΠΎΠ΄ поискового запроса 'транслитом'.
  • Π²Π²ΠΎΠ΄ поискового запроса Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΉ раскладкС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. НапримСр, ΠΏΠΎ запросу keynbr Π΄ΠΎΠ»ΠΆΠ΅Π½ находится ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ содСрТащий Π»ΡƒΠ½Ρ‚ΠΈΠΊ
  • поиск с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… словоформ. НапримСр, ΠΏΠΎ запросу ΠΊΡƒΡ…Π½ΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ находится ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ содСрТащий кухня
  • поиск с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. ДопускаСтся ΠΎΠ΄Π½Π° ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² слова. НапримСр, ΠΏΠΎ запросу ΠŸΠ΅Ρ€Π²Ρ„ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ находится ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ содСрТащий слово ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ
  • Ссли Π΄Π»ΠΈΠ½Π° слова Π² запросС Π±ΠΎΠ»Π΅Π΅ 2-ΡƒΡ… символов, поиск ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ слов Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π΅, Ссли Π΄Π»ΠΈΠ½Π° слова Π±ΠΎΠ»Π΅Π΅ 3-Π΅Ρ… символов, Ρ‚ΠΎ поиск ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ слова.

Π”ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ встрСчаСтся хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ слово ΠΈΠ· поискового запроса. Π§Π΅ΠΌ большС слов ΠΈΠ· поискового запроса нашлось Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ.

НайдСнный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ отсортирован Π² порядкС ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ рСлСвантности.

GET /api/v1/search

ДопустимыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса

АргумСнт Π’ΠΈΠΏ ОписаниС
limit int МаксимальноС количСство элСмСнтов Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅
offset int Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅. Π‘ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ всС элСмСнты Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ порядкового Π½ΠΎΠΌΠ΅Ρ€Π°
query string ΠŸΠΎΠΈΡΠΊΠΎΠ²Ρ‹ΠΉ запрос

Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°

{
   "total_items" : 100,
   "items" : [
      {
          "type" : "media_item",
          "media_item" : {
            // ВсС поля сущности media_item ....
          }
      },
      {
          "type" : "epg",
          "epg" : {
            // ВсС поля сущности epg ....
        }
      }
   ]
}

Бписок Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ²

GET /api/v1/media_items

ДопустимыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса:

АргумСнт Π’ΠΈΠΏ ОписаниС
limit int МаксимальноС количСство элСмСнтов Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅
offset int Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅. Π‘ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ всС элСмСнты Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ порядкового Π½ΠΎΠΌΠ΅Ρ€Π°
genres []string Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΆΠ°Π½Ρ€ΠΎΠ²
year_ge int Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΠΉ Π½Π΅ Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°
year_le int Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠΈΠΉ Π½Π΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°
countries []string Π‘Ρ‚Ρ€Π°Π½Ρ‹
sort_by string Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ ("name"), Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Ρƒ ("rating"), Π³ΠΎΠ΄Ρƒ ("year")
Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сортировки - ΠΏΠΎΠ»Π΅ id
sort_dir string НаправлСниС сортировки: ΠΎΡ‚ мСньшСго ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ ("asc") ΠΈΠ»ΠΈ ΠΎΡ‚ большСго ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ ("desc")

Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°

{
    "total_items" : 100,
    "items" : [
        {
            "id" : 293823,
            "name" : "Π’Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€"
             // ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля сущности media_item ....
        }
    ]
}

Π’Π΅Π»Π΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ

GET /api/v1/epg?

ДопустимыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса:

АргумСнт Π’ΠΈΠΏ ОписаниС
start_time int Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (timestamp)
end_time int ΠΊΠΎΠ½Π΅Ρ† Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (timestamp)
channel_ids []int ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠ°Π½Π°Π»ΠΎΠ² (Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²)
limit int ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅

Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π°

{
    "total_items" : 100,
    "items" : [
        {
            "id" : 293823,
            "name" : "Новости"
             // ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля сущности epg ....
        }
    ]
}

НайдСнный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ отсортирован Π² порядкС увСличСния значСния start_time.

НаграТдСниС

Π—Π°Π΄Π°Ρ‡Π° слоТная, Π½ΠΎ Ρ‚Π΅ΠΌ интСрСснСС участиС. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Ρ‚Π΅Π±Π΅ потрСбуСтся большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Ρƒ тСбя Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ полнотСкстового поиска. ΠœΡ‹ это ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ конкурсС Π·Π°Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ тСбя Π±Ρ‹Π»ΠΎ врСмя ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° участия ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ.

НаграТдСниС ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ состоится Π½Π° GopherConRu Π² 18:00 Π½Π° стСндС РостСлСкома.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published