ElasticSearch Essentials

ElasticSearch Essentials [Paid] 3.15.12

No permission to buy ($30.00)
That template modification not applying is fine, you don't need to worry about it. Next version will update the comment to describe it is a compatibility fix, or have it removed
 
Does this add-on especially the auto-complete related part work meaningfully with Asian languages?
 
Good question! It is unicode aware, and uses elasticsearch for all the heavy lifting, so I guess it comes down to how well it is tuned for non-english languages.
 
Great. One more step closer to be a buyer..

Another concern is how much impact it will have on page load speed? Would there be a noticable difference before and after having the add-on installed?
 
Very little, the resulting thread Ids for similar thread search is cached and then only those threads fetched when viewed.
 
It should work, I don't see any breaking changes. But be aware that 7.7.0 isn't production ready (yet), so it is possible that it isn't supported by XFES fully.
 
It is conditional support, not every template modification will apply. There should be an xbsearch which is applying instead.
 
Hi Xon,

This addon is very very nice, he makes the coffee. :)

I have nevertheless a return error in console:

Code:
elasticsearch | [2020-04-26T21:52:04,089][WARN ][o.e.d.c.ParseField       ] [odfe-node1] Deprecated field [cutoff_frequency] used, replaced by [you can omit this option, the [multi_match] query can skip block of documents efficiently if the total number of hits is not tracked]

It speaks to you Xon ? (Latest OpenDistro)
 
Last edited:
Hi Xon,

This addon is very very nice, he makes the coffee. :)

I have nevertheless a return error in console:

Code:
elasticsearch | [2020-04-26T21:52:04,089][WARN ][o.e.d.c.ParseField       ] [odfe-node1] Deprecated field [cutoff_frequency] used, replaced by [you can omit this option, the [multi_match] query can skip block of documents efficiently if the total number of hits is not tracked]

It speaks to you Xon ? (Latest OpenDistro)
It looks like this was added in v7.3, I'll just disable it for any v7 ElasticSearch instance since it is saner.
 
@Xon
Suddenly I got this kind of error every day. It started (I think) after I update your two addons to the latest version (this one and search improvments).
I know it is server performance error probably, but I did not change anything about elasticsearch on server in last month.

So, any thoughts what could it be?

Code:
Server error log
XFES\Elasticsearch\ConnectException: cURL error 28: Resolving timed out after 3000 milliseconds (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) src/addons/XFES/Elasticsearch/Api.php:390
Generated by: Sunka 03.05.2020. at 14:31
Stack trace
#0 src/addons/XFES/Elasticsearch/Api.php(90): XFES\Elasticsearch\Api->request()
#1 src/addons/XFES/Elasticsearch/Api.php(107): XFES\Elasticsearch\Api->version()
#2 src/addons/XFES/Search/Source/Elasticsearch.php(230): XFES\Elasticsearch\Api->majorVersion()
#3 src/addons/SV/SearchImprovements/XFES/Search/Source/Elasticsearch.php(86): XFES\Search\Source\Elasticsearch->getDslFromQuery()
#4 src/addons/SV/WordCountSearch/XFES/Search/Source/Elasticsearch.php(19): SV\SearchImprovements\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#5 src/addons/SV/ElasticSearchEssentials/XFES/Search/Source/Elasticsearch.php(183): SV\WordCountSearch\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#6 src/addons/XFES/Search/Source/Elasticsearch.php(149): SV\ElasticSearchEssentials\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#7 src/addons/SV/ElasticSearchEssentials/XFES/Search/Source/Elasticsearch.php(381): XFES\Search\Source\Elasticsearch->search()
#8 src/XF/Search/Search.php(175): SV\ElasticSearchEssentials\XFES\Search\Source\Elasticsearch->search()
#9 src/XF/Repository/Search.php(34): XF\Search\Search->search()
#10 src/addons/SV/ElasticSearchEssentials/XF/Repository/Search.php(46): XF\Repository\Search->runSearch()
#11 src/XF/Pub/Controller/Search.php(402): SV\ElasticSearchEssentials\XF\Repository\Search->runSearch()
#12 src/XF/Pub/Controller/Search.php(248): XF\Pub\Controller\Search->runSearch()
#13 src/addons/SV/ElasticSearchEssentials/XF/Pub/Controller/Search.php(43): XF\Pub\Controller\Search->actionMember()
#14 src/XF/Mvc/Dispatcher.php(350): SV\ElasticSearchEssentials\XF\Pub\Controller\Search->actionMember()
#15 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass()
#16 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch()
#17 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop()
#18 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#19 src/XF.php(391): XF\App->run()
#20 index.php(20): XF::runApp()
#21 {main}

-------------

