Files
bookhoard/bruno/media-items/search/Exact Match With Quotes.yml
T
john-okeefe f28dca1334 refactor: reorganize Bruno API collection into subdirectories
- Move search-related requests into bruno/media-items/search/ subdirectory
- Rename Fuzzy Genre Filter.yml to Fuzzy Tags Filter.yml
- Keep scenario-based requests in bruno/media-items/scenarios/
- Improve collection organization and discoverability

This reorganization makes the Bruno API collection more organized by
grouping search endpoints together and updating genre filter to tags filter.
2026-03-25 20:40:25 -04:00

79 lines
2.1 KiB
YAML

info:
name: Exact Match With Quotes
type: http
seq: 5
http:
method: GET
url: '{{base_url}}/api/media-items/search?library_id={{library_id}}&q="Foundation and Empire"'
params:
- name: library_id
value: "{{library_id}}"
type: query
- name: q
value: '"Foundation and Empire"'
type: query
auth: inherit
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
## Exact Match With Quotes
Searches for an exact phrase match by wrapping the query in double quotes.
**Method:** GET
**Endpoint:** /api/media-items/search
**Authentication:** Required (Bearer token)
**Query Parameters:**
- `library_id` (string, required): Library UUID to search within
- `q` (string, required): Exact phrase to match (must be wrapped in double quotes)
**How Exact Match Works:**
- Wrap query in double quotes: `"\"exact phrase\""`
- Uses ILIKE pattern matching with wildcards
- Case-insensitive
- Must match the exact phrase (no fuzzy matching)
- Searches in: title, author, series, tags, contributors
**Fuzzy vs Exact Match:**
- Fuzzy (default): `asimov` → Matches "Asimov, Isaac", "Foundation and Asimov"
- Exact (with quotes): `"\"Asimov, Isaac\""` → Matches ONLY "Asimov, Isaac"
**Response:** HTTP 200 (OK)
```json
[
{
"id": "uuid",
"title": "Foundation and Empire",
"author": "Asimov, Isaac",
"library_id": "uuid",
"library_name": "E-Books"
}
]
```
**Examples:**
- `q="\"Foundation and Empire\""` → Only "Foundation and Empire" (not "Foundation")
- `q="\"The Hobbit\""` → Only "The Hobbit" (not "The Hobbit: There and Back Again")
- `q="\"J.R.R. Tolkien\""` → Only exact author name match
**When to Use Exact Match:**
- Searching for exact book titles in a series
- Finding specific edition or version
- Exact author name matching
- Preventing false positives from similar terms
**Success Criteria:**
- Status: 200
- Returns items with exact phrase match
- No fuzzy matching applied
- Case-insensitive but must match exactly otherwise