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é.