{
  "slug": "fuzzy-doc-search",
  "name": "gizza-ai/fuzzy-doc-search",
  "version": "0.1.0",
  "title": "Fuzzy Text Search — find ranked matching snippets — gizza.ai",
  "description": "Paste text and fuzzy-search it — find the best-matching lines even with typos, ranked by relevance with the matches highlighted. Runs in your browser, no upload.",
  "tags": [
    "fuzzy search",
    "full text search",
    "search in text",
    "find in document",
    "typo tolerant search",
    "ranked snippets",
    "search markdown",
    "grep online"
  ],
  "category": "text",
  "urls": {
    "page": "https://gizza.ai/tools/fuzzy-doc-search/",
    "markdown": "https://gizza.ai/tools/fuzzy-doc-search/index.md",
    "descriptor": "https://gizza.ai/tools/fuzzy-doc-search/tool.json",
    "deep_link_example": "https://gizza.ai/tools/fuzzy-doc-search/?query=address&text=Shipping%20policy%3A%20orders%20are%20dispatched%20within%20two%20days.%0ASend%20returns%20to%20our%20adress%20on%20file%20and%20include%20the%20receipt.%0ARefunds%20are%20processed%20within%20five%20working%20days.&match=any&fuzziness=1&case_sensitive=true&whole_word=true&unit=line&max_results=10"
  },
  "cli": "gizza tool fuzzy-doc-search \"address\" 'text=Shipping policy: orders are dispatched within two days.\nSend returns to our adress on file and include the receipt.\nRefunds are processed within five working days.'",
  "tool": {
    "description": "Full-text fuzzy search over a block of text: finds the passages that best match your query even with typos, and returns them ranked by relevance with the matched words highlighted. Paste plain text or markdown (concatenate several documents to search across all of them). Tune fuzziness (0–3 typos per word), match any/all query words, whole-word or substring, case sensitivity, and whether to rank by line, sentence, or paragraph. To search a PDF/DOCX, extract its text first with document-text-extract, then search here. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "case_sensitive": {
          "default": false,
          "description": "Match upper/lower case exactly. Default off (case-insensitive).",
          "type": "boolean"
        },
        "fuzziness": {
          "default": 1,
          "description": "Typo tolerance: max edit distance per word, 0–3. 0 = exact/prefix only; 1 catches one typo. Default 1.",
          "maximum": 3,
          "minimum": 0,
          "type": "integer"
        },
        "match": {
          "default": "any",
          "description": "Match snippets containing ANY query word (OR) or ALL query words (AND). Default any.",
          "enum": [
            "any",
            "all"
          ],
          "type": "string"
        },
        "max_results": {
          "default": 10,
          "description": "Maximum number of ranked snippets to return, 1–50. Default 10.",
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "description": "The word(s) to search for, space-separated (e.g. 'receive parcel').",
          "type": "string"
        },
        "text": {
          "description": "The document text to search. Paste plain text or markdown; concatenate several documents to search across them all.",
          "type": "string"
        },
        "unit": {
          "default": "line",
          "description": "Snippet granularity: rank one snippet per line, sentence, or paragraph. Default line.",
          "enum": [
            "line",
            "sentence",
            "paragraph"
          ],
          "type": "string"
        },
        "whole_word": {
          "default": false,
          "description": "Match whole words only. Default off, so a term also matches inside a longer word (prefix/substring).",
          "type": "boolean"
        }
      },
      "required": [
        "query",
        "text"
      ],
      "type": "object"
    }
  }
}