Skip to content

Search books index, create your private local library.

License

Notifications You must be signed in to change notification settings

upupor/book-searcher

 
 

Repository files navigation

Book Searcher

GitHub stars GitHub forks Release GitHub issues GitHub license

Search books index, create your private local library.

We don't save and provide files, we provide books searching.

Desktop Usage

1. Download the pre-compiled desktop installer from Release.

  • Windows: Book-Searcher-desktop_version_x64.msi
  • macOS: Book-Searcher-desktop_version_x64.dmg
  • Linux:
    • Deb: Book-Searcher-desktop_version_amd64.deb
    • AppImage: Book-Searcher-desktop_version_amd64.AppImage

2. Prepare the index

Download the index file, then extract it, or you can make your own via book-searcher index -f *.csv.

3. Run book-searcher-desktop, and specify the decompressed index folder path in the settings menu.

Deploy with Docker

mkdir book-searcher && cd book-searcher
// Prepare the index, download or you can make your own via `book-searcher index -f *.csv`
wget https://raw.githubusercontent.com/book-searcher-org/book-searcher/master/docker-compose.yml
docker-compose up -d

Now book-searcher it will listen to 0.0.0.0:7070.

Usage

1. Download the pre-compiled binary from Release.

Or you can compile by yourself. Refer to Build from source for instructions.

2. Prepare the index

Download the index file, or you can make your own via book-searcher index -f *.csv.

Extract the index folder to the same level as the program, it should look like the following:

book_searcher_dir
├── index
│   ├── some index files...
│   └── meta.json
└── book-searcher

3. Run book-searcher run, it will listen to 127.0.0.1:7070.

Access http://127.0.0.1:7070/ to use webui, or you can use the original api.

original search api

You can search by the following fields:

  • title
  • author
  • publisher
  • extension
  • language
  • isbn
  • id

Examples:

  • http://127.0.0.1:7070/search?limit=30&query=余华
  • http://127.0.0.1:7070/search?limit=30&query=title:机器学习 extension:azw3 publisher:清华
  • http://127.0.0.1:7070/search?limit=30&query=id:18557063
  • http://127.0.0.1:7070/search?limit=30&query=isbn:9787302423287

Build from source

1. Build book-searcher

First build frontend

make frontend_preinstall frontend

Then build book-searcher

TARGET=release make

# move the compiled binary to the project root directory
mv target/release/book-searcher .

2. Build index

Prepare the raw books metadata and extract the csv files to the project root directory.

Then run book-searcher index -f *.csv. You may need to rm index/* first.

The finally folder structure should look like this:

book_searcher_dir // in the example above, it is project root directory.
├── index
│   ├── some index files...
│   └── meta.json
└── book-searcher

Raw metadata

This raw metadata is used to generate index, should be a csv file with the following fields:

id, title, author, publisher, extension, filesize, language, year, pages, isbn, ipfs_cid

License

book-searcher © The Book Searcher Authors, Released under the BSD-3-Clause License.

About

Search books index, create your private local library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 63.8%
  • Rust 29.5%
  • Shell 5.0%
  • Makefile 0.6%
  • Dockerfile 0.6%
  • HTML 0.4%
  • CSS 0.1%