ElasticSearch Essentials

ElasticSearch Essentials [Paid] 2.4.13

No permission to buy ($30.00)
Hi...

I just installed and did run a full reindex of the search by going into Tools --> Rebuild Caches and then rebuilt then all with the box checked to "Delete the index before rebuilding".

Sorry to say I get no Autocomplete results. This is a real bummer, to say the least, is it took a LONG time to reindex. (Hours and not on a slow machine.)

The other part works thought the results are really weird. IE... Search for Testing TiVo and get .... Did you mean: testicl tivo? Huh?

Can you please advise what I need to do or what was maybe missed? Do I needed to now go into Elasticsearch Setup and at the bottom check the box to Delete Index? Really confusing what that does vs what Rebuild Search Index does.


Elasticsearch
Version:
2.4.1
Documents:
7,882,259 (2.6 GB)
Index Updates:
7,882,405 (0.0004 seconds average)
Searches:
2,230 (0.0097 seconds average)
Fetches:
715 (0.0005 seconds average)


Side Note: Is there a way rebuild from a command prompt like we could in Sphinx? (I could completely reindex Sphinx in 25 mins!). If there is a way, PLEASE let me know what to run. Needing to leave a browser window open for hours is not good as it can and does stop and you then need to continue and you can only do that when you happen to notice it stopped.
 
Last edited:
@David Bott please ensure you have auto complete enabled in the options, that threads are selected as an allowed type and that the various template modifications are working.

You may need to delete the index (via Delete Index) to get it to index correctly, especially if you are installing it for the first time.

Can you please advise what I need to do or what was maybe missed? Do I needed to now go into Elasticsearch Setup and at the bottom check the box to Delete Index? Really confusing what that does vs what Rebuild Search Index does.
"Delete Index" deletes the configuration data in the index and rebuilds it. Rebuild Search Index just repopulates the search content.

They are two separate things.

Side Note: Is there a way rebuild from a command prompt like we could in Sphinx? (I could completely reindex Sphinx in 25 mins!). If there is a way, PLEASE let me know what to run. Needing to leave a browser window open for hours is not good as it can and does stop and you then need to continue and you can only do that when you happen to notice it stopped.
When re-indexing, increase the number of items done per page. This is mostly a memory/cpu thing. 1000 works fine if php is limited to 256mb and Elastic Search has 512mb of ram allocated to it.

>5000 is only going to work if both have more memory. After about 10000 per page, php will start running out of memory sometimes.
 
Last edited:
@Xon thank you for the reply.

This was it... "that threads are selected as an allowed type". Thanks for that. It is easy to over look.

""Delete Index" deletes the configuration data in the index and rebuilds it. Rebuild Search Index just repopulates the search content."

So if you Delete Index on the Elesticsearch setting page. It just kills it and will rebuild as posts are made. However if you then go and run a search index, it would rebuild from that. Correct?
It really does seem to be such a poor setup. If you delete the index from Elesticsearch you would want to run a complete rebuild. Based on the wording it seems that it should. Yet it does not. It just resets the data.

Last time I ran it I did 5,000 and it still takes a very long time. Such a shame that Sphinx was not used. It was SO FAST at indexing if needed that this feels very backwards. :)

Thanks Xon...I have purchased a few of your add-ons in setting up this conversion.
 
Last edited:
@Xon thank you for the reply.

This was it... "that threads are selected as an allowed type". Thanks for that. It is easy to over look.
I thought that was a default, but I'll need to check that.

""Delete Index" deletes the configuration data in the index and rebuilds it. Rebuild Search Index just repopulates the search content."

So if you Delete Index on the Elesticsearch setting page. It just kills it and will rebuild as posts are made. However if you then go and run a search index, it would rebuild from that. Correct?
It really does seem to be such a poor setup. If you delete the index from Elesticsearch you would want to run a complete rebuild. Based on the wording it seems that it should. Yet it does not. It just resets the data.
Correct. Having the required actions spread across two separate pages is a bit annoying but it is sadly one of the things you just need to learn.

Last time I ran it I did 5,000 and it still takes a very long time. Such a shame that Sphinx was not used. It was SO FAST at indexing if needed that this feels very backwards. :)
I'ld recommend having php7 installed to, every bit helps. You may need to tune how much memory Elastic Search is using by default, as the defaults only allow 1gb of ram to be used. You can reliably use upto 32gb of ram per elastic search instance, provided you have the memory.

Doing 1000 items per page takes about 5 hours to index 10 million items on Sufficient Velocity.

Thanks Xon...I have purchased a few of your add-ons in setting up this conversion.
Cheers. I also have a number of free add-ons as well which may also be suitable.
 
@Xon - Can this be modified to show just the thread titles?
I'ld recommend having php7 installed to, every bit helps. You may need to tune how much memory Elastic Search is using by default, as the defaults only allow 1gb of ram to be used. You can reliably use upto 32gb of ram per elastic search instance, provided you have the memory.

Doing 1000 items per page takes about 5 hours to index 10 million items on Sufficient Velocity.

Yes, I am so sad to have found this out. I was so spoiled by Sphinx and how fast it was in all regards. No idea what XenFono went away from it. 5 Hours to index is just uncalled for. When I owned AVSForum, we could do that entire site in like 40 mins. 25 mins for TiVo Community, and those was from a complete rebuild. And making it worse is you need to have a browser open and it can and does stop thus you can not just count on starting it and walking away.

