[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71371":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},71371,"book-searcher","zu1k\u002Fbook-searcher","zu1k","Easy and blazing-fast book searcher, create and search your private library.","",null,"TypeScript",6312,313,34,6,0,1,38.49,"BSD 3-Clause \"New\" or \"Revised\" License",false,"master",true,[],"2026-06-12 02:02:51","# Book Searcher\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fzu1k\u002Fbook-searcher)](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Fstargazers)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fzu1k\u002Fbook-searcher)](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Fnetwork)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fzu1k\u002Fbook-searcher)](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Freleases)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fzu1k\u002Fbook-searcher)](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Fissues)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fzu1k\u002Fbook-searcher)](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Fblob\u002Fmaster\u002FLICENSE)\n\n#### [中文版](https:\u002F\u002Fgithub.com\u002Fzu1k\u002Fbook-searcher\u002Fblob\u002Fmaster\u002FREADME_zh.md)\n\nEasy and blazing-fast book searcher, create and search your private library.\n\nBook Searcher can index metadata for over 10 million books in one minute, and search in 30µs.\n\n## Usage\n\nWe currently offer both Desktop and Command-line versions.\nFor individual users we recommend using the desktop version.\n\n### Desktop\n\n**1. Download the pre-compiled desktop installer from [Release](https:\u002F\u002Fgithub.com\u002Fbook-searcher-org\u002Fbook-searcher\u002Freleases)**\n\nOr you can compile by yourself. Refer to [Build from source](#build-desktop-version) section for instructions.\n\n- Windows: Book-Searcher-desktop_version_x64.msi\n- macOS: Book-Searcher-desktop_version_x64.dmg\n- Linux:\n    - Deb: Book-Searcher-desktop_version_amd64.deb\n    - AppImage: Book-Searcher-desktop_version_amd64.AppImage\n\n**2. Prepare the `index`**\n\nRefer to [Prepare the index](#prepare-the-index) section for instructions.\n\n**3. Run book-searcher-desktop**\n\nSpecify the `index` folder path in the settings menu.\n\n### Cli\n\n**1. Download the pre-compiled binary from [Release](https:\u002F\u002Fgithub.com\u002Fbook-searcher-org\u002Fbook-searcher\u002Freleases)**\n\nOr you can compile by yourself. Refer to [Build from source](#build-cli-version) section for instructions.\n\n**2. Prepare the `index`**\n\nRefer to [Prepare the index](#prepare-the-index) section for instructions.\n\n**3. Run `book-searcher run`**\n\nIt will listen to `127.0.0.1:7070`.\n\nAccess http:\u002F\u002F127.0.0.1:7070\u002F to use webui, or you can use the [original search api](#original-search-api).\n\n### Deploy with Docker\n\n```bash\nmkdir book-searcher && cd book-searcher\nwget https:\u002F\u002Fraw.githubusercontent.com\u002Fbook-searcher-org\u002Fbook-searcher\u002Fmaster\u002Fdocker-compose.yml\n# Prepare the index: put csv files in the directory, and run the following command to create index\ndocker-compose run --rm -v \"$PWD:$PWD\" -w \"$PWD\" book-searcher \u002Fbook-searcher index -f *.csv\n# start book-searcher\ndocker-compose up -d\n```\n\nNow `book-searcher` it will listen to `0.0.0.0:7070`.\n\n### Deploy with Vercel \u002F Netlify\n\nDeploying the frontend to Vercel \u002F Netlify to speed up loading of static resources and provide a reverse proxy to the image service.\n\n[![Deploy with Vercel](https:\u002F\u002Fvercel.com\u002Fbutton)](https:\u002F\u002Fvercel.com\u002Fnew\u002Fclone?repository-url=https%3A%2F%2Fgithub.com%2Fbook-searcher-org%2Fbook-searcher%2Ftree%2Fmaster%2Ffrontend&project-name=book-searcher&repository-name=book-searcher)\n\n[![Deploy to Netlify](https:\u002F\u002Fwww.netlify.com\u002Fimg\u002Fdeploy\u002Fbutton.svg)](https:\u002F\u002Fapp.netlify.com\u002Fstart\u002Fdeploy?repository=https:\u002F\u002Fgithub.com\u002Fbook-searcher-org\u002Fbook-searcher&base=frontend)\n\n### Original Search Api\n\nYou can search by the following fields:\n\n- title\n- author\n- publisher\n- extension\n- language\n- isbn\n- id\n\nExamples:\n\n- `\u002Fsearch?limit=30&offset=0&title=TITLE`\n- `\u002Fsearch?limit=30&offset=0&title=TITLE&author=AUTHOR`\n- `\u002Fsearch?limit=30&offset=0&isbn=ISBN`\n- `\u002Fsearch?limit=30&offset=0&query=title:TITLE extension:epub publisher:PUBLISHER`\n\nWe now have two search modes, `\u002Fsearch?limit=30&offset=0&mode=explore&title=TITLE&author=AUTHOR`\n\n- filter: the results need to meet all restrictions, default mode\n- explore: the results only need to meet certain restrictions\n\n## Build from source\n\n### Build Cli version\n\n**1. Build frontend**\n\n```bash\nmake frontend_preinstall frontend\n```\n\n**2. Build `book-searcher`**\n\n```bash\nTARGET=release make\n\n# move the compiled binary to the project root directory\nmv target\u002Frelease\u002Fbook-searcher .\n```\n\n### Build Desktop version\n\n**1. Install frontend dependencies**\n\n```bash\nmake frontend_preinstall\n```\n\n**2. Build `book-searcher-desktop`**\n\n```bash\ncargo tauri build\n```\n\n### Prepare the `index`\n\n**1. Prepare the raw data**\n\nPrepare the raw books metadata and save the `csv` files to the project root directory.\n\nThe raw data is used to generate the `index`, see [Raw data](#raw-data) section for details.\n\n**2. Create `index`**\n\nYou may need to `rm -rf index` first.\n\n```bash\nbook-searcher index -f *.csv\n```\n\nThe finally folder structure should look like this:\n\n```\nbook_searcher_dir\n├── index\n│   ├── some index files...\n│   └── meta.json\n└── book-searcher\n```\n\n## Raw data\n\nThis raw data is used to generate `index`, should be a `csv` file with the following fields:\n\n```\nid, title, author, publisher, extension, filesize, language, year, pages, isbn, ipfs_cid, cover_url, md5\n```\n\nYou will need to export and maintain your own meta information for the books you have purchased, as this project only provides fast searching.\n\n## License\n\n**book-searcher** © [The Book Searcher Authors](https:\u002F\u002Fgithub.com\u002Fbook-searcher-org\u002Fbook-searcher\u002Fgraphs\u002Fcontributors), Released under the [BSD-3-Clause](.\u002FLICENSE) License.\n","Book Searcher 是一个快速且易于使用的书籍搜索工具，可以帮助用户创建并搜索自己的私人图书馆。该项目使用 TypeScript 开发，能够在一分钟内为超过1000万本书建立索引，并在30微秒内完成搜索操作，具备极高的效率和响应速度。它提供了桌面版、命令行版以及通过 Docker 部署的选项，适合个人用户或小型团队管理大量图书资源时使用，尤其是在需要高效查找特定信息的情况下。此外，还支持通过 Vercel 或 Netlify 部署前端以加速静态资源加载并提供图片服务反向代理。",2,"2026-06-11 03:37:25","high_star"]