Hello OJS team. We host multiple journals and one of our journals had the following questions on search functionality in OJS so I thought I would ask them here.
Why does a search for a singular term result in more results for the plural term than the search for the plural term itself? Also, why are no papers using the singular term coming up in the plural search? Is this something to do with how the system searches titles? How can it be improved?
Does the search function use the section headings at all? If not, where in the metadata should we be putting those terms to improve search function for those sections, many of which go far back in the archives and may not always be readable by OCR?
What is the order of results based on? What is the number of times the system recognizes the term used? Is the date of publication considered? The current results seem very jumbled based on subject and date.
How can the journal improve the results? Besides the title, author, and section, there are very few places to add metadata during production using our current setup.
For question 4 I did just under Workflow Metadata settings enable Subjects and Keywords to help with this. For the questions I didn’t know the answers. The search is working but I am guessing not to what the author of the questions would like it to do. Any answers would be helpful. Thanks in advanced.
The built-in search engine is fairly limited in what it can accomplish – and an inverted-index MySQL search engine (which is what the built-in feature uses) can only scale so far before it performs poorly. It’s intended as an out-of-the-box, low barrier tool, but not especially elegant.
For more configurable and higher-quality searching it’s best to look at 3rd party search engine tools; currently that means Lucene, which is free/open source, and can be integrated into OJS using the Lucene plugin (available in the Plugin Gallery). However, it does require that you run a Java stack on your server. (And there is a 3rd-party Algolia plugin you can find via this forum, though I’m not sure if it’s still maintained.)
We’ll be doing some work in the coming months to look into other options as well; I’ve heard quite a bit of interest in Mielisearch (another FOSS search engine) lately. We’re interested in Laravel Scout, which will potentially allow us to code OJS to a single interface that supports several indexing tools.
Regards,
Alec Smecher
Public Knowledge Project Team