khoj/src/interface/emacs/README.org
2022-07-21 22:09:44 +04:00

56 lines
2.1 KiB
Org Mode

* Emacs Khoj
/An Emacs interface for [[https://github.com/debanjum/khoj][Khoj]]/
** Requirements
- Install and Run [[https://github.com/debanjum/khoj][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
#+begin_src elisp
;; Khoj Package
(use-package khoj
:load-path "~/.emacs.d/lisp/khoj.el"
:bind ("C-c s" . 'khoj))
#+end_src
- With [[https://github.com/raxod502/straight.el][straight.el]]
- Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.
#+begin_src elisp
;; Khoj Package for Semantic Search
(use-package khoj
:after org
:straight (khoj :type git :host github :repo "debanjum/khoj" :files (:defaults "src/interface/emacs/khoj.el"))
:bind ("C-c s" . 'khoj))
#+end_src
- With [[https://github.com/quelpa/quelpa#installation][Quelpa]]
- Ensure [[https://github.com/quelpa/quelpa#installation][Quelpa]], [[https://github.com/quelpa/quelpa-use-package#installation][quelpa-use-package]] are installed
- Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.
#+begin_src 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))
#+end_src
** 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"`