srikary12 05c0aa3882 Support exclusion file filters (#826)
### Overview
Support exclude file filter in user search queries

### Details
- All of the exclude file filter terms need to be satisfied
- Any one of the include file filter terms should be satisfied

### Example
- **Search Query**: *what happened yesterday? -file:"tasks.org" -file:"work.md" file:"diary.org" file:"journal.org*
- **Behavior**: Query will try find relevant notes in any of `journal.org` or `diary.org` and not in `tasks.org` and not in `work.md`

### Details
* Add support for exclusion file filters
* Translate file filter to valid Django DB entry filter regex
* Exclude all files when multiple exclude file filter in query

Previously we were applying an "Or" filter, which would exclude any
file mentioned in a query with multiple exclude file filter.

This is not what we naturally mean when we ask excluding a file in a query

* Rename, rearrange, deduplicate and add file filter tests

Closes #728
---------

Co-authored-by: Debanjum Singh Solanky <debanjum@gmail.com>
2024-08-12 05:41:54 -07:00
2024-08-12 05:41:54 -07:00
2024-08-11 16:00:13 +05:30
2024-08-11 16:00:13 +05:30

Khoj Logo

test dockerize pypi Discord

The open-source, personal AI for your digital brain

🤖 Read Docs   •   🏮 Khoj Cloud   •   💬 Get Involved   •   📚 Read Blog


Khoj is an application that creates always-available, personal AI agents for you to extend your capabilities.

  • You can share your notes and documents to extend your digital brain.
  • Your AI agents have access to the internet, allowing you to incorporate realtime information.
  • Khoj is accessible on Desktop, Emacs, Obsidian, Web and Whatsapp.
  • You can share pdf, markdown, org-mode, notion files and github repositories.
  • You'll get fast, accurate semantic search on top of your docs.
  • Your agents can create deeply personal images and understand your speech.
  • Khoj is open-source, self-hostable. Always.

See it in action

Khoj Demo

Go to https://app.khoj.dev to see Khoj live.

Full feature list

You can see the full feature list here.

Self-Host

To get started with self-hosting Khoj, read the docs.

Contributors

Cheers to our awesome contributors! 🎉

Made with contrib.rocks.

Interested in Contributing?

We are always looking for contributors to help us build new features, improve the project documentation, or fix bugs. If you're interested, please see our Contributing Guidelines and check out our Contributors Project Board.

Sponsors

Shout out to our brilliant sponsors! 🌈

Description
No description provided
Readme AGPL-3.0 116 MiB
Languages
Python 51%
TypeScript 36.1%
CSS 4.1%
HTML 3.2%
Emacs Lisp 2.4%
Other 3.1%