Warning: This page has not been updated in over over a year and may be outdated or deprecated.
videos:configuring_search_and_facet_settings
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
videos:configuring_search_and_facet_settings [2020/02/17 17:46] – [Transcript] demiankatz | videos:configuring_search_and_facet_settings [2023/04/26 13:27] – crhallberg | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Video 4: Configuring Search and Facet Settings ====== | ====== Video 4: Configuring Search and Facet Settings ====== | ||
- | The fourth | + | The fourth |
Video is available as an [[https:// | Video is available as an [[https:// | ||
Line 7: | Line 7: | ||
===== Related Resources ===== | ===== Related Resources ===== | ||
- | - [[https:// | + | - [[configuration: |
- | - [[https:// | + | - [[configuration: |
===== Transcript ===== | ===== Transcript ===== | ||
- | :!: This transcript still needs to be cleaned up and edited. | + | Hello and welcome to the fourth in the |
- | + | VuFind® | |
- | | + | Today we are going to look at three of |
- | view find instructional video series | + | |
- | today we are going to look at three of | + | |
the most important configuration files | the most important configuration files | ||
- | in view find for adjusting the way | + | in VuFind |
- | search and faceting behave | + | search and faceting behave. But before we |
dive into that I just wanted to set the | dive into that I just wanted to set the | ||
stage for those who have been following | stage for those who have been following | ||
- | along I didn't want the examples today | + | along. I didn't want the examples today |
- | to look too weird so I have actually | + | to look too weird, so I have actually |
- | gone back to the standard default | + | gone back to the standard default |
- | find theme and I have re indexed data | + | VuFind |
using default settings instead of the | using default settings instead of the | ||
customizations we demonstrated back in | customizations we demonstrated back in | ||
- | video 2 so if you're coming in for the | + | Video 2. So, if you're coming in for the |
first time you'll see fairly normal | first time you'll see fairly normal | ||
- | things I've also indexed a few more of | + | things. I've also indexed a few more of |
- | you finds sample | + | VuFind' |
give us a bigger set of search results | give us a bigger set of search results | ||
- | to play with if you're keeping score the | + | to play with. If you're keeping score the |
- | files I indexed | + | files I indexed |
- | mark and authority bibs dot mark so with | + | " |
- | all that out of the way let's start | + | |
- | looking at configuration files and this | + | So, with all that out of the way |
- | is also a good time to put in yet | + | let's start looking at configuration files |
+ | and this is also a good time to put in yet | ||
another reminder about always using your | another reminder about always using your | ||
local settings directory when changing | local settings directory when changing | ||
- | configuration files so let's start with | + | configuration files. So let's start with |
- | searches | + | searches.ini which is sort of the |
- | top level configuration for view finds | + | top-level configuration for VuFind' |
- | search options | + | search options. We will copy |
- | currently in the view finder Ector e so | + | (I'm currently in the VuFind home directory) |
- | we will copy config | + | so we will |
- | slash searches I and I into local slash | + | copy "config/ |
- | config slash view find so now we have a | + | into "local/ |
+ | so now we have a | ||
local copy of the configuration file | local copy of the configuration file | ||
that we can edit without touching the | that we can edit without touching the | ||
- | core files of the view find distribution | + | core files of the VuFind |
- | I'm going to bring up a visual studio | + | I'm going to bring up VSCode, |
- | code which is just one of many tools | + | which is just one of many tools |
- | that you can use to edit files and I | + | that you can use to edit files, and I |
- | will open searches I and I I go to the | + | will open searches.ini. |
- | top of the file so the first thing I | + | I' |
+ | |||
+ | So, the first thing I | ||
should explain is that in this file you | should explain is that in this file you | ||
- | will see references to search handlers | + | will see references to search handlers. |
- | search | + | " |
for one of the options in the drop-down | for one of the options in the drop-down | ||
menu next to the search box like title | menu next to the search box like title | ||
- | or author or subject | + | or author or subject. It's just a group |
- | of settings that tell view find how to | + | of settings that tell VuFind |
- | do a particular kind of search | + | do a particular kind of search. We're |
going to look at how those are built a | going to look at how those are built a | ||
little later but for starters let's just | little later but for starters let's just | ||
talk about the ones that are | talk about the ones that are | ||
pre-configured for you out of the box in | pre-configured for you out of the box in | ||
- | view find which are all those common | + | VuFind. Which are all those common |
- | things I mentioned like title and author | + | things I mentioned like title, author, |
- | and subject | + | and subject. |
+ | |||
+ | So, at the very top of the | ||
file you will see that there' | file you will see that there' | ||
- | handler set which is all fields | + | handler set which is " |
a very broad search that as it says is | a very broad search that as it says is | ||
going to search across the majority of | going to search across the majority of | ||
- | the fields indexed in view find there is | + | the fields indexed in VuFind. There is |
really very little reason to ever change | really very little reason to ever change | ||
- | this default handler so I recommend | + | this default handler, so I recommend |
- | leaving that alone however | + | leaving that alone. However, |
setting just a few lines down here | setting just a few lines down here | ||
- | called | + | called |
which is turned off by default because | which is turned off by default because | ||
- | it causes | + | it causes |
work but this is something that a lot of | work but this is something that a lot of | ||
- | people may actually want to turn on so | + | people may actually want to turn on. |
- | let me show you what this does Here I am | + | So let me show you what this does. |
- | in my local view find demo and if I run | + | Here I am in my local VuFind |
- | a blank search this will show us all of | + | and if I run a blank search |
+ | this will show us all of | ||
the records in the index and you'll see | the records in the index and you'll see | ||
that by default things are sorted by | that by default things are sorted by | ||
- | relevance which means that view find | + | relevance, which means that VuFind |
tries to use the user search terms to | tries to use the user search terms to | ||
figure out which things in the result | figure out which things in the result | ||
- | set are most important | + | set are most important. But if you do a |
blank search there are no search terms | blank search there are no search terms | ||
to use for ranking and you just get | to use for ranking and you just get | ||
everything back in a completely | everything back in a completely | ||
arbitrary order and that's where this | arbitrary order and that's where this | ||
- | setting comes in if I go back and I | + | setting comes in. If I go back and I |
- | uncomment | + | uncomment |
- | override | + | it will use a sort option other |
than relevance only for empty searches | than relevance only for empty searches | ||
and then we will get perhaps a more | and then we will get perhaps a more | ||
- | meaningful looking result set so if i | + | meaningful looking result set. So if I |
- | refresh my search results now I've got a | + | refresh my search results now I've got |
- | at the | + | " |
- | moving | + | |
+ | Moving | ||
see that there are a couple of major | see that there are a couple of major | ||
sections in this file that control which | sections in this file that control which | ||
search handlers are available to your | search handlers are available to your | ||
- | user there is basic searches | + | user. There is [Basic_Searches], |
going to control the drop-down list next | going to control the drop-down list next | ||
to the search box which is on | to the search box which is on | ||
- | practically every screen of you find and | + | practically every screen of VuFind, |
- | then there' | + | then there' |
going to control what options are | going to control what options are | ||
available in the boxes in the advanced | available in the boxes in the advanced | ||
- | search screen | + | search screen. Snd you'll notice that by |
default there are more options available | default there are more options available | ||
for advanced search because we are | for advanced search because we are | ||
expecting users to be trying to do more | expecting users to be trying to do more | ||
- | specific things and combining fields | + | specific things and combining fields |
more complex ways when they' | more complex ways when they' | ||
advanced searches whereas the basic | advanced searches whereas the basic | ||
- | search is really just the basics | + | search is really just the basics. |
- | also one kind of special case here the | + | |
- | tag search which is a way of searching | + | There's also one kind of special case here |
+ | the tag search, which is a way of searching | ||
for user tags that users have created on | for user tags that users have created on | ||
- | records | + | records. It works a little bit |
differently than everything else which | differently than everything else which | ||
is why it's only available in the basic | is why it's only available in the basic | ||
- | list it doesn' | + | list. It doesn' |
types of searches and so it doesn' | types of searches and so it doesn' | ||
properly if you try to put it in any | properly if you try to put it in any | ||
- | advanced search | + | advanced search. |
- | let you do a couple of things | + | |
- | all they let you control the order of | + | So all of these lists |
+ | let you do a couple of things. First of | ||
+ | all, they let you control the order of | ||
the options so for example if I want the | the options so for example if I want the | ||
author option to appear above the title | author option to appear above the title | ||
- | option I can just cut and paste put the | + | option I can just cut and paste, put the |
author line above the title line and | author line above the title line and | ||
- | then if i refresh my view find screen | + | then if I refresh my VuFind |
and look at the drop-down menu the order | and look at the drop-down menu the order | ||
of the fields here matches what's in the | of the fields here matches what's in the | ||
- | configuration file so if presentation of | + | configuration file. So if presentation of |
- | options is important to you you have | + | options is important to you, you have |
- | full control over that the other thing | + | full control over that. |
+ | |||
+ | The other thing | ||
that you'll notice here is that some of | that you'll notice here is that some of | ||
- | these things look a little bit cryptic | + | these things look a little bit cryptic. |
- | like author equals | + | Like author equals |
- | underscore author what's going on here | + | What's going on here |
is that the values on the left side of | is that the values on the left side of | ||
the equal sign are the names of search | the equal sign are the names of search | ||
- | handlers which are configured in another | + | handlers, which are configured in another |
- | file that we'll look at shortly | + | file that we'll look at shortly. The |
- | values on the | + | values on the right side of the |
- | side of the equal sign our translation | + | equal sign our translation |
- | strings so if you find has an | + | So VuFind |
internationalization system which looks | internationalization system which looks | ||
up keys and then displays values in the | up keys and then displays values in the | ||
- | users currently chosen language | + | user' |
these values here are going to go | these values here are going to go | ||
through that translation system and get | through that translation system and get | ||
- | translated for the user so if you decide | + | translated for the user. |
+ | |||
+ | So if you decide | ||
to customize these labels you can really | to customize these labels you can really | ||
- | put anything you like here so for | + | put anything you like here. |
- | example I could change author to a | + | For example, I could change author to |
- | person | + | Person |
- | go back to if you find and refresh the | + | go back to VuFind |
page I now see that I have the option of | page I now see that I have the option of | ||
- | the person | + | the Person |
- | the important thing to remember is if | + | The important thing to remember is if |
- | your particular | + | your particular |
presenting the interface in multiple | presenting the interface in multiple | ||
- | languages you're going to have to create | + | languages, you're going to have to create |
- | mappings for these strings | + | mappings for these strings |
the language files you need so that they | the language files you need so that they | ||
translate correctly when users switch | translate correctly when users switch | ||
- | languages | + | languages. Internationalization |
probably a good topic for a future video | probably a good topic for a future video | ||
but for now I just wanted to make you | but for now I just wanted to make you | ||
- | aware that that exists | + | aware that that exists. |
- | notice that there are a couple of | + | |
+ | So you'll also notice | ||
+ | that there are a couple of | ||
searches that have semicolons in front | searches that have semicolons in front | ||
- | of them meaning that they are commented | + | of them, meaning that they are commented |
- | out they' | + | out they' |
because they are useful options in some | because they are useful options in some | ||
cases but not everyone needs them so we | cases but not everyone needs them so we | ||
- | leave them off by default | + | leave them off by default. |
- | have this coordinate search which can be | + | For example, we have this coordinate search |
- | useful if you're using view finds | + | which can be useful if you're using VuFind' |
optional geographic functionality but is | optional geographic functionality but is | ||
- | meaningless otherwise | + | meaningless otherwise. We have this |
journal title search which is just like | journal title search which is just like | ||
a title search but it filters down to | a title search but it filters down to | ||
- | journals | + | journals. Again, |
journal data so we don't provide it by | journal data so we don't provide it by | ||
default but just for fun let's turn it | default but just for fun let's turn it | ||
- | on here by removing the semicolon | + | on here by removing the semicolon. |
- | now if i refresh my browser yet again I | + | Now if I refresh my browser yet again, |
- | now have a journal title search showing | + | I now have a journal title search showing |
up under title and if I just do a blank | up under title and if I just do a blank | ||
journal title search that brings back | journal title search that brings back | ||
- | just ten | + | just ten results, |
- | salts which is all of the journals that | + | which is all of the journals that |
- | were indexed in my sample data so that | + | were indexed in my sample data. |
- | is how you control and reorganize and | + | |
- | real able your search handlers similarly | + | So that is how you control |
- | there is a sorting | + | and reorganize and re-label |
- | which controls your sorting options | + | your search handlers similarly |
- | under the heading label of sorting | + | there is a [Sorting] |
- | as with the search handlers there are | + | which controls your sorting options. |
- | some options that are on by default some | + | It is under the heading label of [Sorting] |
+ | and as with the search handlers there are | ||
+ | some options that are on by default, some | ||
options that are commented out but | options that are commented out but | ||
- | they' | + | they' |
- | instance | + | instance |
that you're going to be using Library of | that you're going to be using Library of | ||
Congress style call numbers but if | Congress style call numbers but if | ||
instead you're using Dewey you can just | instead you're using Dewey you can just | ||
- | flip-flop these by commenting out call | + | flip-flop these by commenting out |
- | number | + | " |
- | uncommenting dewey sort so in this | + | and uncommenting |
section the values on the left are the | section the values on the left are the | ||
- | names of fields in the solar index that | + | names of fields in the Solr index that |
- | view find can use for sorting | + | VuFind |
on the right are the labels which are | on the right are the labels which are | ||
- | once again translation strings | + | once again translation strings. So you |
- | can reorganize this list you can real | + | can reorganize this list, you can re-label |
- | able this list you can add different | + | this list, you can add different |
- | solar fields if you want to create some | + | Solr fields if you want to create some |
- | kind of a custom sort but the the one | + | kind of a custom sort, but the the one |
thing that you have to keep in mind if | thing that you have to keep in mind if | ||
you're trying to do custom fields here | you're trying to do custom fields here | ||
- | is that solar sort must be done on | + | is that Solr sort must be done on |
fields that contain only one value per | fields that contain only one value per | ||
- | record | + | record. If a field contains multiple |
- | values | + | values |
that because it needs just one value to | that because it needs just one value to | ||
- | put the record in an ordered sequence | + | put the record in an ordered sequence. |
- | if you try to do anything else here it | + | So if you try to do anything else here it |
will cause an error and that's a common | will cause an error and that's a common | ||
source of confusion and we of course can | source of confusion and we of course can | ||
get into that further when we talk about | get into that further when we talk about | ||
- | solar in a future video another useful | + | Solr in a future video. |
- | option that' | + | |
- | eyal is the ability to control the page | + | Another useful |
- | size of results you'll notice when you | + | that' |
- | first install | + | is the ability to control the page size |
+ | of result. You'll notice, when you | ||
+ | first install | ||
records per page and no ability to | records per page and no ability to | ||
change that but in this configuration | change that but in this configuration | ||
file adjusting both the page size and | file adjusting both the page size and | ||
the ability to switch the page size is | the ability to switch the page size is | ||
- | possible | + | possible. There's a default limit you |
can see here this is set to 20 but | can see here this is set to 20 but | ||
- | suppose I want to change this to 40 we | + | suppose I want to change this to 40. |
- | are going to have to close our web | + | We are going to have to close our web |
browser before we can see the change | browser before we can see the change | ||
- | take effect because | + | take effect because |
- | remembers all of your default | + | remembers all of your default |
choices in cookies and reinforces them | choices in cookies and reinforces them | ||
- | for you this is usually convenient | + | for you. This is usually convenient |
because if you've made a choice and you | because if you've made a choice and you | ||
do a new search you want that choice to | do a new search you want that choice to | ||
Line 267: | Line 286: | ||
your configuration files and you change | your configuration files and you change | ||
something it can appear that your change | something it can appear that your change | ||
- | didn't work because | + | didn't work because |
remembering what you were doing before | remembering what you were doing before | ||
- | you made the change | + | you made the change. Now I've closed |
Firefox I've opened it back up again | Firefox I've opened it back up again | ||
- | that's cleared out my session level | + | that's cleared out my session-level |
cookies so now when I perform a blank | cookies so now when I perform a blank | ||
search I have 40 results on the page | search I have 40 results on the page | ||
- | instead of 20 and so now if I want to | + | instead of 20. |
+ | |||
+ | Now if I want to | ||
give the user the choice of how many | give the user the choice of how many | ||
- | records to view at once I can uncomment | + | records to view at once, I can uncomment |
this limit option setting which is just | this limit option setting which is just | ||
a comma separated list of numbers and | a comma separated list of numbers and | ||
all of those numbers are going to be | all of those numbers are going to be | ||
- | provided as a drop-down menu so if i | + | provided as a drop-down menu. So, if i |
refresh the page I now have a results | refresh the page I now have a results | ||
per page control I can set that to 10 or | per page control I can set that to 10 or | ||
- | 100 or whatever | + | 100 or whatever. |
+ | So you are free to put | ||
any number you like in this | any number you like in this | ||
configuration but do keep in mind that | configuration but do keep in mind that | ||
there are limits to how much data a | there are limits to how much data a | ||
- | solar can process and passed if you find | + | Solr can process and pass to VuFind |
- | it once so if you try to set your page | + | it once. So, if you try to set your page |
size to 10,000 you might expect to run | size to 10,000 you might expect to run | ||
into memory problems or performance | into memory problems or performance | ||
- | problems or other issues | + | problems or other issues. |
- | this but try to keep it within reason | + | So configure |
- | another | + | but try to keep it within reason. |
- | find is what we call the recommendation | + | |
- | module system | + | Another |
+ | is what we call the | ||
+ | recommendation | ||
+ | This is just a modular | ||
way of plugging custom code into the | way of plugging custom code into the | ||
- | search results | + | search results |
- | actually three different regions where | + | There are actually |
+ | three different regions where | ||
you can position a recommendation module | you can position a recommendation module | ||
and by default several of the things | and by default several of the things | ||
- | that you find uses are actually | + | that VuFind |
- | recommendation modules | + | recommendation modules. |
+ | That includes | ||
this top suggested topics within your | this top suggested topics within your | ||
- | search control which is a top | + | search control which is a |
- | recommendation module | + | " |
+ | It includes the | ||
standard faceting controls which are a | standard faceting controls which are a | ||
- | side recommendation module | + | "side" |
- | includes a variety of things that show | + | It includes a variety of things that show |
up if you do a search that doesn' | up if you do a search that doesn' | ||
- | any results like this suggesting ways to | + | any results like this "suggesting ways to |
- | find more results blue box these are no | + | find more results" |
- | results | + | " |
- | recommendation modules | + | So you have full control over |
- | control over what shows up when a user | + | what shows up when a user |
performs a search that yields no results | performs a search that yields no results | ||
and also what shows up above and to the | and also what shows up above and to the | ||
- | side of normal search results | + | side of normal search results. |
- | is all done through the configuration | + | That is all done through the configuration |
- | file searches | + | file, searches.ini. |
- | near the top of the file you're going to | + | If you look fairly near the top |
- | see that there' | + | of the file you're going to see that there' |
- | settings | + | default_top_recommend |
- | and default no results recommend | + | default_side_recommend |
- | settings | + | and default_noresults_recommend settings |
- | is tell you find which recommendation | + | and what these are going to do |
- | modules to load um if there are no more | + | is tell VuFind |
- | specific settings available | + | modules to load if there are no more |
+ | specific settings available. Because | ||
can configure each search handler to | can configure each search handler to | ||
have its own set of recommendation | have its own set of recommendation | ||
- | modules | + | modules. For example when you do an |
author search you're going to see some | author search you're going to see some | ||
author specific tips and details that's | author specific tips and details that's | ||
- | made possible by this recommend | + | made possible by this |
- | configuration | + | recommend |
- | and to see the other piece of this | + | |
+ | To see the other piece of this | ||
beside the defaults if you scroll down | beside the defaults if you scroll down | ||
- | there is a section called | + | there is a section |
- | recommendations | + | called |
- | recommendations | + | a section called |
- | results recommendations | + | and a section called |
- | these sections you can specify the name | + | and in each of these sections |
- | of a search handler | + | you can specify the name |
- | you to repeat that setting to have | + | of a search handler |
- | multiple values within it and then the | + | (which allow you to repeat that setting to have |
+ | multiple values within it) and then the | ||
one or more recommendation modules that | one or more recommendation modules that | ||
- | you want to display | + | you want to display. |
- | has some custom faceting that's made | + | So, as I said author has some |
- | possible through this similarly call | + | custom faceting that's made |
- | number searches behave a little bit | + | possible through this. |
+ | Similarly, call number searches | ||
+ | behave a little bit | ||
differently if you do a call number | differently if you do a call number | ||
- | search and don't find any results | + | search and don't find any results. |
- | are a lot of recommendation modules | + | |
+ | There are a lot of recommendation modules | ||
available and if you're comfortable with | available and if you're comfortable with | ||
- | coding you can also write your own each | + | coding you can also write your own. |
- | one of them is just one PHP class and | + | Each one of them is just one PHP class |
- | one corresponding template to display | + | and one corresponding template |
- | Thanks obviously | + | to display |
+ | Obviously, | ||
beyond the scope of this video but we | beyond the scope of this video but we | ||
may do that in the future but if you | may do that in the future but if you | ||
just want to see all of the available | just want to see all of the available | ||
- | options if you scroll up above the side | + | options if you scroll up above |
- | recommendations | + | to the [SideRecommendations] |
- | configuration file you will find a | + | of this configuration file you will find a |
substantial list of options divided into | substantial list of options divided into | ||
which section it's recommended that you | which section it's recommended that you | ||
- | might want to use these settings in so I | + | might want to use these settings in. |
- | would encourage you to read through this | + | So I would encourage you to |
- | and see if there' | + | read through this |
- | your eye most of them are fairly easy to | + | and see if there' |
- | configure you just put the name of the | + | catches |
+ | Most of them are fairly easy to | ||
+ | configure: you just put the name of the | ||
module and then a number of parameters | module and then a number of parameters | ||
which are described in the documentation | which are described in the documentation | ||
- | here if it's a module that has special | + | here (if it's a module that has special |
- | options | + | options). But for now, just a really quick |
- | example I'm going to go back up to the | + | example, I'm going to go back up to the |
default recommendation settings and I | default recommendation settings and I | ||
don't know about you but I'm personally | don't know about you but I'm personally | ||
not a huge fan of the facet controls | not a huge fan of the facet controls | ||
- | above the search results so this is | + | above the search results, so this is |
something that I often turn off | something that I often turn off | ||
- | when I'm setting up you find and getting | + | when I'm setting up VuFind |
rid of that is as easy as commenting out | rid of that is as easy as commenting out | ||
this line by putting a semicolon at the | this line by putting a semicolon at the | ||
- | beginning of it so I've removed the | + | beginning of it. So I've removed the |
- | default top recommend equals top facets | + | default_top_recommend[] = TopFacets: |
- | results top line and now if I go back to | + | Now if I go back to |
- | my browser and refresh my search results | + | my browser and refresh, my search results |
just start at the top of the page | just start at the top of the page | ||
instead of having those facets above | instead of having those facets above | ||
- | them one last thing that's going on in | + | them. |
- | searches | + | |
+ | One last thing that's going on in | ||
+ | searches.ini that's worth pointing | ||
out is that this is where all of the | out is that this is where all of the | ||
- | autocomplete functionality is set up | + | autocomplete functionality is set up. |
- | there's an autocomplete | + | There's an [Autocomplete] |
you can use to turn autocomplete off | you can use to turn autocomplete off | ||
completely if you don't want to use it | completely if you don't want to use it | ||
- | and similar to recommendation modules | + | and similar to recommendation modules, |
there' | there' | ||
for generating autocomplete suggestions | for generating autocomplete suggestions | ||
while users type their search queries | while users type their search queries | ||
- | but that's overridden on a handler by | + | but that's overridden on a |
- | handler basis to configure different | + | handler-by-handler basis |
+ | to configure different | ||
rules for how those suggestions are | rules for how those suggestions are | ||
- | looked up most people are probably not | + | looked up. Most people are probably not |
going to need to change this but if you | going to need to change this but if you | ||
are planning on building your own custom | are planning on building your own custom | ||
- | handler it's nice to know that you can | + | handler, it's nice to know that you can |
also control how suggestions are | also control how suggestions are | ||
- | provided for that handler | + | provided for that handler. |
- | essentially | + | Essentially, |
- | by using the solar lookup autocomplete | + | by using the Solr lookup autocomplete |
handler which accepts the name of a | handler which accepts the name of a | ||
search handler that the user's current | search handler that the user's current | ||
text will be searched against and then a | text will be searched against and then a | ||
prioritized field list which says which | prioritized field list which says which | ||
- | solar field or fields to use to make the | + | Solr field or fields to use to make the |
- | recommendations | + | recommendations. As with the |
recommendation modules all of the | recommendation modules all of the | ||
different autocomplete handlers are | different autocomplete handlers are | ||
- | documented above the section | + | documented above the section |
- | comments which has a little bit more | + | which has a little bit more |
detail about how this works again this | detail about how this works again this | ||
is something most people don't need to | is something most people don't need to | ||
- | change but if you need to it's here | + | change but if you need to it's here. |
- | so I think that's probably plenty on | + | |
- | searches | + | So I think that's probably plenty on |
+ | searches.ini but there' | ||
configuration file that you will | configuration file that you will | ||
probably want to play with which is | probably want to play with which is | ||
- | facets | + | facets.ini and this is what controls |
- | how view find provides faceting options | + | how VuFind |
- | for narrowing searches | + | for narrowing searches. |
- | going to go to the terminal | + | Once again I'm going to |
- | you find home directory and I'm going to | + | go to the terminal, into my |
- | copy config | + | VuFind |
- | that I and I into local config | + | copy "config/vufind/facets.ini" |
+ | into "local/config/ | ||
so that I have my own local copy of the | so that I have my own local copy of the | ||
file that I can modify without touching | file that I can modify without touching | ||
- | the core and then I'm going to go back | + | the core. |
- | to vs code and open my new file facets | + | Then I'm going to go back to VSCode |
- | that I and I so at the very top of the | + | and open my new file facets.ini. |
- | file there' | + | |
+ | So, at the very top of the | ||
+ | file there' | ||
and this is what controls the facets | and this is what controls the facets | ||
that are displayed on the side of the | that are displayed on the side of the | ||
- | regular search results | + | regular search results. |
- | aside there' | + | Just as an aside |
- | module configuration in searches ini | + | there' |
- | that tells view find that this is where | + | module configuration in searches.ini |
- | to find this so you can theoretically | + | that tells VuFind |
- | store this anywhere but by default the | + | to find this, so you can theoretically |
- | results section of facets | + | store this anywhere, but by default the |
- | is going to control your default facet | + | results section of facets.ini |
- | options | + | is going to control your default facet options. |
+ | Just like all the other | ||
configurations I've showed you this list | configurations I've showed you this list | ||
can be reordered and the order changes | can be reordered and the order changes | ||
will be reflected in the order that the | will be reflected in the order that the | ||
- | facets are displayed in the view find | + | facets are displayed in the VuFind |
- | interface | + | You can also change all of |
these labels on the right side of the | these labels on the right side of the | ||
equal signs to whatever you want and it | equal signs to whatever you want and it | ||
- | will pass through the translation system | + | will pass through the translation system. |
- | similar | + | Similar |
the values on the left side of the equal | the values on the left side of the equal | ||
- | signs are all the names of solar fields | + | signs are all the names of Solr fields |
and so this is where the facet values | and so this is where the facet values | ||
- | are going to be retrieved from again | + | are going to be retrieved from. |
- | these defaults should be reasonable but | + | Again, |
+ | should be reasonable but | ||
if you're doing custom things you know | if you're doing custom things you know | ||
for example if you index a custom field | for example if you index a custom field | ||
- | with solar mark you can expose it here | + | with SolrMarc |
- | as a facet | + | as a facet if you want to. |
- | if you want to again when we talk more | + | Again, |
- | about solar in the future you will learn | + | about Solr in the future you will learn |
that different fields behave differently | that different fields behave differently | ||
and not all fields work well as facets | and not all fields work well as facets | ||
so keep that in mind if you try | so keep that in mind if you try | ||
something and get weird looking | something and get weird looking | ||
- | unexpected results | + | unexpected results. |
- | example let's say that we think language | + | So, just as a quick example, |
+ | let's say that we think language | ||
is the most important facet so we want | is the most important facet so we want | ||
to make that appear first and because | to make that appear first and because | ||
our demo instance has the same value for | our demo instance has the same value for | ||
every record with institution and | every record with institution and | ||
- | building there' | + | building, there' |
showing those so we're going to put | showing those so we're going to put | ||
- | semicolons in front of those comment | + | semicolons in front of those, |
- | them out disable them so now if I save | + | comment |
- | this and i go back and i refresh my | + | so now if I save |
+ | this and I go back and I refresh my | ||
results I now have my language settings | results I now have my language settings | ||
at the top those other two things have | at the top those other two things have | ||
disappeared and all the other fields are | disappeared and all the other fields are | ||
- | showing up as they always do now if we | + | showing up as they always do. |
- | look a little further down there' | + | If we look a little further down |
- | results top section and this controls | + | there' |
+ | and this controls | ||
which facet fields show up in that top | which facet fields show up in that top | ||
- | facets area which I just disabled | + | facets area which I just disabled. |
- | it's probably useful to still have | + | So it's probably useful to still have |
- | subject faceting so let's let's move | + | subject faceting, so let's let's move |
- | that out of results top and into results | + | that out of [ResultsTop] |
- | save that refresh | + | Save that. Refresh |
when I scroll down those topic facet | when I scroll down those topic facet | ||
values that used to be showing above the | values that used to be showing above the | ||
- | search results are showing in the side | + | search results are showing in the side bar. |
- | bar if we scroll down a little bit | + | |
+ | If we scroll down a little bit | ||
further in the file you'll notice that | further in the file you'll notice that | ||
- | there are some sections related to | + | there are some sections related to labeling. |
- | labeling there' | + | There' |
- | facet labels | + | these are used because |
- | fine needs to know how to label the | + | needs to know how to label the |
- | filters that you apply to your search | + | filters that you apply to |
- | results | + | your search results. |
- | so for example if I just click on say | + | So, for example, if I just click on say |
- | call number general works you can see in | + | "Call Number" |
- | the filter list but view fine labels | + | the filter list but VuFind |
- | this filter as call number it does that | + | this filter as "Call Number" |
+ | It does that | ||
because it has this list of | because it has this list of | ||
configuration sections where it knows it | configuration sections where it knows it | ||
can find labels that apply to different | can find labels that apply to different | ||
- | solar fields | + | Solr fields. If it can't find a label |
- | it's going to put the word other in | + | it's going to put the word " |
- | front of the facet so this section is | + | of the facet. |
- | just here to enable | + | So this section is |
+ | just here to enable | ||
all the configuration that will give it | all the configuration that will give it | ||
- | human readable labels for fields | + | human readable labels for fields. |
- | shouldn' | + | You shouldn' |
- | ever see filters being labeled as other | + | ever see filters being labeled as " |
it probably means that you've made a | it probably means that you've made a | ||
customization somewhere and haven' | customization somewhere and haven' | ||
- | reflected it in these configurations | + | reflected it in these configurations. |
- | either | + | Either |
- | putting an explicit | + | putting an explicit |
- | mapping in the extra facet labels | + | mapping in [ExtraFacetLabels]. |
- | there's also a special facet section | + | |
+ | There's also a [SpecialFacets] | ||
here which allows you to turn on special | here which allows you to turn on special | ||
handling for certain fields and in the | handling for certain fields and in the | ||
default configuration this is used to | default configuration this is used to | ||
indicate that the publish date field is | indicate that the publish date field is | ||
- | a date range which is what enables this | + | a " |
- | slider control to appear | + | slider control to appear. |
- | few different kinds of ranges you can | + | There are a few different |
+ | kinds of ranges you can | ||
turn on if you need them it's all | turn on if you need them it's all | ||
- | explained in the comments in the file | + | explained in the comments in the file. |
- | also interesting is this checkbox facet | + | |
- | section if you have a setting that's | + | Also interesting is this [CheckboxFacets] |
+ | if you have a setting that's | ||
essentially a flip flop switch you can | essentially a flip flop switch you can | ||
- | put a solar query and a label in here | + | put a Solr query and a label in here |
- | and if you find will present that as a | + | and VuFind |
- | checkbox for the user to toggle | + | checkbox for the user to toggle. |
- | example suppose I want to be able to | + | So, for example, suppose I want to be able to |
filter to only records that have no | filter to only records that have no | ||
- | author in them I can make a solar query | + | author in them I can make a |
- | of - author : star which is the syntax | + | Solr query of "-author:*" |
+ | which is the syntax | ||
for excluding anything with a value in | for excluding anything with a value in | ||
- | the author field | + | the author field. |
- | I can say equals | + | I can say equals |
- | this and I go back and refresh my search | + | If I save this |
- | results I now have a no author checkbox | + | and I go back and refresh my search results |
+ | I now have a no author checkbox | ||
available and if I click that I now end | available and if I click that I now end | ||
up with 10 records that don't have | up with 10 records that don't have | ||
- | authors showing | + | authors showing. |
- | contrived example but there are | + | That's a fairly contrived example |
- | real-world situations where having these | + | but there are real-world situations |
- | checkbox controls can be valuable right | + | where having these |
- | under the checkbox facets | + | checkbox controls can be valuable right. |
- | the result settings | + | |
+ | Under the [CheckboxFacets] | ||
+ | the [Result_Settings] | ||
where you can control how many values | where you can control how many values | ||
- | are displayed in the sidebar how many | + | are displayed in the sidebar, how many |
- | shows sort of above the fold of that | + | show sort of above the fold of that |
- | expand link and also what kind of | + | expand link, and also what kind of |
behavior if any we present for exploring | behavior if any we present for exploring | ||
- | deep into the facet set so by default | + | deep into the facet set. |
- | show 6 values above the fold and that | + | So by default |
+ | we show 6 values above the fold and that | ||
expands out to 30 values and we offer a | expands out to 30 values and we offer a | ||
- | seol control which pops up a lightbox | + | "see all" |
where we can do more work on the facet | where we can do more work on the facet | ||
- | values if we want to if you want to | + | values if we want to. |
- | change any of that say you only want to | + | If you want to change any of that |
+ | say you only want to | ||
show two above the fold and only ten in | show two above the fold and only ten in | ||
the complete list you can do that by | the complete list you can do that by | ||
- | just changing the show more and the | + | just changing the " |
- | facet limit you can also switch these | + | and the " |
- | out on a field by field basis so for | + | You can also switch these |
+ | out on a field-by-field basis so for | ||
example if we want to show a lot of | example if we want to show a lot of | ||
formats but very few of anything else we | formats but very few of anything else we | ||
- | can say show more star equals | + | can say " |
- | sets a default and then override that | + | which sets a default |
- | default with show more format | + | and then override that default |
- | now if I start all over here and do a | + | with " |
- | blank search all of the format values | + | Now if I start all over here and |
- | show we don't actually have 10 distinct | + | do a blank search, |
+ | all of the format values show. | ||
+ | We don't actually have 10 distinct | ||
values in this index but we're seeing | values in this index but we're seeing | ||
- | all of them and everything else | + | all of them - and everything else |
- | at most - with an expand control | + | at most 2 with an expand control. |
- | are also settings for controlling the | + | |
+ | There are also settings for controlling the | ||
dimensions of the top area if you want | dimensions of the top area if you want | ||
to customize that and for whether we | to customize that and for whether we | ||
want to have exclude links which let | want to have exclude links which let | ||
- | users white values out of a search set | + | users wipe values out of a search set |
rather than filtering to only include | rather than filtering to only include | ||
- | those values | + | those values. If we just uncomment this |
- | exclude | + | "exclude=*" |
buttons on every single facet field so | buttons on every single facet field so | ||
- | for example now we don't want journals | + | for example now we don't want journals, |
- | can click this X it deletes all the | + | I can click this X, |
- | journals out of the search | + | it deletes all the |
- | quite useful | + | journals out of the search. |
+ | This can be quite useful. | ||
+ | We can also change facets | ||
so that by clicking more values the user | so that by clicking more values the user | ||
- | sees more options rather than narrowing | + | sees more options rather than narrowing. |
- | so that's the or facets value and that | + | That's the or facets value. |
- | can be set to work on only certain | + | That can be set to work on only certain |
- | fields so if you use the star it will | + | fields so if you use the * it will |
apply to everything but say I only want | apply to everything but say I only want | ||
- | this to apply to format I can set that | + | this to apply to format, I can set that |
on the format field and then when i | on the format field and then when i | ||
refresh my screen I now have little | refresh my screen I now have little | ||
checkboxes and so if I click on | checkboxes and so if I click on | ||
- | conference proceedings | + | " |
I now have narrowed down to only | I now have narrowed down to only | ||
conference proceedings but I can still | conference proceedings but I can still | ||
see the other two values that existed in | see the other two values that existed in | ||
the result set and I can widen my search | the result set and I can widen my search | ||
- | again by checking off more of them so | + | again by checking off more of them. |
- | depending on what kinds of values you're | + | So depending on what kinds of values you're |
working with having this option | working with having this option | ||
- | available can be valuable | + | available can be valuable. |
- | control whether facets are visible by | + | |
+ | You can also control | ||
+ | whether facets are visible by | ||
default or if they' | default or if they' | ||
- | again you can specify that on a field by | + | again you can specify that on a |
- | field basis if you just turn it on for | + | field-by-field basis. |
+ | If you just turn it on for | ||
everything then when you load the screen | everything then when you load the screen | ||
all non-selected facet regions are | all non-selected facet regions are | ||
collapsed then the user has to expand | collapsed then the user has to expand | ||
- | them to see values | + | them to see values. |
- | the Advanced section controls which | + | |
+ | The [Advanced] section controls which | ||
facets are used as filters in the select | facets are used as filters in the select | ||
- | boxes on the advanced search screen | + | boxes on the advanced search screen. |
- | to show you that quickly I go to the | + | Just to show you that quickly I go to the |
- | advanced link we have these call number | + | advanced link we have these call number, |
- | language and format filters which allow | + | language, and format filters which allow |
you to pre-select some values when | you to pre-select some values when | ||
- | you're doing an advanced search | + | you're doing an advanced search. |
- | control which boxes appear here through | + | We can control which boxes appear here |
- | this Advanced section | + | through |
- | Settings | + | [Advanced_Settings] |
+ | lets us limit how many | ||
values can appear in each of those boxes | values can appear in each of those boxes | ||
along with some other behavioral | along with some other behavioral | ||
- | controls | + | controls. You'll notice that by default |
- | the advanced facets are bored together | + | the advanced facets are OR' |
so that multi selections include all of | so that multi selections include all of | ||
those values rather than only including | those values rather than only including | ||
- | records that match every single selected | + | records that match every single selected thing. |
- | thing there are also some special facets | + | There are also some special facets |
that can be turned on on the advanced | that can be turned on on the advanced | ||
- | screen | + | screen. |
- | a setting that applies to all of you | + | |
- | find not just the advanced screen | + | Further |
- | is a translated facets | + | a setting that applies to all of VuFind |
- | can use to run facet values through | + | not just the advanced screen. |
- | finds translation system | + | There is a translated_facets |
- | majority of values in the solar index | + | which you can use |
- | are just presented as is which means | + | to run facet values through |
- | that even though | + | translation system. |
+ | By default | ||
+ | the majority of values in the Solr index | ||
+ | are just presented as-is which means | ||
+ | that even though | ||
supports many languages the values that | supports many languages the values that | ||
are coming through are just going to | are coming through are just going to | ||
- | display in whatever form they were | + | display in whatever form |
- | indexed in but sometimes | + | they were indexed in. |
+ | Sometimes | ||
controlled vocabulary in a field that | controlled vocabulary in a field that | ||
you want to translate into many | you want to translate into many | ||
languages and this provides the | languages and this provides the | ||
- | mechanism for doing that you'll notice | + | mechanism for doing that. |
- | that format is translated by default | + | You'll notice that format |
- | because | + | is translated by default |
+ | because | ||
translations for all of the format | translations for all of the format | ||
- | values it uses additionally the call | + | values it uses. |
- | number | + | Additionally the callnumber-first field |
+ | which contains the | ||
top-level Library of Congress call | top-level Library of Congress call | ||
- | number category | + | number category is translated |
- | is translated and you'll see that | + | and you'll see that |
- | there' | + | there' |
name of the facet field that's being | name of the facet field that's being | ||
- | translated | + | translated. This is specifying which |
- | language file the translations are found | + | language file the translations are found in. |
- | in again we'll go into that in more | + | Again we'll go into that in more |
depth when we talk about | depth when we talk about | ||
internationalization in the future but | internationalization in the future but | ||
for now just be aware that if you want | for now just be aware that if you want | ||
to translate your facet values you can | to translate your facet values you can | ||
- | set that up here finally | + | set that up here. |
- | page and home page settings | + | |
- | these control on the front page of you | + | Finally |
- | find these top-level browse categories | + | and [HomePage_Settings] |
- | you can set any facet field to display | + | these control, on the front page of VuFind, |
+ | these top-level browse categories. | ||
+ | You can set any facet field to display | ||
here and you can control how many values | here and you can control how many values | ||
- | to show just by changing that homepage | + | to show just by changing that [HomePage] |
- | section of facets that I and I also note | + | section of facets that.ini. |
- | that if you do make changes there or if | + | Also note that if you do make changes there |
- | you reindex your records you may wish to | + | or if you reindex your records |
- | clear a few finds internal cache to make | + | you may wish to clear a VuFind' |
+ | internal cache to make | ||
those changes visible if you don't see | those changes visible if you don't see | ||
- | them right away so that covers all of | + | them right away. |
- | the highlights of facets | + | |
+ | So, that covers all of | ||
+ | the highlights of facets.ini and now | ||
we are going to look at one last thing | we are going to look at one last thing | ||
which is the most complex configuration | which is the most complex configuration | ||
- | file and view find called | + | file in VuFind, |
- | yeah mol which is the file that contains | + | which is the file that contains |
- | specifications for all of you find | + | specifications for all of VuFind |
- | search handlers | + | search handlers |
- | to copy config | + | |
- | search specs that yamo into my local | + | So I'm once again going |
- | config | + | to copy "config/ |
- | local copy I can tinker with I'm going | + | into my "local/config/ |
- | to go into visual studio code and look | + | so I have a local copy I can tinker with. |
- | at that so search specs dot yeah Mille | + | I'm going to go into VSCode |
- | is as the name says a yeah mol file | + | So searchspecs.yml |
which is a particular way of structuring | which is a particular way of structuring | ||
- | data for machine readability | + | data for machine readability. |
- | the complex nested nature of the data | + | Because of the complex nested |
- | we're using here Gamal was chosen early | + | nature of the data |
- | and few finds development as | + | we're using here, YAML was chosen early |
+ | and VuFind' | ||
a workable format for representing all | a workable format for representing all | ||
- | of the things we need to do here Gamal | + | of the things we need to do here. |
- | is not the most user-friendly format so | + | YAML is not the most user-friendly format so |
be careful with it sometimes if you have | be careful with it sometimes if you have | ||
a space in the wrong place so that | a space in the wrong place so that | ||
settings don't align with one another it | settings don't align with one another it | ||
can get confused and have trouble | can get confused and have trouble | ||
- | reading it so proceed with caution | + | reading it. So proceed with caution. |
- | for today we're just going to do a quick | + | For today we're just going to do |
- | high-level browse of this file so that | + | a quick, high-level browse of this file |
- | you are aware it's of its existence | + | so that you are aware it's of its existence |
- | can do more with it later when you | + | and can do more with it later when you |
- | understand more about solar so first of | + | understand more about Solr. |
- | all the file begins with a long long | + | |
- | series of comments describing all of the | + | So, first of all, |
+ | the file begins with a long, | ||
+ | long series of comments describing all of the | ||
settings and how they work and providing | settings and how they work and providing | ||
- | some examples | + | some examples. |
- | the actual set of search handler | + | Under all of that is the actual set |
- | definitions | + | of search handler definitions. |
+ | So, you'll see that each of | ||
these starts with the name of the | these starts with the name of the | ||
- | Handler | + | handler |
- | indented underneath it so for example | + | indented underneath it. |
- | here is the author handler here is the | + | For example, |
- | isn handler here is the subject handler | + | here is the author handler, |
- | etc again without getting too deep into | + | here is the ISN handler, |
- | solar there are essentially two | + | here is the subject handler, etc. |
- | different modes of searching that view | + | Again, |
- | find uses one is called | + | Solr there are essentially two |
+ | different modes of searching that VuFind | ||
+ | uses one is called | ||
this method works by just taking a list | this method works by just taking a list | ||
of fields and some relevance ranking | of fields and some relevance ranking | ||
numbers that establish the relative | numbers that establish the relative | ||
importance of those fields to one | importance of those fields to one | ||
- | another and then solar will just take | + | another and then Solr will just take |
- | the user search search it across all of | + | the user search, search it across all of |
- | those fields and then return a relevance | + | those fields, and then return a relevance |
- | ranked result based on your preferences | + | ranked result based on your preferences. |
- | so author | + | So, " |
- | these dis max type searches | + | these edismax |
- | has a number of different fields that | + | VuFind |
contain author data in different formats | contain author data in different formats | ||
and from different parts of the incoming | and from different parts of the incoming | ||
- | records | + | records. So here we're saying primary |
- | author is the most important | + | author is the most important. |
- | version of that primary authors name if | + | The fuller |
+ | primary authors name if | ||
it's present may also be quite | it's present may also be quite | ||
- | so we're giving primary author a 100 | + | so we're giving |
- | point boost we're giving author fuller a | + | primary author a 100-point boost |
- | 50 point boost and they were including | + | we're giving author fuller a 50-point boost |
+ | and then we' | ||
all the other author fields as being of | all the other author fields as being of | ||
- | equal relevance of secondary authors | + | equal relevance of secondary authors, |
- | corporate authors variant forms of names | + | corporate authors, variant forms of names, etc. |
- | etc it's important to note that these | + | It's important to note that these |
numbers in and of themselves don't | numbers in and of themselves don't | ||
- | actually mean anything they' | + | actually mean anything, they' |
- | relative to one another | + | relative to one another. |
- | that an author is a hundred times more | + | We're saying that an author is |
- | important than a secondary author | + | a hundred times more important |
- | often useful to tweak and experiment | + | than a secondary author. |
+ | It is often useful to tweak and experiment | ||
with numbers if you're trying to change | with numbers if you're trying to change | ||
- | the order of your results | + | the order of your results, |
- | balance that works right and there | + | to find the balance that works right |
- | there' | + | and there there' |
- | process | + | in that process. |
- | do an actual example of relevance | + | |
- | ranking so I mentioned earlier that the | + | Let's actually scroll down and |
- | default search | + | do an actual example of relevance |
- | all fields | + | I mentioned earlier that the |
- | definition for that and it really is all | + | default search |
- | fields | + | AllFields |
- | title fields that are boosted quite a | + | definition for that and it really is |
- | lot series fields boosted a little | + | AllFields |
- | authors boosted a fair amount topics | + | title fields that are boosted quite a lot, |
- | boosted almost as heavily as titles | + | series fields boosted a little, |
- | then a few other bits and pieces | + | authors boosted a fair amount, |
- | that there' | + | topics boosted almost as heavily as titles, |
- | fields and this is sort of a catch-all | + | and then a few other bits and pieces. |
- | field that during indexing grabs all of | + | Notice |
+ | called | ||
+ | this is sort of a catch-all | ||
+ | that during indexing grabs all of | ||
the text of the records that you're | the text of the records that you're | ||
- | indexing | + | indexing. So when we search |
are sure to find the words we're | are sure to find the words we're | ||
- | searching for if they' | + | searching for, if they' |
somewhere but we have all this more | somewhere but we have all this more | ||
granular relevance boosting to try to | granular relevance boosting to try to | ||
- | prioritize matches in more meaningful | + | prioritize matches |
- | places | + | in more meaningful places. |
- | so let's just show an example of this in | + | |
- | my example index here I search for the | + | So let's just show an example of this. |
- | word finds and reset all my filters | + | In my example index here, I search for the |
- | get two different kinds of matches here | + | word "finds" |
+ | I get two different kinds of matches here. | ||
I have a couple of title matches up at | I have a couple of title matches up at | ||
- | the top because | + | the top because |
- | my search of finds matches the word fine | + | my search of "finds" |
- | in fine arts this is because | + | the word "fine" |
+ | This is because | ||
configured to be tolerant of word | configured to be tolerant of word | ||
endings and you know match rather than | endings and you know match rather than | ||
- | not match if given the choice | + | not match if given the choice. |
- | also a couple of these records where the | + | There are also a couple of |
- | name Greg finds is present | + | these records where |
- | my particular situation I think people | + | the name "Greg Fines" |
- | are going to be searching for names more | + | So suppose in my particular situation |
- | often than they are searching for titles | + | I think people are going to be |
- | what I can do is go into my search specs | + | searching for names more often |
- | tamil file and just make the numbers on | + | than they are searching for titles. |
+ | What I can do is go into | ||
+ | my searchspecs.yml | ||
+ | and just make the numbers on | ||
the author fields bigger so I'm going to | the author fields bigger so I'm going to | ||
just say authors are 10 times more | just say authors are 10 times more | ||
- | important than the default so I'm | + | important than the default, so I'm |
changing the 300 point boost on author | changing the 300 point boost on author | ||
to 3000 points and 150 point boost on | to 3000 points and 150 point boost on | ||
- | author fuller | + | author_fuller |
- | to view find and i refresh my search | + | Now if I go back to VuFind |
+ | I refresh my search | ||
results I see that the author matches | results I see that the author matches | ||
- | are at the top of the list obviously | + | are at the top of the list. |
- | this kind of search tuning can be really | + | Obviously, |
- | tricky and complicated because you're | + | can be really tricky and complicated |
- | always going to be dealing with | + | because you're always |
+ | going to be dealing with | ||
competing concerns and a change that | competing concerns and a change that | ||
fixes one scenario may break a different | fixes one scenario may break a different | ||
Line 839: | Line 942: | ||
but keep in mind that you have a lot of | but keep in mind that you have a lot of | ||
power and flexibility for making these | power and flexibility for making these | ||
- | kinds of tweaks | + | kinds of tweaks. |
+ | |||
+ | Anyway, | ||
to what I was saying earlier about there | to what I was saying earlier about there | ||
being two types of searches I've showed | being two types of searches I've showed | ||
- | the the dis max style search is fairly | + | the edismax |
extensively now but there' | extensively now but there' | ||
- | detailed query syntax that solar can do | + | detailed query syntax that Solr can do |
that uses boolean operators | that uses boolean operators | ||
- | and specific matching syntax | + | and specific matching syntax |
- | specific fields | + | and specific fields. |
- | to as leucine the syntax because | + | |
- | is built on an indexing engine called | + | This is often referred |
- | leucine long ago before the dis max | + | as Lucene |
- | functionality had been fully developed | + | built on an indexing engine called |
- | view find relied much more heavily on | + | Long ago before the dismax |
- | the basic leucine | + | had been fully developed, |
- | specs that yeah mol includes some fairly | + | VuFind |
+ | the basic Lucene | ||
+ | and searchspecs.yml | ||
rich capabilities for constructing | rich capabilities for constructing | ||
really complicated queries across | really complicated queries across | ||
multiple fields in an effort to do what | multiple fields in an effort to do what | ||
- | dis max now just does for free most of | + | dismax |
- | that has been eliminated because it was | + | Most of that has been eliminated |
- | very complicated and you can do the same | + | because it was very complicated |
+ | and you can do the same | ||
thing more easily but there are still | thing more easily but there are still | ||
some scenarios where having the control | some scenarios where having the control | ||
- | of the leucine | + | of the Lucene |
- | example if we go to the very bottom | + | |
- | the file here there is an OCLC number | + | So, for example, if we go to the very bottom |
- | search | + | of the file here there is an OCLC number search. |
- | commonly used identifier for records | + | OCLC numbers are just a |
- | they're found in a lot of places | + | commonly used identifier for records. |
- | find indexes OCLC numbers into one of | + | Yhey're found in a lot of places. |
- | the solar fields but we don't want to | + | VuFind |
+ | the Solr fields but we don't want to | ||
treat that like just any other keyword | treat that like just any other keyword | ||
because if you've seen OCLC numbers | because if you've seen OCLC numbers | ||
you'll know that sometimes they have | you'll know that sometimes they have | ||
- | weird allow alphanumeric prefixes on | + | weird alphanumeric prefixes on them |
- | them sometimes they have leading zeros | + | sometimes they have leading zeros on them. |
- | on them view finds standardizes them to | + | VuFind |
- | a particular format | + | a particular format. |
+ | What we want to | ||
be able to do is if a user says they' | be able to do is if a user says they' | ||
searching for an OCLC number we don't | searching for an OCLC number we don't | ||
Line 883: | Line 993: | ||
want to be able to manipulate their | want to be able to manipulate their | ||
input to normalize it the same way that | input to normalize it the same way that | ||
- | view find normalizes the values that it | + | VuFind |
- | stores in its index so that what the | + | stores in its index, so that what the |
user types is more likely to match what | user types is more likely to match what | ||
- | we have in our index and so that's what | + | we have in our index and that's what |
- | this custom section is doing we define a | + | this custom section is doing. |
- | custom | + | We define a custom |
- | programmer slang for data manipulation | + | (munge |
- | we name it OCLC nom and we do some | + | programmer slang for data manipulation). |
+ | We name it oclc_num | ||
regular expression matching which is | regular expression matching which is | ||
just a way of transforming text to say | just a way of transforming text to say | ||
- | get rid of anything that's not a number | + | "get rid of anything that's not a number |
and get rid of any zeros at the | and get rid of any zeros at the | ||
- | beginning of the string | + | beginning of the string". |
- | in query fields we tell a view find that | + | Then down here in query fields |
- | we want to search the OCLC nom solar | + | we tell a VuFind |
- | field using the OCLC mmm custom munge | + | we want to search the oclc_num Solr |
- | and the end result of that is the user | + | field using the oclc_num |
- | can type pretty much whatever prefix | + | and the end result of that is |
- | nonsense they want do you find I'll | + | the user can type pretty much |
- | clean it up do the search on just the | + | whatever prefix nonsense they want |
- | numeric part and if there' | + | and VuFind will clean it up, |
- | will be found if you want to look at | + | do the search on just the numeric part, |
- | something even more complicated and I'm | + | and if there' |
- | not going to walk through it right now | + | |
+ | If you want to look at | ||
+ | something even more complicated | ||
+ | - and I'm not going to | ||
+ | walk through it right now - | ||
the call number search does some even | the call number search does some even | ||
more complex matching and it also does | more complex matching and it also does | ||
- | some ranking | + | some ranking. So, it has one munge which |
tries to find an exact match on a call | tries to find an exact match on a call | ||
number and another munge that tries to | number and another munge that tries to | ||
Line 915: | Line 1030: | ||
relevance ranking to exact matches to | relevance ranking to exact matches to | ||
try to boost things that are closer to | try to boost things that are closer to | ||
- | what the user has typed we are running | + | what the user has typed. |
- | short on time but just to bring this all | + | We are running short on time |
- | full circle I'm going to go back to my | + | but just to bring this all |
- | searches | + | full circle, I'm going to go back to my |
- | the basic searches | + | searches.ini and I'm going to find |
- | add OCLC nom equals OCLC number | + | the [Basic_Searches] |
+ | add " | ||
to expose that custom OCLC option from | to expose that custom OCLC option from | ||
- | search specs not yamo that I was showing | + | searchspecs.yml |
- | you earlier | + | you earlier. |
- | refresh it so I get more options do an | + | Now, if I go to VuFind, |
- | OCLC number search I can do a search for | + | refresh it so I get more options, |
- | a ridiculously over prefixed number that | + | do an OCLC number search, |
- | I happen to know is in the system | + | I can do a search for |
- | and even though I put all this nonsense | + | a ridiculously over-prefixed number that |
+ | I happen to know is in the system. | ||
+ | And even though I put all this nonsense | ||
here it finds a match on the number and | here it finds a match on the number and | ||
- | brings back the record that matches it | + | brings back the record that matches it. |
- | so that's our time for today I know that | + | |
- | was a lot but now you've seen some of | + | So, that's our time for today! |
+ | I know that was a lot, | ||
+ | but now you've seen some of | ||
the many configuration options that are | the many configuration options that are | ||
- | available in view find and hopefully | + | available in VuFind |
- | understand how they work a little bit | + | understand how they work a little bit better. |
- | better | + | We'll do more next month and in |
the meantime feel free to reach out on | the meantime feel free to reach out on | ||
slack mailing lists or elsewhere if you | slack mailing lists or elsewhere if you | ||
have questions or if we can help in any | have questions or if we can help in any | ||
- | other way | + | other way. Thank you! |
- | thank you | + | |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
videos/configuring_search_and_facet_settings.txt · Last modified: 2023/04/26 13:34 by crhallberg