Design issue Search bug (probably specific to XFES)

imthebest

Well-known member
Hi,

I'm using XF 1.4.6 and XFES 1.1.2.

Today I noticed that a former moderator (which has a lot of posts and threads) isn't getting the proper results when executing:

search/member?user_id=x&content=thread
search/member?user_id=x&content=post
search/member?user_id=x

Where x is the userid of that former moderator.

For example when I execute (logged in as admin) the first search query mentioned above I get 200 search results and if I go to page 10 I can click on "search more results" to keep finding more threads by that former moderator. However now as a guest, as a regular member or as the former moderator logged in, when executing the same query I only get 13 search results with no link to "search for more results".

The problem appears to be that this former moderator has a lot of content on a node that isn't public, however not all of his content is posted on that particular node so the search results should return definitely way more than just 13 records.

It looks like the search system gets "confused" and doesn't properly handles the search results when the guy performing the search (be it a guest, a registered member or the former moderator itself) doesn't have permissions to access some of the nodes where the content resides on.

Thanks,
Super120
 
Search returns the maximum results based on the value set in the ACP, then discards any which are not visible to the visitor.
 
@Super120 This is a design limitation where the 'general' search doesn't collect each content type constraint info and OR it together when pushing constraints to the search sub-system (ie MySQL or ES).

This results in a pile of chatter which needs to be filtered out in XenForo with post-processing.
 
Last edited:
However now as a guest, as a regular member or as the former moderator logged in, when executing the same query I only get 13 search results with no link to "search for more results".
The constraint here is really basic as is, but you've hit an edge case: it just needs more than one page of results to display the link. Otherwise, it assumes (likely correct in 99.9% of cases) that's the end of the results.

As such, nothing will really change here. You can change the number of search results returned which may prevent the issue.
 
Top Bottom