Informacje

Biblioteka

Poprawne formułowanie zapytań

Terminy proste i frazy

W wyszukiwaniu można używać terminów prostych, czyli pojedynczych wyrazów lub fraz - wyrażeń złożonych z kilku słów ujętych w cudzysłów np. "Uniwersytet Mikołaja Kopernika". W przypadku użycia cudzysłowu wyszukiwane będą tylko te dokumenty, które zawierają całą frazę.

Terminy wyszukiwawcze można łączyć za pomocą operatorów logicznych. Można też używać tzw. znaków maskujących, które zastępują dowolne litery i cyfry oraz ich ciągi, lub wyszukiwać terminy podobne, znajdujące się w pewnej odległości od siebie, a także określać priorytet wyszukiwanych terminów.

Operatory logiczne

  • AND - zapisywany również jako && - oznacza, że terminy połączone operatorem muszą jednocześnie występować w przeszukiwanym dokumencie. Np. zapytanie w postaci Kopernik && Chopin spowoduje wybranie tylko takich dokumentów, w których oba nazwiska występują jednocześnie. Użycie operatora AND jest domyślnym zachowaniem wyszukiwarki w przypadku wpisania więcej niż jednego słowa, zatem taki sam wynik uzyskamy wpisując Kopernik Chopin.

  • OR - oznaczany również || - wymaga, aby przynajmniej jeden z terminów występował w przeszukiwanym dokumencie np. zapytanie Kopernik || Copernicus spowoduje wybranie dokumentów, w których nazwisko astronoma występuje chociaż w jednej z podanych form.

  • NOT - alternatywny zapis ! - wyklucza z listy wyników dokumenty, w których występuje zanegowany termin. Np. zapytanie "Nicolaus Copernicus" NOT university wyszuka dokumenty, zawierające frazę "Nicolaus Copernicus", ale nie zawierające jednocześnie słowa university. Operator ten nie może być stosowany samodzielnie, np. zapytanie w postaci NOT "Nicolaus Copernicus" nie zwróci poprawnych wyników.

  • + (operator terminu wymaganego) - wyszukuje dokumenty zawierające termin następujący bezpośrednio po "+", lecz niekoniecznie pozostałe terminy, np. +biblioteka uniwersytecka spowoduje wybranie dokumentów, które muszą zawierać słowo biblioteka i mogą (ale nie muszą) zawierać słowo: uniwersytecka.

  • - (operator terminu zakazanego) - działa podobnie jak operator NOT. Zapytanie "Nicolaus Copernicus" -"Nicolaus Copernicus University" wyszuka dokumenty zawierające nazwisko "Nicolaus Copernicus", lecz nie zawierające nazwy "Nicolaus Copernicus University".

Znaki maskujące 

  • ? - zastępuje jeden dowolny znak. Np. zapytanie Kowalsk? pasuje zarówno do Kowalski, jak i Kowalska.

  • * - zastępuje ciąg znaków np. zapis: bu*a spowoduje wyszukanie takich słów jak buda, budda, buddysta, butonierka itp.

    Znaku maskującego nie wolno umieszczać na początku wyrażenia wyszukiwawczego.

Wyszukiwanie rozmyte 

Wyszukiwanie rozmyte (fuzzy search) znajduje zastosowanie w przypadku terminów prostych podobnych do siebie np. Copernicus, Copernikus, Kopernikus. Dokumenty zawierające te terminy można wyszukać dodając znak tyldy ~ do terminu, np.: copernicus~.

Stopień poszukiwanego podobieństwa, można określić współczynnikiem, który zmienia się w zakresie od 0 (brak podobieństwa) do 1 (terminy identyczne). Domyślnie współczynnik podobieństwa ustawiony jest na wartość 0.5. Aby ją zmienić, do wyszukiwanego terminu należy dodać znak tyldy wraz z wyraźnie określonym współczynnikiem, np. kopernik~0.4.

Wyszukiwanie wg sąsiedztwa 

Możliwe jest również określenie, w jakiej odległości ma się znajdować jeden z wyszukiwanych terminów od innego (tzw. proximity search). Jeśli np. pamiętamy, że w dokumencie w niewielkiej odległości od siebie pojawiały się wyrażenia Choral-buch oraz Westpreussen, możemy użyć następującego zapytania: "Choral-buch Westpreussen"~6.

Określanie ważności terminu 

Można określić priorytet wyszukiwanego terminu przez dodanie znaku ^ wraz z liczbą (większą niż 1). Np. zapytanie stempowski^4 grydzewski zwróci dokumenty, w których występują oba nazwiska, ale na początku listy znajdą się te, w których częściej pojawia się nazwisko oznaczone wyższym priorytetem.

Domyślny priorytet wyszukiwania wynosi 1.

Łączenie zapytań

Wyrażenia w zapytaniach złożonych można grupować za pomocą nawiasów. Zabieg taki pozwala nadać rozbudowanym zapytaniom zamierzony, jednoznaczny sens, podobnie jak to się dzieje w działaniach arytmetycznych.

Najpierw przetwarzane są wyrażenia cząstkowe wewnątrz nawiasów, a następnie większe całości. Zapytanie o kształcie: "De revolutionibus orbium coelestium" AND (Copernicus OR Kopernik) spowoduje wyszukanie dokumentów, w których występuje tytuł dzieła Kopernika oraz jego nazwisko przynajmniej w jednej z dwóch form.

Znaki specjalne

Ze zrozumiałych względów znaki służące do budowania zapytań złożonych (+ - && || ! ( ) { } [ ] ^ " ~ * ? : \) są traktowane podczas wyszukiwania inaczej niż pozostałe: pełnią rolę elementów składni zapytania, a nie cząstek wyszukiwanego wyrażenia. Aby objąć je procesem wyszukiwania, należy umieścić przed nimi tzw. znak ucieczki \. Np. w celu wyszukania frazy "(2 + 2)*2" należy wpisać "\( 2 \+ 2 \) \* 2"

Źródło opisu

Pełny opis sposobu formułowania zapytań (strona w języku angielskim): Jakarta Lucene Query Parser Syntax.