Vector Search

by Ashwin A Murali
Score: 30/100
Description

The Vector Search plugin enhances Obsidian with semantic search capabilities using Ollama's embedding API. Unlike traditional keyword-based search, it finds notes with similar meanings by generating vector embeddings for markdown content. The plugin enables users to search for related notes based on selected text, configure similarity thresholds, and process files efficiently with automatic indexing and updates. It includes smart text chunking strategies to optimize search results and supports real-time monitoring of file changes.

Stats
31
stars
682
downloads
2
forks
94
days
93
days
96
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
2
total issues
2
open issues
0
closed issues
0
commits
Latest Version
3 months ago
Changelog

Vector Search Plugin v0.2.0

Major Features

  • ⚡ Automatic file change detection

    • Real-time vector updates when files change
    • Smart handling of file renames and deletions
    • Debounced processing to prevent overload
  • 📝 Smart Text Chunking

    • Paragraph-based chunking strategy
    • Character-based chunking with overlap
    • Configurable chunk size and overlap
  • 🔄 Improved Vector Storage

    • Better JSON structure for large datasets
    • Efficient metadata handling
    • Optimized for incremental updates

New Settings

  • chunkingStrategy: Choose between 'paragraph' or 'character' based chunking
  • chunkSize: Configure the size of text chunks (default: 500)
  • chunkOverlap: Set overlap between chunks (default: 100)
  • fileProcessingDebounceTime: Delay for processing file changes (default: 2000ms)

Improvements

  • Removed redundant file tracking in favor of Obsidian API
  • Added error handling for file processing
  • Better progress indicators during operations
  • Optimized vector storage structure

Requirements

  • Obsidian v1.7.7 or higher
  • Ollama with nomic-embed-text model
README file from

Obsidian Vector Search Plugin

This plugin adds semantic search capabilities to Obsidian using Ollama's embedding API. It allows you to find semantically similar notes based on content rather than just keyword matching.

Features

  • 🔍 Semantic search across your entire vault
  • 🤖 Powered by Ollama's embedding model
  • 📊 Configurable similarity threshold
  • 🚀 Fast local search once embeddings are generated
  • ⚡ Automatic file change detection and updates
  • 📝 Smart text chunking strategies
  • 🔄 Efficient incremental updates

Prerequisites

1. Ollama Setup

  • Install Ollama for your platform:
    • macOS: Download from ollama.ai
    • Linux: Run curl -fsSL https://ollama.ai/install.sh | sh
    • Windows: Currently in beta, follow instructions on ollama.ai
  • Verify installation by running ollama --version in terminal
  • Start Ollama service:
    • It should run automatically on macOS
    • On Linux: systemctl start ollama or run ollama serve
    • On Windows: Run Ollama from Start Menu

2. Model Installation

  • Pull the required embedding model:
ollama pull nomic-embed-text
  • Verify model installation:
ollama list
  • Expected size: ~500MB
  • First-time embedding generation might be slower

3. System Requirements

  • Minimum 1GB RAM for Ollama service
  • ~500MB disk space for the model
  • Stable internet connection for initial model download
  • Port 11434 must be available (default Ollama port)

4. Troubleshooting

  1. If Ollama service isn't responding:

    curl http://localhost:11434/api/embeddings

    Should return a response (even if error)

  2. Common issues:

    • Port 11434 in use: Change port in Ollama config
    • Permission denied: Run with sudo on Linux
    • Model download fails: Check internet connection
    • High CPU usage: Normal during first few runs

Installation

  1. Clone this repo to your .obsidian/plugins/ folder
  2. Install dependencies: npm install
  3. Build the plugin: npm run dev
  4. Enable the plugin in Obsidian's settings

