; This section contains global settings affecting search behavior. ; For PrimoCentral API documentation: ; http://www.exlibrisgroup.org/display/PrimoOI/Brief+Search ; Note: you will need your EL Commons credentials to access documentation [General] ; This setting controls the default sort order of search results; the selected ; option should be one of the options present in the [Sorting] section below. default_sort = relevance ; If this setting is true, boolean operators in searches (AND/OR/NOT) will only ; be recognized if they are ALL UPPERCASE. If set to false, they will be ; recognized regardless of case. case_sensitive_bools = true ; HTTP timeout timeout = 30 ; Primo API to use. Possible values are: ; legacy Legacy brief search API (default, and the only option before VuFind 10) ; rest REST API (less buggy, supports also boolean NOT and cites/cited by functions) ;api = legacy ; ONLY when `api = legacy` above: ; URL of the Primo server. For hosted services typically of the form ; https://XYZ.hosted.exlibrisgroup.com where XYZ is the ID of the Primo ; instance (e.g. primoapac01). ; You may also enter the full URL including a path to the brief search if necessary. ;url = "https://XYZ.hosted.exlibrisgroup.com" ; ONLY when `api = rest` above: ; Search URL of the Primo server. For hosted services typically of the form ; https://api-XY.hosted.exlibrisgroup.com/primo/v1/search?vid=...&tab=...&scope=...&apikey=... ; where XY is the region ID of the Primo instance (na, eu, ap, ca or cn). The URL ; should also contain scope, vid, tab etc. as well. ; See https://developers.exlibrisgroup.com/primo/apis/docs/primoSearch/R0VUIC9wcmltby92MS9zZWFyY2g=/ ; for more information. ; {{INSTCODE}} in the URL is replaced with the institution code determined by the ; rules in the [Institutions] section. ;search_url = "https://api-XY.hosted.exlibrisgroup.com/primo/v1/search?vid={{INSTCODE}}&tab=default_tab&scope=default_scope&apikey=" ; On-premises example: ;search_url = "https://onpremises-primo-host/primo_library/libweb/webservices/rest/primo-explore/v1/pnxs?vid={{INSTCODE}}&tab={{INSTCODE}}&scope=CDI&inst={{INSTCODE}}" ; ONLY when `api = rest` above: ; JWT URL of the Primo server. For hosted services typically of the form ; https://api-XY.hosted.exlibrisgroup.com/primo/v1/jwt/?lang=en_US&vid= ; where XY is the region ID of the Primo instance (na, eu, ap, ca or cn). ; {{INSTCODE}} in the URL is replaced with the institution code determined by the ; rules in the [Institutions] section. ; N.B. For hosted Primo you can probably leave jwt_url unspecified or empty, and ; include the apikey parameter in search_url setting. ;jwt_url = "https://api-na.hosted.exlibrisgroup.com/primo/v1/jwt/{{INSTCODE}}?lang=en_US&vid={{INSTCODE}}&apikey=" ; On-premises example: ;jwt_url = "https://onpremises-primo-host/primo_library/libweb/webservices/rest/v1/guestJwt/{{INSTCODE}}?lang=en_US&vid={{INSTCODE}}" ; This section controls the result limit options for search results. default_limit ; sets the default number of results per page. limit_options is a comma-separated ; list of numbers to be presented to the end-user. If only one limit is required, ; set default_limit and leave limit_options commented out. ; WARNING: using large limits may cause problems due to a variety of limitations, ; especially if you support bulk operations (which can cause large URLs/requests). ; If you must support large page sizes, you may need to raise the PHP memory_limit ; and max_input_vars settings and/or adjust the Apache LimitRequestLine setting. default_limit = 20 ;limit_options = 10,20,40,60,80,100 ; These are the default recommendations modules to use when no specific setting ; are found in the [TopRecommendations], [SideRecommendations] or ; [NoResultsRecommendations] sections below. ; See the comments above those sections for details on legal settings. You may ; repeat these lines to load multiple recommendations. ;default_top_recommend[] = TopFacets:FacetsTop:Primo default_side_recommend[] = SideFacets:Facets:CheckboxFacets:Primo ;default_noresults_recommend[] = SwitchTab default_noresults_recommend[] = RemoveFilters ; This section is used to set general parameters for URL generation to make a call to ; the Primo API bulkSize = 20 ; When you filter a search using facets, should VuFind retain your current filters ; on the next search and provide a reset button to clear them (true), or should it ; always perform new searches unfiltered (false)? retain_filters_by_default = true ; Whether to always (when there are active filters) display the "Reset Filters" ; button regardless of the retain_filters_by_default setting. Default is false. always_display_reset_filters = false ; The filters listed below will be applied to all new searches by default. Omit ; this setting to have no default filters applied. These differ from hidden ; filters because they are visible in the UI and may be removed by the user. ;default_filters[] = "rtype:Books" ; Primo has a fixed cap on how many results you can page through. Even though ; it may report more results than this number, you can't actually access results ; past the limit. This setting tells VuFind where to cut off its paging mechanism. result_limit = 2000 ; Set this to true in order to highlight keywords from the search query when they ; appear in fields displayed in search results. highlighting = true ; This controls whether results are loaded with JavaScript when paging or changing ; settings. Loading results this way improves performance and accessibility, and is ; enabled by default. Loading will automatically fall back to non-JS mode if ; JavaScript is not supported by the browser. load_results_with_js = true ; This setting can be used to configure pagination control on top of results. ; Possible options are: ; empty string or false No top pagination (default) ; simple Simple next/prev button pagination ; full Full pagination alike to the one at the bottom of results ;top_paginator = simple ; The following two sections can be used to associate specific recommendations ; modules with specific search types defined in the [Basic_Searches] section ; below. For all the details on how these sections work, see the comments above ; the equivalent sections of searches.ini. Recommendations work the same in ; Primo as they do in the regular Search module. [SideRecommendations] ; No search-specific settings by default -- add your own here. ;[TopRecommendations] ; No search-specific settings by default -- add your own here. ; This section is used to identify facets for special treatment by the SideFacets ; recommendations module. [SpecialFacets] ; Any fields listed below will be treated as date ranges rather than plain facets: dateRange[] = creationdate ; The order of display is as shown below ; The name of the index field is on the left ; The display name of the field is on the right [Facets] tlevel = "Limit To" rtype = "Format" ; creator does not work with CDI, but could be usable with a local Primo index ;creator = "Author" jtitle = "Journal Title" topic = Subjects creationdate = "Year of Publication" domain = Source ;lang = Language ; Top facets (not used by default) [FacetsTop] ; This section controls where facet labels are retrieved from when facets are not ; explicitly configured. [FacetLabels] ; This setting lists configuration sections containing facet field => label ; mappings. Later values will override earlier values. These mappings will be used ; only when a label is not explicitly configured (i.e. through SideFacets settings). ; If you customize your facet display, be sure to add any new facet configuration ; sections to this list to ensure proper display in search history, etc. labelSections[] = Advanced_Facets labelSections[] = FacetsTop labelSections[] = Facets ; This setting lists configuration settings defining checkbox facets. If you use ; a custom section to configure additional facets, be sure to add it to this list ; so labels display correctly in history, the advanced search editor, etc. If you ; are using the reverse label => filter format rather than filter => label, you ; should prefix the section name with a ~ character to ensure proper loading. checkboxSections[] = CheckboxFacets ; Checkbox facets are facets, which are getting displayed as checkboxes ; pcAvailability is a special facet. It's used to show all records found in ; PrimoCentral without checking the local availability against a holdingsfile. [CheckboxFacets] ;pcAvailability = "add_other_libraries" ; pcAvailability is special; see above ; Facet display settings [Results_Settings] ; By default, the side facets will only show 6 facets and then the "show more" ; button. This can get configured with the showMore settings. ; You can use the * to set a new default setting. showMore[*] = 6 ; Or you can set a facet specific value by using the facet name as index. ;showMore['rtype'] = 10 ; Number of rows of values for top facets to show above the "more" button top_rows = 2 ; Do we want any facets to be collapsed by default? ;collapsedFacets = * ; Should we show "exclude" links for some or all of the facets? Set to * for ; all facets, use a comma-separated list to show for some of the facets, set ; to false or omit to disable "exclude" links ;exclude = * ; Do we want to display cites/cited by links in search results (default is true)? ;display_citation_links = true ; These settings affect the way the facets are displayed [Facet_Settings] facet_limit = 30 ; how many values should we show for each facet? ; These settings affect the way facets are displayed on the advanced screen [Advanced_Facet_Settings] ; Some special facets for advanced searching can be turned on by inclusion in ; the comma-separated list below, or turned off by being excluded. Currently, ; just one values is supported: "daterange" for the publication year range ; control. special_facets = daterange ; Any facets named in the list below will have their values run through the ; translation code; unlisted facets will displayed as-is without translation. For ; translated facets, be sure that all of the necessary strings are included in the ; language files found in the languages directory. You may add a colon and the ; name of a text domain after the field name to specify translations in a specific ; text domain (subdirectory of the languages folder). If you comment out the lines ; below, no facets will be translated. translated_facets[] = tlevel ; Prevent specific facet values from being displayed to the user. ; Use facet field names as keys and untranslated facet values as values. ; Note that the raw values for rtype facet here are different from the displayed ; values as the codes are converted to displayable values (e.g. ; 'articles' => 'Articles' or 'reference_entrys' => 'Reference Entries'). [HideFacetValue] ;rtype[] = "articles" ;rtype[] = "reference_entrys" ; Prevent all but specific facet values from being displayed to the user. ; Use facet field names as keys and untranslated facet values as values. ; Note that the raw values for rtype facet here are different from the displayed ; values as the codes are converted to displayable values (e.g. ; 'articles' => 'Articles' or 'reference_entrys' => 'Reference Entries'). [ShowFacetValue] ;rtype[] = "articles" ;rtype[] = "reference_entrys" ; This section shows which search types will display in the basic search box at ; the top of Primo pages. The name of each setting below corresponds with an ; index defined in the Primo API. The value of each setting is the text to ; display on screen. All on-screen text will be run through the translator, so ; be sure to update language files if necessary. The order of these settings ; will be maintained in the drop-down list in the UI. [Basic_Searches] AllFields = Keyword Title = Title Author = Author Subject = Subject ;Abstract = Abstract ;ISSN = ISSN ; This section defines which search options will be included on the advanced ; search screen. All the notes above [Basic_Searches] also apply here. [Advanced_Searches] AllFields = Keyword Title = Title Author = Author Subject = Subject Abstract = Abstract ISSN = ISSN ; This section controls the operators displayed on the advanced search screen; ; the left side contains the actual operator names, while the right side ; contains display text that will be run through the translator logic. [Advanced_Operators] contains = operator_contains exact = operator_exact ; This section defines the sort options available on Primo search results. ; PrimoCentral sorting can only go in one direction - either ASC for ascending ; or DESC for descending. In order to change the sort direction you must go into ; the primo backend in Primo Home > Advanced Configuration > All Mapping Tables ; Sort Fields Config and make your changes there. [Sorting] relevance = sort_relevance scdate = sort_year screator = sort_author stitle = sort_title ; This section allows you to specify hidden sorting options. They can be used to create a ; whitelist of sort values using regular expressions. If you want to do this add regexes to ; the pattern[] array. All sort values that match at least one of these pattern are allowed ; in searches. But they will not be shown in the sort selection in the result list. [HiddenSorting] ;pattern[] = .* ; E.g. uncomment this line to allow any value ; This section specifies permission rules which may be used to determine the ; view code and access level for the current user when retrieving Primo ; results. institutionCode is evaluated first, then onCampusRule, with ; defaultCode used only when no more specific rule is matched. ; Please note that these settings are only applied for certain keys; they are ; not regulating the access to the module at all. If you are using onCampusRule, ; be sure to allow access to the Primo module in permissions.ini separately. ; You need to have the permission 'access.PrimoModule' in permissions.ini for that. ; See https://vufind.org/wiki/configuration:permission_options for further ; information about permission settings related to Primo. [Institutions] ; Simple example: onCampusRule['MYINSTITUTION'] = "primoOnCampus.MYINSTITUTION" ; Consortial example: ;onCampusRule['MEMBER1'] = "primoOnCampus.MEMBER1" ;onCampusRule['MEMBER2'] = "primoOnCampus.MEMBER2" ; The onCampusRule section maps an institution code (e.g. MEMBER1 above) to a ; permission name (e.g. primoOnCampus.MEMBER1 above). See permissions.ini for ; more details on how to define permissions. ; If a specific onCampusRule is matched above, the user will be considered to ; be on campus at the matching institution. ; Note that onCampusRule is REQUIRED if you want any of your users to see full ; results from Primo. If you do not set this up, users will only be able to see ; more limited, public-oriented results. ;onCampusRule['DEFAULT'] = "primo.isOnDefaultCampus" ; The institutionCode setting is formatted similarly to onCampusRule but rarely ; needs to be used. If you wish to select a PrimoCentral institution code based ; on a permission setting, BUT you do not want to grant full on-campus permissions, ; you can use this setting. For most common scenarios, you only need onCampusRule ; and/or defaultCode. ;institutionCode['MEMBER1'] = primo.memberOf.MEMBER1 ; The defaultCode is used as a fallback, if none of the institutionCodes AND none ; of the onCampusRules match. ; If you set it, all of your users can use Primo (though they will see limited ; results when they fail to match the appropriate onCampusRule above). ; If you omit it, only users matching an onCampusRule or institutionCode can use ; Primo. ;defaultCode = "DEFAULT" ; This section provides settings for optional caching of search requests. [SearchCache] ; Supported adapters: Memcached, Filesystem. Others may also work, but have not been ; tested. ;adapter = Memcached ; Comma-separated list of servers for Memcached adapter: ;options[servers] = "localhost:11211" ; Cache directory for Filesystem adapter: ;options[cache_dir] = "/tmp/search-cache" ; Other options. See https://docs.laminas.dev/laminas-cache/storage/adapter/ for ; documentation on options for different adapters. ; ttl, Time to Live, i.e. cache entry life time in seconds. 300 seconds by default. ;options[ttl] = 300