* Emacs Semantic Search
  /An Emacs interface for [[https://github.com/debanjum/semantic-search][semantic-search]]/

** Requirements
   - Install and Run [[https://github.com/debanjum/semantic-search][semantic-search]]

** Installation
   - Direct Install
     - Put ~semantic-search.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
         ;; Org-Semantic Search Library
         (use-package semantic-search
           :load-path "~/.emacs.d/lisp/semantic-search.el"
           :bind ("C-c s" . 'semantic-search))
       #+end_src

   - Use [[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
         ;; Org-Semantic Search Library
         (use-package semantic-search
           :quelpa (semantic-search :fetcher url :url "https://raw.githubusercontent.com/debanjum/semantic-search/master/interface/emacs/semantic-search.el")
           :bind ("C-c s" . 'semantic-search))
       #+end_src

** Usage
   1. Call ~semantic-search~ using keybinding ~C-c s~ or ~M-x semantic-search~

   2. Enter Query in Natural Language

      e.g "What is the meaning of life?" "What are my life goals?"

   3. Wait for results

      *Note: It takes about 15s on a Mac M1 and a ~100K lines corpus of org-mode files*

   4. (Optional) Narrow down results further

      Include/Exclude specific words from results by adding to query

      e.g "What is the meaning of life? -god +none"