Previous GuzzleHttp\Exception\ConnectException: cURL error 28: Resolving timed out after 3000 milliseconds (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) - src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:185
#0 src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(149): GuzzleHttp\Handler\CurlFactory::createRejection()
#1 src/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(102): GuzzleHttp\Handler\CurlFactory::finishError()
#2 src/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(43): GuzzleHttp\Handler\CurlFactory::finish()
#3 src/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()
#4 src/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(51): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#5 src/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(37): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#6 src/vendor/guzzlehttp/guzzle/src/Middleware.php(30): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#7 src/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(70): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#8 src/vendor/guzzlehttp/guzzle/src/Middleware.php(58): GuzzleHttp\RedirectMiddleware->__invoke()
#9 src/vendor/guzzlehttp/guzzle/src/HandlerStack.php(67): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#10 src/vendor/guzzlehttp/guzzle/src/Client.php(277): GuzzleHttp\HandlerStack->__invoke()
#11 src/vendor/guzzlehttp/guzzle/src/Client.php(98): GuzzleHttp\Client->transfer()
#12 src/vendor/guzzlehttp/guzzle/src/Client.php(106): GuzzleHttp\Client->sendAsync()
#13 src/addons/XFES/Elasticsearch/Api.php(373): GuzzleHttp\Client->send()
#14 src/addons/XFES/Elasticsearch/Api.php(90): XFES\Elasticsearch\Api->request()
#15 src/addons/XFES/Elasticsearch/Api.php(107): XFES\Elasticsearch\Api->version()
#16 src/addons/XFES/Search/Source/Elasticsearch.php(230): XFES\Elasticsearch\Api->majorVersion()
#17 src/addons/SV/SearchImprovements/XFES/Search/Source/Elasticsearch.php(86): XFES\Search\Source\Elasticsearch->getDslFromQuery()
#18 src/addons/SV/WordCountSearch/XFES/Search/Source/Elasticsearch.php(19): SV\SearchImprovements\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#19 src/addons/SV/ElasticSearchEssentials/XFES/Search/Source/Elasticsearch.php(183): SV\WordCountSearch\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#20 src/addons/XFES/Search/Source/Elasticsearch.php(149): SV\ElasticSearchEssentials\XFES\Search\Source\Elasticsearch->getDslFromQuery()
#21 src/addons/SV/ElasticSearchEssentials/XFES/Search/Source/Elasticsearch.php(381): XFES\Search\Source\Elasticsearch->search()
#22 src/XF/Search/Search.php(175): SV\ElasticSearchEssentials\XFES\Search\Source\Elasticsearch->search()
#23 src/XF/Repository/Search.php(34): XF\Search\Search->search()
#24 src/addons/SV/ElasticSearchEssentials/XF/Repository/Search.php(46): XF\Repository\Search->runSearch()
#25 src/XF/Pub/Controller/Search.php(402): SV\ElasticSearchEssentials\XF\Repository\Search->runSearch()
#26 src/XF/Pub/Controller/Search.php(248): XF\Pub\Controller\Search->runSearch()
#27 src/addons/SV/ElasticSearchEssentials/XF/Pub/Controller/Search.php(43): XF\Pub\Controller\Search->actionMember()
#28 src/XF/Mvc/Dispatcher.php(350): SV\ElasticSearchEssentials\XF\Pub\Controller\Search->actionMember()
#29 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass()
#30 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch()
#31 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop()
#32 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#33 src/XF.php(391): XF\App->run()
#34 index.php(20): XF::runApp()
#35 {main}
Request state
array(4) {
  ["url"] => string(27) "/search/member?user_id=4513"
  ["referrer"] => string(106) "https://www.pijanitvor.com/threads/kratki-slatkovodni-izvjestaji-sa-ribolova-2018-2020-godina.29718/page-9"
  ["_GET"] => array(2) {
    ["/search/member"] => string(0) ""
    ["user_id"] => string(4) "4513"
  }
  ["_POST"] => array(0) {
  }
}
 
Xon updated ElasticSearch Essentials with a new update entry:

3.4.0 - Feature update

  • Fix auto-complete not respecting the search spesiifity's content-type restriction (ie this <container>, this <type>, vs everywhere)
  • Add "Show similar content to bots" option
  • Add "older than" to date-range search, with a style property to revert to previous UI
  • Add search auto-complete for @Bob's AMS and XFRM
  • Add support for CLI command xf-rebuild:search-bulk's "--newest-first" for @Bob's AMS and XFRM

Post...

Read the rest of this update entry...
 
I've updated but I think i've found a bug.

Here's what I did:

I upgraded the add-on.
Enabled the auto complete content for articles as well as threads. (I do not have resources so it's not listed).
I Rebuild search index: Content type (ALL) and checked the " Delete the index before rebuilding"

When you search for an article and click the auto complete link it takes me to "https://www.joyfreak.com/resources", a page that doesn't exist.
 
Top Bottom