2022-07-21 19:54:30 +02:00
|
|
|
# Emacs Khoj
|
|
|
|
|
|
|
|
*An Emacs interface for [Khoj](https://github.com/debanjum/khoj)*
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
|
|
|
- Install and Run [Khoj](https://github.com/debanjum/khoj)
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
- Direct Install
|
|
|
|
- Put `khoj.el` in your Emacs load path. For e.g \~/.emacs.d/lisp
|
|
|
|
|
|
|
|
- Load via `use-package` in your \~/.emacs.d/init.el or .emacs
|
|
|
|
file by adding below snippet
|
|
|
|
|
|
|
|
``` elisp
|
|
|
|
;; Khoj Package
|
|
|
|
(use-package khoj
|
|
|
|
:load-path "~/.emacs.d/lisp/khoj.el"
|
|
|
|
:bind ("C-c s" . 'khoj))
|
|
|
|
```
|
|
|
|
- With [straight.el](https://github.com/raxod502/straight.el)
|
|
|
|
- Add below snippet to your \~/.emacs.d/init.el or .emacs config
|
|
|
|
file and execute it.
|
|
|
|
|
|
|
|
``` elisp
|
|
|
|
;; Khoj Package for Semantic Search
|
|
|
|
(use-package khoj
|
|
|
|
:after org
|
2023-02-14 21:50:51 +01:00
|
|
|
:straight (khoj :type git :host github :repo "debanjum/khoj" :files (:defaults "src/khoj/interface/emacs/khoj.el"))
|
2022-07-21 19:54:30 +02:00
|
|
|
:bind ("C-c s" . 'khoj))
|
|
|
|
```
|
|
|
|
- With [Quelpa](https://github.com/quelpa/quelpa#installation)
|
|
|
|
- Ensure [Quelpa](https://github.com/quelpa/quelpa#installation),
|
|
|
|
[quelpa-use-package](https://github.com/quelpa/quelpa-use-package#installation)
|
|
|
|
are installed
|
|
|
|
|
|
|
|
- Add below snippet to your \~/.emacs.d/init.el or .emacs config
|
|
|
|
file and execute it.
|
|
|
|
|
|
|
|
``` elisp
|
|
|
|
;; Khoj Package
|
|
|
|
(use-package khoj
|
|
|
|
:after org
|
|
|
|
:quelpa (khoj :fetcher url :url "https://raw.githubusercontent.com/debanjum/khoj/master/interface/emacs/khoj.el")
|
|
|
|
:bind ("C-c s" . 'khoj))
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
1. Open Query Interface on Client
|
|
|
|
|
|
|
|
- In Emacs: Call `khoj` using keybinding `C-c s` or `M-x khoj`
|
|
|
|
- On Web: Open <http://localhost:8000/>
|
|
|
|
|
|
|
|
2. Query in Natural Language
|
|
|
|
|
|
|
|
e.g \"What is the meaning of life?\" \"What are my life goals?\"
|
|
|
|
|
|
|
|
**Note: It takes about 4s on a Mac M1 and a \>100K line corpus of
|
|
|
|
notes**
|
|
|
|
|
|
|
|
3. (Optional) Narrow down results further
|
|
|
|
|
|
|
|
Include/Exclude specific words or date range from results by
|
|
|
|
updating query with below query format
|
|
|
|
|
|
|
|
e.g \`What is the meaning of life? -god +none dt:\"last week\"\`
|