{"repo":"lichess-org/lila-search","free":true,"listed":false,"github":"https://github.com/lichess-org/lila-search","clone":"git clone https://github.com/lichess-org/lila-search.git","description":"Keep elasticsearch threads out of your web facing app, kids","language":"Scala","stars":53,"topics":["cats-effect","chess","elasticsearch","functional-programming","lichess","scala","scala3","smithy","smithy4s","typelevel"],"license":"AGPL-3.0","category":"cli-tools","readme_excerpt":"Search service for lichess.org \"Keep elasticsearch threads out of your web facing app, kids\" -- W. Churchill Architecture This project is organized into several modules: - app - Search HTTP API service - core - Core domain models and types - elastic - Elasticsearch client wrapper - lila-mongo - MongoDB repository abstractions and change stream support - lila-game-export - Standalone CLI tool for exporting game data to CSV - ingestor-core - Core indexing logic and repository implementations - ingestor-app - Indexing service (watches MongoDB changes and updates Elasticsearch) - ingestor-cli - CLI tool for batch indexing operations - client - HTTP client for the search API - e2e - End-to-end integration tests Development Start sbt Start sbt: Inside sbt console Start server: Run tests: Run code format and auto code refactor with scalafmt & scalafix: Start ingestor service: Start ingestor CLI tool: Start game export CLI tool: CLI Tools Index commands (ingestorCli) Export commands (lilaGameExport) The lilaGameExport module is a standalone CLI tool for exporting game data from MongoDB to CSV format. Available options: - --mongo-uri - MongoDB connection URI (or use MONGO URI env var) - --mongo-database - Database name (default: lichess, or use MONGO DATABASE env var) - --batch-size - Batch size for MongoDB operations (default: 1000) - --time-windows - Time window in seconds for batching events (default: 5) - --output - Output CSV file path (required) - --since - Start timestamp in ep","default_branch":null,"files":null,"tree":[],"storefront":"/r/lichess-org","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lichess-org/lila-search/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}