Průvodce vyhledáváním
Tento průvodce vysvětluje, jak psát pokročilé vyhledávací dotazy pomocí snadno pochopitelných příkladů.
Jednoduché vyhledávání (jeden nebo více termínů)
Příklad:
otevřená věda
Výsledky budou odpovídat záznamům s termíny otevřená
nebo věda v jakémkoli poli. Pozor, použije se
stemming, takže např. věda bude odpovídat i
vědy. Výsledky vyhledávání jsou řazeny podle algoritmu,
který bere v úvahu vaše vyhledávací termíny.
Můžete vyžadovat přítomnost obou termínů použitím operátoru
+ nebo AND:
Příklady:
+otevřená +věda
nebo
otevřená AND věda
Můžete vyžadovat nepřítomnost jednoho nebo více termínů použitím operátoru
- nebo NOT:
Příklady:
-otevřená +věda
nebo
NOT otevřená AND věda
Vyhledávání fráze
Příklad:
"otevřená věda"
Výsledky budou odpovídat záznamům s frází
otevřená věda v jakémkoli poli.
Vyhledávání podle pole
Příklad:
metadata.title:otevřená
Výsledky budou odpovídat záznamům s termínem otevřená v
poli metadata.title. Pokud chcete vyhledat více termínů
v názvu, musíte seskupit termíny pomocí závorek:
Příklad:
metadata.title:(otevřená věda)
Kombinované jednoduché vyhledávání, fráze nebo vyhledávání podle pole
Příklad:
+metadata.title:"otevřená věda" -metadata.title:politika
nebo např.
metadata.title:(-otevřená +věda)
Můžete kombinovat jednoduché vyhledávání, fráze a vyhledávání podle pole pro vytvoření pokročilých vyhledávacích dotazů.
Vyhledávání rozsahu
Příklad:
metadata.publication_date:[2017 TO 2018]
(pozor, musíte psát TO velkými písmeny).
Výsledky budou odpovídat jakémukoli záznamu s datem publikace mezi 2017-01-01 a 2018-01-01 (obě data včetně).
Pozor, částečná data jsou rozšířena na úplná data, např.:
- 2017 je rozšířeno na 2017-01-01
- 2017-06 je rozšířeno na 2017-06-01
Použijte hranaté závorky ([]) pro inkluzivní rozsahy a použijte
složené závorky ({}) pro exkluzivní rozsahy, např.:
-
[2017 TO 2018}je ekvivalentní s[2017-01-01 TO 2017-12-31]kvůli rozšíření data a exkluzivní horní hranici.
Příklady dalších rozsahů:
-
metadata.publication_date:{* TO 2017-01-01}: Všechny dny do roku 2017. -
metadata.publication_date:[2017-01-01 TO *]: Všechny dny od roku 2017.
Řazení
Ve výchozím nastavení jsou všechna vyhledávání seřazena podle interního algoritmu řazení, který hodnotí každou shodu s vaším dotazem. V uživatelském rozhraní i REST API je možné výsledky seřadit podle:
- Nejnovější
- Nejlepší shoda
- Nejstarší
Regulární výrazy
Regulární výrazy jsou mocný nástroj pro hledání vzorů, který umožňuje vyhledávat konkrétní vzory v poli. Pokud bychom například chtěli najít všechny záznamy s DOI-prefixem 10.5281, mohli bychom použít vyhledávání pomocí regulárního výrazu:
Příklad:
metadata.subjects.identifier:/03yrm5c2[1,6]/
Pozor, regulární výraz musí odpovídat celé hodnotě pole. Viz syntaxe regulárních výrazů pro další podrobnosti.
Chybějící hodnoty
Je možné vyhledávat záznamy, které buď nemají hodnotu, nebo mají
hodnotu v konkrétním poli pomocí jmen polí _exists_ a
NOT _exists_.
Příklad:
_exists_:metadata.creators
(všechny záznamy s metadata.creators)
Pokročilé koncepty
Zvýšení relevance
Můžete použít operátor zvýšení relevance ^, když je jeden termín relevantnější
než jiný. Například můžete vyhledat všechny záznamy s frází
otevřená věda buď v poli název nebo
popis, ale záznamy s frází v poli
název budou mít vyšší pořadí:
Příklad:
metadata.title:"otevřená věda"^5 metadata.description:"otevřená věda"
Přibližnost
Můžete vyhledávat termíny podobné, ale ne přesně stejné jako váš vyhledávací termín
pomocí operátoru přibližnosti ~.
Příklad:
otveřná~
Výsledky budou odpovídat záznamům s termíny podobnými otveřná, což
by např. odpovídalo i otevřená.
Vyhledávání v blízkosti
Vyhledávání fráze jako "otevřená věda" ve výchozím nastavení očekává všechny termíny
přesně ve stejném pořadí, a proto by například neodpovídalo záznamu
obsahujícímu frázi "otevřený přístup a věda". Vyhledávání v blízkosti
umožňuje, aby termíny nebyly v přesném pořadí a mezi nimi mohly být jiné termíny.
Stupeň flexibility je specifikován celým číslem:
Příklad:
"otevřená věda"~5
Zástupné znaky
Můžete použít zástupné znaky ve vyhledávacích termínech k nahrazení jednoho znaku (použitím
operátoru ?) nebo nuly či více znaků (použitím
operátoru *).
Příklad:
otev? věd*
Vyhledávání se zástupnými znaky může být pomalé a mělo by být normálně vyhýbáno, pokud je to možné.