khoj/src/interface/emacs
Debanjum Singh Solanky 9ab3edf6d6 Re-rank incremental search results using cross-encoder if user idle
This provides a relatively smooth mechanism
- to improve relevance of results on idle
- while providing the rapid, incremental results while typing
2022-07-27 07:25:42 +04:00
..
khoj.el Re-rank incremental search results using cross-encoder if user idle 2022-07-27 07:25:42 +04:00
README.org Update documentation. Simplify, reflect current capabilities 2022-07-21 22:09:44 +04:00

Emacs Khoj

An Emacs interface for Khoj

Requirements

  • Install and Run 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

        ;; Khoj Package
        (use-package khoj
          :load-path "~/.emacs.d/lisp/khoj.el"
          :bind ("C-c s" . 'khoj))
  • With straight.el

    • Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.

        ;; 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))
  • With Quelpa

    • Ensure Quelpa, quelpa-use-package are installed
    • Add below snippet to your ~/.emacs.d/init.el or .emacs config file and execute it.

        ;; 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

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