Indexed Search Syntax: Difference between revisions
((Imported from MoinMoin)) |
(Not listed anywhere, but it works :) (Imported from MoinMoin)) |
||
Line 117: | Line 117: | ||
|- |
|- |
||
| script || The script used for this release |
| script || The script used for this release |
||
|- |
|||
| barcode || The barcode in a release event attached to a release |
|||
|} |
|} |
||
Revision as of 01:13, 9 November 2007
Status: Currently under development. Please help copy and adapt the lucene query syntax docs to our needs!
While we contruct this help page, please see the lucene query syntax page for details on how to construct MusicBrainz text search queries.
Overview
Lucene offers a large flexibility in defining search queries for all needs imaginable. To make it easier to understand, this page was divided into subpages. While this one offers an introduction to the most commonly used features, the others explain more advanced search operators and constructs.
First some words on the the terminology used in these pages:
- Query
- A query is the complete expression you put in one of the search fields.
- Term
- A term is the smallest unit inside a query. In the default case each single word inside a query is a term of it's own, except for ...
- Phrases
- A phrase is a groups of words surrounded by quotation marks. Even though it's containing more than one word, a phrase is handled like a term.
- Operators
- or search operators are special characters and words that define either how single terms are processed by the search system (e.g. in -house the - tells the search system, not to return anything with the word house) or how to terms are to be combined in the search (e.g. one AND love means search for anything that has both words one and love).
The sections below Query Syntax describe simple and commonly used operators, in /AdvancedSyntax you'll find the more complicated and seldomly needed features of the search interface.
But first take a look at a few simple examples which might show everything necessary for the majority of your searches.
Example searches
Artists
- tori amos - search artist, sortname and alias fields
- comment:electronic - search for the word electronic in artist disambiguation (comment) fields
Albums
- café del mar - search for all Café del Mar albums
- "the understanding" AND artist:royksopp - search for the album The Understanding by Röyksopp
Tracks
- day life will retrieve A Day In The Life and Life In A Day but also This Day and That's Life
- day AND life will retrieve A Day In The Life and Life In A Day but not This Day or That's Life
- "day in the life" will retrieve A Day In The Life but not Life In A Day or This Day or That's Life
- "voodoo people" AND artist:"the prodigy" - search for all tracks Voodoo People by The Prodigy
TODO: add more here!
Query syntax
Wildcards
To perform a single character wildcard search use the "?" symbol. To perform a multiple character wildcard search use the "*" symbol. For example, to search for "text" or "test" you can use the search te?t, to search for "test", "tests" or "tester", you can use the search test*.
Note: You cannot use a * or ? symbol as the first character of a search.
Fuzzy searches
To do a fuzzy search use the tilde, "~", symbol at the end of a single word term. Optionally can specify the required similarity, a value is between 0 and 1. For example to search for a term similar in spelling to "roam" use the fuzzy search roam~ or roam~0.8
Boolean operators
Boosting a term
Grouping
MusicBrainz specific search fields
The artist index contains the following fields you can search:
field | Description |
arid | artist id |
artist | artist name |
sortname | artist sortname |
artype | artist type (0 - unknown, 1 - person, 2 - band) |
begin | artist birth date/band founding date |
end | artist death date/band dissoluion date |
comment | artist comment to differentiate similar artists |
alias | the aliases/misspellings for this artist |
Artist search terms with no fields specified search the artist, sortname and alias fields.
The release/album index contains theses fields:
field | Description |
reid | release id |
release | release name |
arid | artist id |
artist | artist name |
type | release type (1 - album, 2 - single, etc.[1]) |
status | release status (1 - official, 2 - promo, 3 - bootleg, 4 - pseudo-release) |
tracks | number of tracks in the release |
discids | number of cd ids for the release |
date | earliest release date for the release |
asin | the Amazon ASIN for |
lang | The language for this release (18 - Arabic, 76 - Chinese, 100 - Danish, 113 - Dutch/Flemish, 120 - English, 131 - Finnish, 134 - French, 145 - German, 176 - Hungarian, 195 - Italian, 198 - Japanese, 239 - Latvian, 309 - Norwegian, 338 - Polish, 340 - Portuguese, 353 - Russian, 393 - Spanish/Castilian, 403 - Swedish, 433 - Turkish, 284 - [Multiple languages]) |
script | The script used for this release |
barcode | The barcode in a release event attached to a release |
Album search terms with no fields search the release field only.
And track searches can contain:
field | Description |
trid | track id |
track | track name |
arid | artist id |
artist | artist name |
reid | release id |
release | release name |
type | release type (1 - album, 2 - single, etc.) |
tracks | number of tracks in the release |
dur | duration of track in milliseconds |
qdur | quantized duration (duration / 2000) |
tnum | track number |
Track search terms with no fields search the track field only.
Questions
If you know the answer to these, please remove the question and integrate the answer into the docs above.
- What is the difference between the "Indexed Search" and the "Direct Search"? I cannot find it explained anywhere. --DonRedman
- The "Indexed Search" is the Lucene search, it's retrived from the lucene indexed database that only updates once a day. The "Direct Search" is the 'old' search, it utelizes the MusicBrainz database itself to search, henche it reflects imidiate changes, but it is not as 'smart' ~mo
- Is there a way to search for an album based on its length? I'm currently grabbing all results and filtering them by summing their track durations. Is the value computed on the fly from the tracks for each release page? --ChrisColvard
- Is there also a searchable field for the media type, not just the date? ie "media:1" where 1=CD? -- BrianSchweitzer 12:44, 28 October 2007 (UTC)
- ↑ 1 - Album, 2 - Single, 3 - EP, 4 - Compilation, 5 - Soundtrack, 6 - Spokenword, 7 - Interview, 8 - Audiobook, 9 - Live, 10 - Remix, 11 - Other