3.2. Vyhledávání
Vyhledávání entit je možné pomocí speciálních
funkcí popsaných pomocí REST API.
Jedná se o funkce dostupné v části /search
.
Funkce pro vyhledání umožňuje zvolit způsob vyhledání „SearchType“. Je možné zvolit způsob „EXACT“, kdy je dohledáváno přesně dle zadaných podmínek pomocí databázového dohledání a výsledky jsou seřazeny abecedně. Nebo je možné zvolit způsob „FULLTEXT“, který dohledává v indexových souborech včetně transliterované podoby a výsledky jsou řazeny dle priority dohledání. Výchozím způsobem pro vyhledání, pokud není zadán, je „FULLTEXT“.
Funkce pro vyhledávání umožňuje jako vyhledávací kritéria specifikovat:
vybrané třídy či podtřídy
určitý stav entity (nová, schválená, nahrazená)
hodnotu prvků popisu s možností omezení na typy prvků popisu
Funkce podporuje stránkování výsledků a pomocí parametrů se nastavuje počet záznamů na stránku a číslo stránky (stránkováno od 1). Součástí vrácených výsledků je vždy celkový počet záznamů.
3.2.1. Příklady vyhledávaných podmínek
Vyhledání přes všechna označení
Cílem je vyhledat obec Hluboká nad Vltavou a to zadáním slova Hluboká a jeho vyhledáním ve všech označeních. Pro vyhledání bude použita serializovaná podoba označení. Způsob vytváření serializované podoby označení je popsán v Označení, textová podoba, entity a jejích částí.
{
"cond": {
"condType": "index",
"name":"DISPLAY_NAME",
"value": "Hluboká",
"comparator":"CT_START_WITH"
}
}
Vyhledání preferovaných označení pro vybranou podtřídu
Cílem je vyhledat obec Hluboká nad Vltavou a to zadáním slova Hluboká a jeho vyhledáním v preferovaných označeních.
Hledání je dále omezeno na podtřídu Administrativně vymezená území a vyhledává se jen ve schválených záznamech.
{
"types": ["REGION"],
"state": ["RS_APPROVED"],
"cond": {
"condType": "part",
"partType": "PT_PREF_NAME",
"cond": {
"condType": "index",
"name":"DISPLAY_NAME",
"value": "Hluboká",
"comparator":"CT_START_WITH"
}
}
}
Vyhledání s omezením na rok narození
Cílem vyhledání je Alexandra Bacha a to pomocí znalosti data narození později než 1800 a jména Bach.
{
"types": ["REGION"],
"state": ["RS_NEW","RS_APPROVED"],
"cond": {
"condType":"and",
"conds": [
{
"condType":"index",
"name":"DISPLAY_NAME",
"value": "Bach",
"comparator":"CT_CONTAIN"
},
{
"condType":"value",
"itemTypes":["CRE_DATE"],
"value": "1800-01-01T00:00:00",
"comparator":"CT_GTE"
}
]
}
}
Vyhledání s omezením na rozmezí data vzniku a stavu
Cílem vyhledání jsou entity ve stavu nový a schválený s omezením, že datace vzniku obsahuje zadaný časový interval.
{
"state": [
"RS_NEW", "RS_APPROVED"
],
"cond": {
"condType":"part",
"partType": "PT_CRE",
"cond": [
{
"condType":"value",
"itemTypes":["CRE_DATE"],
"value": "1950-01-01T00:00:00-2000-12-31T23:59:59",
"comparator":"CT_CONTAIN"
}
]
}
}