We have a site with al lot of users. Some users have access to the backend to create articles. We have a Finder module on the site to let people search the site. When searching on the name of an author the finder results contain all articles written by this author.
We would expect to see the user profile in the result, along with all articles where this person is mentions in title or text. Not articles that are written by this person.
We see all articles written by this the author we search on.
Joomla! 3.4.4
Profiler component (with finder plugin)
Is there an option somewhere to change this?
I'm not sure if this has always been like this since the introduction of Smart Search / Finder.
Category | ⇒ | Front End Search UI/UX |
Hi mbabker, thanks for you reply. Even with the Profiler (3th party component) search plugin turned off (and reindexing) we get the same result. This is what happens (example):
Search for 'John Doe' in the finder search module. You would expect results to be articles containing 'John Doe' in the title or (intro/full) text. But not articles with only 'author' field containing 'John Doe' and not anywhere else in the article. Am I right?
So is this maybe a bug? Or am I missing something?
Do you have any filters enabled in your system? If so, that would affect the behavior. Our Developer Network uses Smart Search as its search platform, can you reproduce your results there? http://developer.joomla.org/search.html
I can search on my name (Michael Babker) and get 23 results, but when I enable the author filter for items published by me, it goes down to 16 results.
There are no filters enabled at this time.
When I go to http://developer.joomla.org/search.html and search for 'Robert Deutz' I get one article that is written by him (PLT Goals 2015). But in the article itself his name is not visible. Only in the source code:
So this happens here to. What if I do not want to show articles in the result only based on 'author'? I also check our site and the author tag is not even present on the articles...
What exactly do you mean by "when I enable the author filter for items published by me"? How did you enable this filter?
Clicking the "Advanced Search" button shows a hidden area with some additional search filters (author, language, category, and type).
Ok, I see that now. The button 'Advanced search' only works AFTER you did a search...
Anyway, this filter only narrows down the results. We have no advanced search filter on the site. I just do not want the results to contain articles bases on the author only.
But this does seem to be the default behavior? No way to NOT use the author field?
At a glance not that I can see with the default code. Metadata is taken into consideration during the indexing process and stored in the serialized FinderIndexerResult
object that gets processed when the search is executed. Since all of the item metadata is processed via plugins, in theory you could copy the core plugins (not just editing them in place so your changes aren't lost during updates) and modify the dataset of the FinderIndexerResult
object in the plugin's index method (see https://github.com/joomla/joomla-cms/blob/3.4.4/plugins/finder/content/content.php#L244 for the com_content plugin) to add or remove whatever data you'd like.
OK, so this is 'default' behavior... It would be a nice addition to the Smart Search if we could have an option somewhere to enable / disable this. But for now we will look in to creating modified core plugins. Thanks for helping out!
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2015-09-30 08:56:46 |
Closed_By | ⇒ | zero-24 |
There isn't a core plugin for searching user data (it was at one point in the plans but never got written). Using the Smart Search advanced filters, one can search for items by a given user, but the term input box is basically a text search within the content of an item. For the core Smart Search plugins and the core components, the expected result you've given for the name being mentioned in the text should be what happens (I don't recall if titles are searched off hand). The actual result should only happen if you have a filter enabled. For a third party extension, they may have written the plugin to search differently, in which case you would need to contact that extension's developer (core doesn't have a Profiler component).