====== Search operators ====== With HPB you can modify your query in such a way that you search for a specific subject, publication or author. Using Boolean, wildcard and proximity operators you can modify a general query so that the search more closely approximates your expectations. * [[#Search using search operators]] * [[#Parentheses: nesting multiple search operations]] * [[#Combining Search operators: Examples of complex search operations]] * [[#Articles, prepositions and other fill words]] Descriptions of the search keys available from the drop-down menus can be found on [[simple_search#menu_2|Simple Search help page]]. An extensive documentation of all available search keys is available on this separate [[.search_keys#overview_of_all_search_keys|help page]] ===== Search using search operators ===== HPB supports the following search operators: * [[#Boolean operators]] * [[#Proximity operators]] * [[#Wildcards]] * [[#Reserved words]] \\ ^Target of your search: ^Please select: ^ |**All** search terms must occur in the title |[[#Boolean operators|ALL]] | |**One or other** of the search terms must occur in the title |[[#Boolean operators|OR]] | |A particular term must **not** occur in the title |[[#Boolean operators|NOT]] | |The search terms must be **near to each other** |[[#Boolean operators|NEAR]] | |Search for a **Phrase**, i.e. an exact word sequence |[[#Boolean operators|"Phrase"]] | |The terms must occur in the **specified order**. |There can be ... terms between the search terms: [[#Proximity operators|any number - maximum one term - exactly one term - no terms]] | |You don't know the **exact** spelling of the key term or name |[[#Wildcards]] | ==== Boolean operators ==== If your search query is too generalised you may receive an unmanageable number of hits, or too few if the search term is too specific. To achieve better results, you can use Boolean operators in your search. ^Operator ^Example ^Explanation ^ |**and** \\ \\ **&** \\ **+** |house garden \\ house **and** garden \\ house **&** garden \\ **+**house **+**garden |Searches only for titles containing //both// terms specified. | |**or** |house **or** garden \\ house **|** garden |Searches for titles containing either the term house ''house'' //or// ''garden'' //or both// terms. | |**and or** |(car **or** vehicle) **and** (transport **or** traffic) |If you want to search for several topics combined that can be expressed through various terms, you can use the ''and'' and ''or'' operators together. Here it is important, however, to put brackets around terms linked with orwhich represent the same topic. This then searches for entries that contain at least //one of the terms within each pair of brackets//. | |**not** \\ **-** |house **not** garden \\ house **-**garden |Titles searched must //always// contain the term ''house'' but //never// the term ''garden''. | |**near** \\ \\ **~** \\ **near/n** |house **near garden** \\ house **~** garden \\ house **near/3** garden |This searches for titles in which there are a maximum of 3 words between the search terms, e.g. \\ ''garden, house courtyard'' \\ ''house with a garden'' \\ ''A house with a magnificant garden'' \\ Enter **near/3** to specifiy that there can be a maximum of 2 words between the search terms. | |**"..."** |"freedom as duty" |Searches only for titles containing the phrase between the quotation marks. Searches for this exact word order and no other terms must appear within the phrase. This search will find, for example: \\ ''Freedom as duty of the citizen'' but not ''Freedom and unity as duty'' | === Proximity operators === You can use proximity operators to specify whether the phrase you are looking for should be searched in the specified word order or with terms in between. ^Operator ^Example ^Explanation ^ |**?** \\ ** * ** |history **?** railways \\ history ** * ** railways |If you separate two search terms with * or ?, the search looks for titles in which the terms occur //in this order//. There can be //none or any number// of other terms in between them. The search example finds: \\ ''History of the railways'' \\ ''History of the Indian Railways'' | |**#** |history **#** railways |Searches only for titles containing the terms //in this order//. There can be //a maximum of one word// between the terms. | |**!** |history **!** railways |Searches only for titles containing the terms //in this order//. There can be //exactly one word// between the terms, e.g. ''history of the railways'' | |**%** |history **%** railways |This operator searches for keywords in //any order//. There must be //no// other term between the search terms. The search example finds: ''The great railways - history and background'' | |**%?** \\ \\ **%#** \\ **%!** |history **%!** railways |Combining the % operator with one of the unidirectional operators described above (**? * # !**), turns them into bidirectional operators, i.e. the specified terms are searched for //in any order// with none or one or many terms between them. The search example finds: \\ ''history of the railways'' \\ ''The Great Western Railway : History of a great railway company'' | === Wildcards === You can use wildcards when you are not sure how to spell a search term or you also want to search for similar terms in the same search. Wildcards can be placed at the end or in the middle of a term, but never at the beginning. ^Wildcards ^Example ^Explanation ^ |**?** \\ ** * ** |TIT fa**?**r |The question mark acts as a wildcard for //any number of// characters. \\ Finds titles containing the keywords ''far, fairy, father, faster'' etc. | | |PER ha**?**mann |//At the end of a search term it works as truncation.// Finds people with the name ''Hamann, Hagmann, Hartmann, Habermann'' etc. | |**#** |TIT fa**#**r |The hash sign stands for a //maximum of one// character. Finds titles containing the keywords ''fair'' and ''far'', but not ''father, faster'' etc. | |..|PER ha**#**mann |finds people with the name ''Hamann, Hagmann'' and ''Haumann'' but not ''Hartmann'' or ''Habermann'' | |**!** |TIT fa**!**r |The exclamation mark stands for //exactly one// character. Finds titles containing the keyword ''fair'', but not ''far, father, faster'' etc. | | |ha**!**mann |finds people with the name ''Hagmann'', ''Haumann'', but not ''Hamann'', ''Habermann'' etc. | |**? * # !** |micro**!**p* |Wildcards can also be combined with one another within a search term. The search example finds matches with the keywords ''microsphere'', ''micro-optics'', ''microspectrophotometry'' | |**/n** |moskau**/2** |/n is not a wildcard but has a similar function: end a term with a forward slash and then add the number of characters within the search term by which a term can differ. The search example finds ''Moskau'' and ''Moskva'' and ''Moskou'' | === Reserved words === All the operators used in searches are reserved words. The system understands operators entered in both German and English: \\ **and - or - not - near** \\ **und - oder - nicht - bei** \\ Problems arise when you run a search using search terms that match one of these operators. If possible, you should omit these terms altogether or enclose them in quotation marks or "neutralise" using a backslash. For example, if you are searching for a title with the keywords ''Money or Life'', the system interprets this as a search for the term //money// ''OR'' the term //Life// and returns titles that contain one or the other term. Or if you try searching for the title ''Not fish not meat'', the system understands the word ''NOT'' as an operator and searches for titles that contain neither one nor the other term - which in this case provokes an error message. However, if you do want to use expressions that contain the reserved words, then you must either enclose them in quotation marks or neutralise them with a backslash, e.g. Money "or" life money \or life fish "not" meat fish \not meat ===== Parentheses: nesting multiple search operations ===== You can also use parentheses in a query. Without parentheses, a query is performed according to the hierarchy of the search operators. That is, the operator that is highest in the hierarchy takes precedence. Proximity operators have the highest position in the hierarchy, followed by AND and then OR. Parentheses ensure that this hierachy is ignored. This enables you to nest your search operations. \\ For example: ''(auto OR bicycle) AND (transport OR highway)'' finds titles that contain ''auto'' and/or ''bicycle'' and that also include ''transport'' and/or ''highway''. ===== Combining Search operators: Examples of complex search operations ===== It is possible to compose complex queries by combining search operators such as Boolean, wildcards and proximity operators. * **Example 1: complex query** \\ ''NOT johann ? bach'' searches for titles that contain the word bach not preceded by the word johann. This search operation will not find a title containing johann sebastian bach, because in this title johann precedes bach. This search operation will find the title wilhelm bach, johann bach because the title contains an occurrence of bach not preceded by johann. * **Example 2: complex query** \\ ''Einstein ##! gravity'' searches for titles that contain einstein and gravity with three or less intervening words. The query ''einstein NEAR/3 gravity'' searches for titles that contain ''einstein'' and ''gravity'' (or ''gravity'' and ''einstein'') with three or less intervening words. * **Example 3: complex query** \\ ''Einstein #### gravity'' finds titles that contain einstein and gravity with four or less intervening words. Another possibility for finding the same result is: ''einstein #/4 gravity''. ===== Articles, prepositions and other fill words ===== Every word in a title is indexed with the exception of fill words. Fill words are words that are ignored during a search to prevent irrelevant information from being displayed. Articles, pronouns, adjectives, adverbs and prepositions are examples of fill words. Words that appear, but have no relevance during a search. For example: ''the'', ''him'', ''a'', ''of'', ''in'', etc. FIXME //check//