You cannot do this with the default Search component without modifying the search plugin database query. This is considered a core hack, therefore not recommended. Instead I'd suggest using Smart Search: Go to Plugins >> Smart Search, then enable it. Go to Modules >> Smart Search. Enable and assign to a page. Go to Components >> Smart Search >> Index. Now ...


Look for methods called set<PROPERTY>Callback on the same API documentation you linked. E.g. to override the lower limit use Joomla\CMS\Language\Language::setLowerLimitSearchWordCallback(). I'm not meant to touch /language/en-GB/en-GB.localise.php, right? Correct. This should be done in a system plugin: defined('_JEXEC') or die; use Joomla\CMS\...


Copy the file /modules/mod_search/tmpl/default.php to templates/joomla-template/html/mod_search (make sure that the file doesn't exist under the destination directory first) Add the following to the form tag: enctype="application/x-www-form-urlencoded" So, your form tag should be something like: <form action="<?php echo JRoute::_('index.php');?>"...


I found out that the problem is about the language. I have menu and articles with Spanish language. Only Home menu item is for All languages. I changed the article menu item for All languages, and it worked. The right Itemid is being retrieved now. Is this a bug or is there some workaround when working with site languages?


A few pointers to offer: When checking the existence of a substring in a string, the PHP documentation advises: Note: If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead. So it is best practice to use if (strpos($result->href, 'com_content') !== false) { ...


In the view.html.php file located here: components/com_search/views/search/view.html.php Navigate to line 102 where you will find COM_SEARCH_ALL_WORDS. Put that whole line below the COM_SEARCH_ANY_WORDS line. This will effectively change the default search option to be "any words".


Override/Change the return values of the getIgnoredSearchWords() and getLowerLimitSearchWord() in /language/en-GB/en-GB.localise.php (and any other /language/<lang>/<lang>.localise.php file of active languages).


That's a valid question in terms of questioning where the string is split and how someone could adjust the length of the article text in the search results. The solution is fairly simple at the end. How things work: The overall concept of the search regarding the article's text, is to return a cleaned part of the string, around the search term, which is ...

Only top voted, non community-wiki answers of a minimum length are eligible