ElasticSearch Essentials

ElasticSearch Essentials [Paid] 3.15.12

No permission to buy ($30.00)
Tried it with the default XF theme, same result:

error.webp

Need to manually disable the XF similar threads widget (or ESE variant) to get it back to normal. What's the dirrefence between the 2 widgets really? Content from both default XF and ESE widget is the same...
 
Suggest threads is the similar threads pop-up when creating a new thread vs similar threads when viewing it. I probably need to adjust the terminology a little to clarify.

What's the dirrefence between the 2 widgets really?
Different algorithm/options. It can return different results depending on search contents
 
Trying to find threads user has created within specific forum and time frame, e.g.

/search/search?c[users]=Admin&c[nodes][]=122&order=date&c[newer_than]=2021-04-14&c[older_than]=2021-05-15&search_type=thread

This returns threads from all forums instead of only ones from forum ID 122.

Meaning it ignores c[nodes] parameter.
This add-on, Elasticsearch Essentials, fixes this issue by essentially bolting on the ability for multiple search-handlers to generate OR'ed filter options.

On my site; you can see this being used by a customized "find" dropdown box; https://forums.sufficientvelocity.com/members/xon.7/

https://forums.sufficientvelocity.com/search/member?user_id=7&content=thread&c[nodes][0]=2&c[nodes][1]=15&c[nodes][2]=94&c[nodes][3]=95
https://forums.sufficientvelocity.com/search/member?user_id=7&content=thread&c[nodes][0]=29&c[child_nodes]=1


(It also works via search/search links too)
 
So to find created threads instead of:
/search/search?c[users]=Admin&c[nodes][]=122&order=date&c[newer_than]=2021-04-14&c[older_than]=2021-05-15&search_type=thread
this one should be used:
/search/member?user_id=1&c[nodes][]=122&order=date&c[newer_than]=2021-04-14&c[older_than]=2021-05-15&content=thread

That's nice :) Many thanks @Xon.

Can this add-on also add "Find all threads" in Find dropdown box, like you have?
 
So to find created threads instead of:
/search/search?c[users]=Admin&c[nodes][]=122&order=date&c[newer_than]=2021-04-14&c[older_than]=2021-05-15&search_type=thread
this one should be used:
/search/member?user_id=1&c[nodes][]=122&order=date&c[newer_than]=2021-04-14&c[older_than]=2021-05-15&content=thread

That's nice :) Many thanks @Xon.
With this add-on, yes.

Next major version (v3.8.x) will make search/search work as expected too.

Can this add-on also add "Find all threads" in Find dropdown box, like you have?
That is just a template edit of member_macros, for the chunk;
HTML:
			<xf:if is="$xf.visitor.canSearch() AND $context != 'tooltip'">
				<div class="buttonGroup-buttonWrapper">
					<xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true">{{ phrase('find') }}</xf:button>
					<div class="menu" data-menu="menu" aria-hidden="true">
						<div class="menu-content">
							<h4 class="menu-header">{{ phrase('find_content') }}</h4>
							<!--[XF:find_menu:top]-->
							<a href="{{ link('search/member', null, {'user_id': $user.user_id}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_content_by_x', {'name': $user.username}) }}</a>
							<a href="{{ link('search/member', null, {'user_id': $user.user_id, 'content': 'thread'}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_threads_by_x', {'name': $user.username}) }}</a>
							<!--[XF:find_menu:bottom]-->
						</div>
					</div>
				</div>
			</xf:if>
to
HTML:
			<xf:if is="$xf.visitor.canSearch()">
				<div class="buttonGroup-buttonWrapper">
					<xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true">{{ phrase('find') }}</xf:button>
					<div class="menu" data-menu="menu" aria-hidden="true">
						<div class="menu-content">
							<h4 class="menu-header">{{ phrase('find_content') }}</h4>
							<!--[XF:find_menu:top]-->
							<a href="{{ link('search/member', null, {'user_id': $user.user_id}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_content_by_x', {'name': $user.username}) }}</a>
							<a href="{{ link('search/member', null, {'user_id': $user.user_id, 'content': 'thread'}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_threads_by_x', {'name': $user.username}) }}</a>
							<a href="{{ link('search/member', null, {'user_id': $user.user_id, 'content': 'thread', 'c': {'nodes':[2,15,94,95]}}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_stories_by_x', {'name': $user.username}) }}</a>
							<a href="{{ link('search/member', null, {'user_id': $user.user_id, 'content': 'thread', 'c': {'nodes':[29],'child_nodes':1}}) }}" rel="nofollow" class="menu-linkRow">{{ phrase('find_all_quests_by_x', {'name': $user.username}) }}</a>
							<!--[XF:find_menu:bottom]-->
						</div>
					</div>
				</div>
			</xf:if>
 
It seems &c[newer_than] and &c[older_than] do not work with threads? Is that related to lack of filtering you've mentioned earlier?

I know it's just a template edit, but it would be nicer to have it as template modification.
 
I just noticed that c[newer_than] is being ignored for search/member while search/search also ignores a bunch of arguments for threads :(
 
Xon updated ElasticSearch Essentials with a new update entry:

3.8.1 - Feature update

  • Require minimum version of XF2.1.8+
  • Improve handling of int-like options for CLI bulk search indexer (php cmd.php xf-rebuild:search-bulk)
  • On the advanced search page, automatically support include/exclude tags for taggable content, or content which groups to taggable content.
  • On searching with include/exclude tags, only search content which supports tags.
    • This results in only searching threads when searching from the 'search threads' tab when...

Read the rest of this update entry...
 
1) Still seeing "asciifolding" filter even though "Enable accent removal and character simplification" is unchecked.

2) What are containers mentioned in "Search only containers"?

3) What's the difference between php cmd.php xf-rebuild:search and php cmd.php xf-rebuild:search-bulk?

4) Is multi-threaded indexing used for xf-rebuild:search, too?
 
Last edited:
1) Still seeing "asciifolding" filter even though "Enable accent removal and character simplification" is unchecked.
Yes, this is expected XFES behaviour.

2) What are containers mentioned in "Search only containers"?
Threads/XFRM Resources/Conversations/Reports vs posts/xfrm resource updates/conversation messages/user reports

3) What's the difference between php cmd.php xf-rebuild:search and php cmd.php xf-rebuild:search-bulk?

4) Is multi-threaded indexing used for xf-rebuild:search, too?
xf-rebuild:search-bulk does multi-threaded indexing with options to index from newest to oldest, xf-rebuild:search does not.
 
Threads/XFRM Resources/Conversations/Reports vs posts/xfrm resource updates/conversation messages/user reports
Not sure I understand, looks pretty the same?

xf-rebuild:search-bulk does multi-threaded indexing with options to index from newest to oldest, xf-rebuild:search does not.
Sounds nice. So what is the exact command you recommend for re-indexing?
 
So "Search only containers" will search thread title, conversation title, etc. (because they do not have body) and would not search posts at all?
 
Top Bottom