I will have to check the RAM settings. We have 64GIG onboard so we have the room.
 
@Xon - Can this be modified to show just the thread titles?
Not out of the box. But you can achieve this by modify the template "search_result_thread_popup" You'll need to iteratively edit it till you are happy.

I will have to check the RAM settings. We have 64GIG onboard so we have the room.
Don't allocate any more than 32gb of ram to Elastic Search or there is a significant performance impact due to various java optimizations which disable themselves when the memory limit is >32gb.
 
After upgrading ES 5.0 and XenForo enhanced search to newest verssion I have to disable this addon untill compatible version.
Error show up when put something into search field (autocomplete)

Code:
Server Error Log
Error Info
XenForo_Exception: Elasticsearch error: {"root_cause":[{"type":"parsing_exception","reason":"no [query] registered for [filtered]","line":1,"col":22}],"type":"parsing_exception","reason":"no [query] registered for [filtered]","line":1,"col":22} - library/SV/ElasticEss/Model.php:404
Generated By: Sunka, 2 minutes ago
Stack Trace
#0 /home/nginx/domains/pijanitvor.com/public/library/SV/ElasticEss/Model.php(159): SV_ElasticEss_Model->_logSearchResponseError(Object(stdClass), true)
#1 /home/nginx/domains/pijanitvor.com/public/library/SV/ElasticEss/Model.php(86): SV_ElasticEss_Model->autoCompleteQueryIndex(Array, Array, 'or', '', '5')
#2 /home/nginx/domains/pijanitvor.com/public/library/SV/ElasticEss/XenForo/ControllerPublic/Search.php(138): SV_ElasticEss_Model->autoComplete('or', '', '5')
#3 /home/nginx/domains/pijanitvor.com/public/library/XenForo/FrontController.php(351): SV_ElasticEss_XenForo_ControllerPublic_Search->actionAutocomplete()
#4 /home/nginx/domains/pijanitvor.com/public/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#5 /home/nginx/domains/pijanitvor.com/public/index.php(13): XenForo_FrontController->run()
#6 {main}
Request State
array(3) {
  ["url"] => string(46) "https://www.pijanitvor.com/search/autocomplete"
  ["_GET"] => array(1) {
    ["/search/autocomplete"] => string(0) ""
  }
  ["_POST"] => array(5) {
    ["q"] => string(2) "or"
    ["_xfRequestUri"] => string(41) "/threads/bor-crni-pinus-nigra.1631/page-2"
    ["_xfNoRedirect"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
@Xon

Code:
Server Error Log
Error Info
XenForo_Exception: Elasticsearch error: {"root_cause":[{"type":"parsing_exception","reason":"no [query] registered for [missing]","line":1,"col":40}],"type":"parsing_exception","reason":"no [query] registered for [missing]","line":1,"col":40} - library/XenES/Search/SourceHandler/ElasticSearch.php:1006
Generated By: Sunka, A moment ago
Stack Trace
#0 /home/nginx/domains/pijanitvor.com/public/library/XenES/Search/SourceHandler/ElasticSearch.php(361): XenES_Search_SourceHandler_ElasticSearch->_logSearchResponseError(Object(stdClass), true)
#1 /home/nginx/domains/pijanitvor.com/public/library/SV/ElasticEss/XenES/Search/SourceHandler/ElasticSearch.php(192): XenES_Search_SourceHandler_ElasticSearch->executeSearch('orada', false, Array, Array, false, 400)
#2 /home/nginx/domains/pijanitvor.com/public/library/XenForo/Search/Searcher.php(79): SV_ElasticEss_XenES_Search_SourceHandler_ElasticSearch->searchGeneral('orada', Array, 'relevance', '400')
#3 /home/nginx/domains/pijanitvor.com/public/library/XenForo/ControllerPublic/Search.php(255): XenForo_Search_Searcher->searchGeneral('orada', Array, 'relevance')
#4 /home/nginx/domains/pijanitvor.com/public/library/SV/OptimizedListQueries/XenForo/ControllerPublic/Search.php(8): XenForo_ControllerPublic_Search->actionSearch()
#5 /home/nginx/domains/pijanitvor.com/public/library/XenES/Proxy/ControllerSearch.php(34): SV_OptimizedListQueries_XenForo_ControllerPublic_Search->actionSearch()
#6 /home/nginx/domains/pijanitvor.com/public/library/SV/ElasticEss/XenForo/ControllerPublic/Search.php(159): XenES_Proxy_ControllerSearch->actionSearch()
#7 /home/nginx/domains/pijanitvor.com/public/library/XenForo/FrontController.php(351): SV_ElasticEss_XenForo_ControllerPublic_Search->actionSearch()
#8 /home/nginx/domains/pijanitvor.com/public/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#9 /home/nginx/domains/pijanitvor.com/public/index.php(13): XenForo_FrontController->run()
#10 {main}
Request State
array(3) {
  ["url"] => string(40) "https://www.pijanitvor.com/search/search"
  ["_GET"] => array(1) {
    ["/search/search"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["keywords"] => string(5) "orada"
    ["users"] => string(0) ""
    ["date"] => string(0) ""
    ["_xfToken"] => string(8) "********"
  }
}
 
@Sunka sorry about missing that, I'll work on fixing it. I've managed to reproduce this so hopefully I'll have it fixed in an hour or two.
 
Nop.
When es essentials is disabled, normal search working
When ES essentials is enabled, autocomplete working, but if press enter to show search for query, this error above shows
 
Top Bottom