{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":196042060,"defaultBranch":"master","name":"bitrix-elastic-indexer","ownerLogin":"sheerockoff","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-07-09T16:05:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6939248?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1687173289.356107","currentOid":""},"activityList":{"items":[{"before":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","after":"3bce372c87bf047d99a2efc9d630bd315615c513","ref":"refs/heads/master","pushedAt":"2023-11-09T14:28:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Информация по запуску тестов.","shortMessageHtmlLink":"Информация по запуску тестов."}},{"before":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","after":"6dd2bf848b75558030f300bb9d6d1be01cb49ce7","ref":"refs/heads/elastic-8","pushedAt":"2023-06-19T11:21:30.252Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"- версия 8.8 эластика (#15)\n\nCo-authored-by: Alexander Pavlov ","shortMessageHtmlLink":"- версия 8.8 эластика (#15)"}},{"before":null,"after":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","ref":"refs/heads/elastic-8","pushedAt":"2023-06-19T11:14:49.356Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"vitalik.shirokov@gmail.com","shortMessageHtmlLink":"vitalik.shirokov@gmail.com"}},{"before":"c9ab7e50f270181a2cf30886fd8e0ae7c778b7f8","after":"3825b4057b74edfd0f79340592bddf56e7af990f","ref":"refs/heads/v0.2","pushedAt":"2023-04-04T09:14:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Ключи фильтра и сортировки теперь не зависят от регистра, например `[\">cAtAlOg_pRiCe_1\" => 0]` и `[\"sOrT\" => \"Asc\"]`.","shortMessageHtmlLink":"Ключи фильтра и сортировки теперь не зависят от регистра, например `[…"}},{"before":null,"after":"c9ab7e50f270181a2cf30886fd8e0ae7c778b7f8","ref":"refs/heads/v0.2","pushedAt":"2023-04-03T11:47:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] Исправлена ошибка формирования запроса, когда во вложенном фильтре явно не указана логика (`\"LOGIC\" => \"AND\"`).","shortMessageHtmlLink":"[FIX] Исправлена ошибка формирования запроса, когда во вложенном филь…"}},{"before":"c9ab7e50f270181a2cf30886fd8e0ae7c778b7f8","after":null,"ref":"refs/heads/v2.0","pushedAt":"2023-04-03T11:46:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"69fb885e4ac079de336b5ff3e1c6ed37e5b836f3","after":"c9ab7e50f270181a2cf30886fd8e0ae7c778b7f8","ref":"refs/heads/v2.0","pushedAt":"2023-04-03T11:45:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] Исправлена ошибка формирования запроса, когда во вложенном фильтре явно не указана логика (`\"LOGIC\" => \"AND\"`).","shortMessageHtmlLink":"[FIX] Исправлена ошибка формирования запроса, когда во вложенном филь…"}},{"before":"998a6742c2a183f7c7c5aca56ee11c9e099dbbad","after":"69fb885e4ac079de336b5ff3e1c6ed37e5b836f3","ref":"refs/heads/v2.0","pushedAt":"2023-03-31T11:12:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] Применяем `trim` к строке перед приведением к числу или булеву типу. В версиях PHP меньше 8.0 лишние символы (например, `\"14999\\t\"`) мешали определению числа функцией `is_numeric`, и для таких чисел мы возвращали `null` при нормализации.","shortMessageHtmlLink":"[FIX] Применяем trim к строке перед приведением к числу или булеву …"}},{"before":"73e7d4df2ace4cfff52be72f246d61432ea6f55f","after":"998a6742c2a183f7c7c5aca56ee11c9e099dbbad","ref":"refs/heads/v2.0","pushedAt":"2023-03-29T10:47:50.321Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] Для типов `text` и `keyword` при нормализации пустая строка `\"\"` теперь приводится к `null`.","shortMessageHtmlLink":"[FIX] Для типов text и keyword при нормализации пустая строка `\"\"…"}},{"before":"611564ef22c9020e43570c1494a56c85bc73fbd2","after":"73e7d4df2ace4cfff52be72f246d61432ea6f55f","ref":"refs/heads/v2.0","pushedAt":"2023-03-29T08:38:50.169Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] В методе `normalizeData` убрано неочевидное преобразование пустых значений в `null`.","shortMessageHtmlLink":"[FIX] В методе normalizeData убрано неочевидное преобразование пуст…"}},{"before":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","after":"611564ef22c9020e43570c1494a56c85bc73fbd2","ref":"refs/heads/v2.0","pushedAt":"2023-03-28T14:25:50.871Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"[FIX] Изменена логика сортировки `nulls` с сортировки пустых значений на сортировку отсутствующих значений `null`.","shortMessageHtmlLink":"[FIX] Изменена логика сортировки nulls с сортировки пустых значений…"}},{"before":null,"after":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","ref":"refs/heads/v2.0","pushedAt":"2023-03-28T11:48:58.689Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"vitalik.shirokov@gmail.com","shortMessageHtmlLink":"vitalik.shirokov@gmail.com"}},{"before":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","after":null,"ref":"refs/tags/v0.2","pushedAt":"2023-03-28T11:47:41.645Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","after":null,"ref":"refs/tags/v0.1.6","pushedAt":"2023-03-28T10:38:38.558Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"461dc146bcbd653bb4f7e4275336d7f625083567","after":"ff3dbcad1618e8e1ed9b6bd9a53e68ee1f5f5fdc","ref":"refs/heads/master","pushedAt":"2023-03-28T09:00:14.210Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"vitalik.shirokov@gmail.com","shortMessageHtmlLink":"vitalik.shirokov@gmail.com"}},{"before":"af5b0cd5582b8a85d598763603fb1f5973a97b9c","after":null,"ref":"refs/heads/code-quality","pushedAt":"2023-03-28T08:44:34.728Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"4fca9ed984dcb1b3efdc175627a025367d86ec71","after":"461dc146bcbd653bb4f7e4275336d7f625083567","ref":"refs/heads/master","pushedAt":"2023-03-28T08:44:28.697Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Рефакторинг.\n\n* Реализация всех методов перенесена из класса `Indexer` в новые классы `Mapper`, `Keeper` и `Finder`.\n* Класс `Indexer` теперь используется как фасад для классов `Mapper`, `Keeper` и `Finder` для сохранения обратной совместимости.\n* TypeHint.\n* Декомпозиция `Finder::prepareFilterQuery`.","shortMessageHtmlLink":"Рефакторинг."}},{"before":"7b821b65ddaf4f0da12715b7e2c075129b99f919","after":"af5b0cd5582b8a85d598763603fb1f5973a97b9c","ref":"refs/heads/code-quality","pushedAt":"2023-03-28T08:27:28.640Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Рефакторинг.\n\n* Декомпозиция `Finder::prepareFilterQuery`.","shortMessageHtmlLink":"Рефакторинг."}},{"before":"0437adaae9a0bb5fb40e45378f1d15b78f1dfc22","after":"7b821b65ddaf4f0da12715b7e2c075129b99f919","ref":"refs/heads/code-quality","pushedAt":"2023-03-27T16:15:51.377Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Рефакторинг.\n\n* Реализация всех методов перенесена из класса `Indexer` в новые классы `Mapper`, `Keeper` и `Finder`.\n* Класс `Indexer` теперь используется как фасад для классов `Mapper`, `Keeper` и `Finder` для сохранения обратной совместимости.\n* TypeHint.","shortMessageHtmlLink":"Рефакторинг."}},{"before":null,"after":"0437adaae9a0bb5fb40e45378f1d15b78f1dfc22","ref":"refs/heads/code-quality","pushedAt":"2023-03-27T14:15:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix scrutinizer bugs","shortMessageHtmlLink":"Fix scrutinizer bugs"}},{"before":"d2d2cb106327daf0cd399718ce810c362ac4a804","after":"4fca9ed984dcb1b3efdc175627a025367d86ec71","ref":"refs/heads/master","pushedAt":"2023-03-27T13:47:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"PHP 7.4 в Scrutinizer","shortMessageHtmlLink":"PHP 7.4 в Scrutinizer"}},{"before":"d2d2cb106327daf0cd399718ce810c362ac4a804","after":null,"ref":"refs/heads/issue-14","pushedAt":"2023-03-27T13:34:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"ca4a0e842cb36741801a1188d64c36951c756dce","after":"d2d2cb106327daf0cd399718ce810c362ac4a804","ref":"refs/heads/master","pushedAt":"2023-03-27T13:34:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix #14\n\n* В числовых типах (`integer`, `long`, `float`, `double`) пустые значения (`null`, `false`, `\"\"`) отличные от `0` теперь хранятся как `null`.\n* В строковых типах (`keyword`, `text`) пустые значения `null` и `false` теперь хранятся как `null`, а не как пустая строка `\"\"`.\n* Добавлена поддержка фильтрации по значению `false`. В Битрикс `false` обозначает отстутвие значения. В Elastic теперь такие значения хранятся как `null` и предполагают отсутствие значения. Документы с такими свойствами, фильтруются через фильтр `exists` (https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-exists-query.html#query-dsl-exists-query).","shortMessageHtmlLink":"Fix #14"}},{"before":null,"after":"d2d2cb106327daf0cd399718ce810c362ac4a804","ref":"refs/heads/issue-14","pushedAt":"2023-03-27T11:43:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix #14\n\n* В числовых типах (`integer`, `long`, `float`, `double`) пустые значения (`null`, `false`, `\"\"`) отличные от `0` теперь хранятся как `null`.\n* В строковых типах (`keyword`, `text`) пустые значения `null` и `false` теперь хранятся как `null`, а не как пустая строка `\"\"`.\n* Добавлена поддержка фильтрации по значению `false`. В Битрикс `false` обозначает отстутвие значения. В Elastic теперь такие значения хранятся как `null` и предполагают отсутствие значения. Документы с такими свойствами, фильтруются через фильтр `exists` (https://www.elastic.co/guide/en/elasticsearch/reference/7.17/query-dsl-exists-query.html#query-dsl-exists-query).","shortMessageHtmlLink":"Fix #14"}},{"before":"7fa53ec4f6fb78e7805fbebd1ea5ca3912d641d3","after":"ca4a0e842cb36741801a1188d64c36951c756dce","ref":"refs/heads/master","pushedAt":"2023-03-22T12:00:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Typo mbstring.func_overload","shortMessageHtmlLink":"Typo mbstring.func_overload"}},{"before":"733e2e7c2d2996317bd7574915a4f719d6d874b2","after":null,"ref":"refs/heads/php8.2","pushedAt":"2023-03-22T11:56:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"}},{"before":"ca434bfcde80c57e021110b17e4805cb4faca7b4","after":"7fa53ec4f6fb78e7805fbebd1ea5ca3912d641d3","ref":"refs/heads/master","pushedAt":"2023-03-22T11:56:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"* Добавлена поддержка Bitrix v22.600.\n* Добавлена поддержка PHP 8.0, 8.1 и 8.2.","shortMessageHtmlLink":"* Добавлена поддержка Bitrix v22.600."}},{"before":"37c7bab9c8afa2cb3f4d2e7d3d5bdde100471ae9","after":"733e2e7c2d2996317bd7574915a4f719d6d874b2","ref":"refs/heads/php8.2","pushedAt":"2023-03-22T11:51:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix scrutinizer/ocular","shortMessageHtmlLink":"Fix scrutinizer/ocular"}},{"before":"65462c6803e47ec7b43ec35b22346d5f2cd0df8a","after":"37c7bab9c8afa2cb3f4d2e7d3d5bdde100471ae9","ref":"refs/heads/php8.2","pushedAt":"2023-03-22T11:46:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix scrutinizer/ocular","shortMessageHtmlLink":"Fix scrutinizer/ocular"}},{"before":"19e1e2099ef228e10d27b5413ec0912baf0d4dc6","after":"65462c6803e47ec7b43ec35b22346d5f2cd0df8a","ref":"refs/heads/php8.2","pushedAt":"2023-03-22T11:42:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sheerockoff","name":"Vitalik Shirokov","path":"/sheerockoff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6939248?s=80&v=4"},"commit":{"message":"Fix scrutinizer/ocular","shortMessageHtmlLink":"Fix scrutinizer/ocular"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0wOVQxNDoyODoxNy4wMDAwMDBazwAAAAOrXwax","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0wOVQxNDoyODoxNy4wMDAwMDBazwAAAAOrXwax","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0yMlQxMTo0Mjo0NC4wMDAwMDBazwAAAAMIywC3"}},"title":"Activity · sheerockoff/bitrix-elastic-indexer"}