Usage

  1. Initial Setup

    • Go to Settings > Vector Search
    • Configure your Ollama URL (default: http://localhost:11434)
    • Set your desired similarity threshold (0-1)
  2. Building the Index

    • Click the vector search icon in the ribbon
    • Wait for all notes to be processed (progress will be shown)
  3. Searching

    • Select any text in a note
    • Use the command "Find Similar Notes" (or set up a hotkey)
    • View results in the popup modal

How it Works

  1. The plugin creates vector embeddings for all your markdown notes using Ollama
  2. When you search, it:
    • Creates an embedding for your selected text
    • Uses cosine similarity to find the most similar notes
    • Shows results above your configured threshold

Development

  • npm run dev - Start compilation in watch mode
  • npm run build - Build the plugin
  • npm test - Run tests

Logs

The plugin logs all API calls and operations to the Developer Console (Ctrl+Shift+I or Cmd+Option+I on Mac). This includes:

  • Embedding API requests
  • Index building progress
  • File processing status
  • Any errors or issues

Configuration

{
    "ollamaURL": "http://localhost:11434",
    "searchThreshold": 0.7,
    "chunkSize": 500,
    "chunkOverlap": 100,
    "chunkingStrategy": "paragraph",
    "fileProcessingDebounceTime": 2000
}

Chunking Strategies

  • Paragraph: Splits text by paragraphs (default)
  • Character: Splits text by character count with overlap

File Processing

  • Automatically detects file changes
  • Updates vectors when files are modified
  • Handles file renames and deletions
  • Debounced processing to prevent overload
Similar Plugins
info
• Similar plugins are suggested based on the common tags between the plugins.
PARA Shortcuts
3 years ago by gOAT
This plugin serves usefull commands to setup and manage your knowledge using the PARA method.
Note Linker
3 years ago by Alexander Weichart
🔗 Automatically link your Obsidian notes.
Khoj
2 years ago by Debanjum Singh Solanky
Your AI second brain. Self-hostable. Get answers from the web or your docs. Build custom agents, schedule automations, do deep research. Turn any online or local LLM into your personal, autonomous AI (gpt, claude, gemini, llama, qwen, mistral). Get started - free.
WuCai highlights Official
2 years ago by 希果壳五彩
WuCai highlights Official, for Sync highlights into your obsidian notes
AI Mentor
2 years ago by clementpoiret
Vault Chat
2 years ago by Exo Ascension
A ChatGPT bot trained on your vault notes. Ask your AI questions about your own thoughts and ideas!
AI Tools
2 years ago by solderneer
Adding powerful semantic search, generative answers, and other AI tools to Obsidian, using Supabase + OpenAI.
Wikidata Importer
2 years ago by Sam Rose
A plugin for importing data from Wikidata into your Obsidian vault.
Zettelkasten LLM Tools
2 years ago by Karl Smith
Zettelkasten note taking powered by Large Language Models
Ollama
2 years ago by hinterdupfinger
Smart Second Brain
a year ago by Leo310, nicobrauchtgit
An Obsidian plugin to interact with your privacy focused AI-Assistant making your second brain even smarter!
AI Zhipu
a year ago by Tarslab
AI-zhipu is an Obsidian plugin that helps you utilize the Zhipu API. 智谱AI obsidian 插件
Smart Text Mover
a year ago by Ankush-Chander
Organize text/links in file without a hassle
Note Reviewer
9 months ago by Travis Linkey
An obsidian plugin to help review notes that have been taken
Stenography
4 years ago by bramses
ExMemo Client
7 months ago by Yan.Xie
exmemo obsidian plugin
Simple Quiz
6 months ago by Ivan Kalmar
Creating simple quizzes.
Confluence Space Sync
4 months ago by Pwnyprod
A Plugin to Sync full Confluence Spaces to Obsidian.
MCP Tools
3 months ago by Jack Steam
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
Feedly Annotations Sync
3 months ago by Nick Felker
Download my Feedly annotations
Note ID
3 months ago by Dominik Mayer
Displays notes by their ID, enabling structured sequences for manuscripts or a Zettelkasten ("Folgezettel")
LLM Tagger
3 months ago by David Jayatillake
Vision Recall
3 months ago by Travis Van Nimwegen
Transform screenshots into searchable Obsidian notes using AI vision and text analysis
KOI Sync
3 months ago by Luke Miller
InfoFlow
2 months ago by RockieStar Inc.
Obsidian plugin for InfoFlow.app - This plugin integrates InfoFlow with Obsidian, allowing you to sync your saved articles, web pages, notes, and highlights directly into your Obsidian vault.
ClipperMaster
a month ago by aqeja