* 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"`