ElasticSearch Essentials

ElasticSearch Essentials [Paid] 3.16.1

No permission to buy ($30.00)
Is there a demo we can see how this works?

I am interested in this addon but I would like to see a quick search added to this.

And I don't have ES installed on my server. What is the minimum requirements for ES for small boards, do you have any idea?
?
 
OK I will install and update you.
Cheers.

One more request, Please can you add option for show forum/node name for similar thread results?

View attachment 199774
I thought it did, will fix that for the next version.

Is there a demo we can see how this works?

I am interested in this addon but I would like to see a quick search added to this.

And I don't have ES installed on my server. What is the minimum requirements for ES for small boards, do you have any idea?
There isn't any demo yet (the demo site I do have doesn't have XFES installed), can you explain what you mean 'quick search' ?

As for ElasticSearch the minimum memory requirement is about ~256mb, and then scales up as you add more documents fairly slowly. Assuming you have SSD's on your server, otherwise you need more memory.
 
Xon updated ElasticSearch Essentials with a new update entry:

3.0.7 - Bugfix update

  • Expose 'similar threads on create' cache time limit (default 60 seconds)
  • Avoid N+1 query behaviour when listing threads in a similar thread block when reading from cache
  • On Thread creation; Empty similar thread container if no title
  • Show forum name in similar thread list if the thread is not from the same forum as the thread
  • Improve handling of auto-complete, around constraints and back-end handling
  • XenFocus style support fixes for auto-complete and similar threads...

Read the rest of this update entry...
 
Yes, later this month I should have some time to upgrade and test against ElasticSearch v7.

Already using ES V7 So what option need to disable for work without full add-on disable?

@Xon Question and Answer Forums add-on fixed issue search handler not extended but now can not complete Rebuild search index. Please let me know that how can re-run Rebuild search index?

200429

Code:
XFES\Elasticsearch\BulkRequestException: Elasticsearch indexing error: Elasticsearch bulk action error (first error: [post-39383] failed to parse field [thbestanswer] of type [boolean] in document with id 'post-39383') src/addons/XFES/Elasticsearch/Api.php:430

Generated by: Nirjonmela Apr 16, 2019 at 10:47 PM

Stack trace

#0 src/addons/XFES/Elasticsearch/Api.php(180): XFES\Elasticsearch\Api->bulkRequest('{"index":{"_ind...')
#1 src/addons/XFES/Search/Source/Elasticsearch.php(82): XFES\Elasticsearch\Api->indexBulk(Array)
#2 src/XF/Search/Source/AbstractSource.php(36): XFES\Search\Source\Elasticsearch->flushBulkIndexing()
#3 src/XF/Search/Search.php(98): XF\Search\Source\AbstractSource->disableBulkIndexing()
#4 src/XF/Search/Search.php(62): XF\Search\Search->disableBulkIndexing()
#5 src/XF/Search/Search.php(85): XF\Search\Search->indexEntities('post', Object(XF\Mvc\Entity\ArrayCollection))
#6 src/XF/Job/SearchRebuild.php(57): XF\Search\Search->indexRange('post', 38895, '500')
#7 src/XF/Job/Manager.php(253): XF\Job\SearchRebuild->run(G)
#8 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#9 src/XF/Job/Manager.php(111): XF\Job\Manager->runJobEntry(Array, G)
#10 src/XF/Admin/Controller/Tools.php(120): XF\Job\Manager->runByIds(Array, 8)
#11 src/XF/Mvc/Dispatcher.php(321): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#12 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#13 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#14 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#15 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#16 src/XF.php(390): XF\App->run()
#17 admin.php(13): XF::runApp('XF\\Admin\\App')
#18 {main}

Request state

array(4) {
  ["url"] => string(24) "/admin.php?tools/run-job"
  ["referrer"] => string(46) "/admin.php?tools/run-job"
  ["_GET"] => array(1) {
    ["tools/run-job"] => string(0) ""
  }
  ["_POST"] => array(3) {
    ["_xfRedirect"] => string(56) "/admin.php?tools/rebuild&success=1"
    ["_xfToken"] => string(8) "********"
    ["only_ids"] => string(5) "17328"
  }
}
 
Last edited:
Already using ES V7 So what option need to disable for work without full add-on disable?
That isn't possible. You need to uninstall ElasticSearch v7, and reinstall v6 and then re-index.

You will simply run into issues as this add-on needs to extend ElasticSearch configuration at index creation time, and ElasticSearch v7 will allow access to existing indexes but new indexes have features disabled this add-on hard depends on.

@Xon Question and Answer Forums add-on fixed issue search handler not extended but now can not complete Rebuild search index. Please let me know that how can re-run Rebuild search index?

View attachment 200429

Code:
XFES\Elasticsearch\BulkRequestException: Elasticsearch indexing error: Elasticsearch bulk action error (first error: [post-39383] failed to parse field [thbestanswer] of type [boolean] in document with id 'post-39383') src/addons/XFES/Elasticsearch/Api.php:430

Generated by: Nirjonmela Apr 16, 2019 at 10:47 PM

Stack trace

#0 src/addons/XFES/Elasticsearch/Api.php(180): XFES\Elasticsearch\Api->bulkRequest('{"index":{"_ind...')
#1 src/addons/XFES/Search/Source/Elasticsearch.php(82): XFES\Elasticsearch\Api->indexBulk(Array)
#2 src/XF/Search/Source/AbstractSource.php(36): XFES\Search\Source\Elasticsearch->flushBulkIndexing()
#3 src/XF/Search/Search.php(98): XF\Search\Source\AbstractSource->disableBulkIndexing()
#4 src/XF/Search/Search.php(62): XF\Search\Search->disableBulkIndexing()
#5 src/XF/Search/Search.php(85): XF\Search\Search->indexEntities('post', Object(XF\Mvc\Entity\ArrayCollection))
#6 src/XF/Job/SearchRebuild.php(57): XF\Search\Search->indexRange('post', 38895, '500')
#7 src/XF/Job/Manager.php(253): XF\Job\SearchRebuild->run(G)
#8 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#9 src/XF/Job/Manager.php(111): XF\Job\Manager->runJobEntry(Array, G)
#10 src/XF/Admin/Controller/Tools.php(120): XF\Job\Manager->runByIds(Array, 8)
#11 src/XF/Mvc/Dispatcher.php(321): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#12 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#13 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(NF\Discord\XF\Admin\Controller\Tools), NULL)
#14 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#15 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#16 src/XF.php(390): XF\App->run()
#17 admin.php(13): XF::runApp('XF\\Admin\\App')
#18 {main}

Request state

array(4) {
  ["url"] => string(24) "/admin.php?tools/run-job"
  ["referrer"] => string(46) "/admin.php?tools/run-job"
  ["_GET"] => array(1) {
    ["tools/run-job"] => string(0) ""
  }
  ["_POST"] => array(3) {
    ["_xfRedirect"] => string(56) "/admin.php?tools/rebuild&success=1"
    ["_xfToken"] => string(8) "********"
    ["only_ids"] => string(5) "17328"
  }
}
You need to delete the entire index and re-index. This can be done by select the "truncate" option when doing a re-index.
 
That isn't possible. You need to uninstall ElasticSearch v7, and reinstall v6 and then re-index.

You will simply run into issues as it needs to extend ElasticSearch configuration at index creation time, and ElasticSearch v7 will allow access to existing indexes but new indexes have features disabled this add-on hard depends on.

Yes using now v6 but still getting error from index.

You need to delete the entire index and re-index. This can be done by select the "truncate" option when doing a re-index.

Where the "truncate" option?
 
Still getting error from index.

View attachment 200438
Code:
curl -XDELETE 'http://localhost:9200/myIndex'

Change myIndex to whatever the index is (default is the database name). Then go to the elasticsearch configuration and optimize the index (or create it, can't remember what UI it shows).

If indexing still fails, it is likely an compatibility issue with Question and Answer Forums add-on and ElasticSearch v6+ (mixing int's and bools causes issues)
 
Still An error was triggered while indexing. Also new Server error log.

Code:
XFES\Elasticsearch\RequestException: Elasticsearch error: all shards failed src/addons/XFES/Elasticsearch/Api.php:409

Generated by: SAMXXX Apr 17, 2019 at 3:16 AM

Stack trace

#0 src/addons/XFES/Elasticsearch/Api.php(330): XFES\Elasticsearch\Api->request('get', 'nadda_forumdata...', '{
    "sort": [...')
#1 src/addons/XFES/Elasticsearch/Api.php(234): XFES\Elasticsearch\Api->requestFromIndex('get', '_search', Array)
#2 src/addons/SV/SearchImprovements/XFES/Elasticsearch/Api.php(21): XFES\Elasticsearch\Api->search(Array)
#3 src/addons/XFES/Search/Source/Elasticsearch.php(153): SV\SearchImprovements\XFES\Elasticsearch\Api->search(Array)
#4 src/addons/SV/ElasticSearchEssentials/XFES/Search/Source/Elasticsearch.php(301): XFES\Search\Source\Elasticsearch->search(Object(SV\ElasticSearchEssentials\XF\Search\Query\Query), '200')
#5 src/XF/Search/Search.php(164): SV\ElasticSearchEssentials\XFES\Search\Source\Elasticsearch->search(Object(SV\ElasticSearchEssentials\XF\Search\Query\Query), '200')
#6 src/addons/ThemeHouse/QAForums/XF/Pub/Controller/Member.php(21): XF\Search\Search->search(Object(SV\ElasticSearchEssentials\XF\Search\Query\Query))
#7 src/XF/Mvc/Dispatcher.php(321): ThemeHouse\QAForums\XF\Pub\Controller\Member->actionBestAnswers(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:Member', 'BestAnswers', Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Member), NULL)
#9 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Member), NULL)
#10 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#12 src/XF.php(390): XF\App->run()
#13 index.php(20): XF::runApp('XF\\Pub\\App')
#14 {main}

Request state

array(4) {
  ["url"] => string(169) "/members/lalu-mia.4332/best-answers?_xfRequestUri=%2Fmembers%2Flalu-mia.4332%2F&_xfWithData=1&_xfToken=1555449395%2Cc5c7f10209f94f53e9a7fe20036e74bb&_xfResponseType=json"
  ["referrer"] => string(45) "/members/lalu-mia.4332/"
  ["_GET"] => array(4) {
    ["_xfRequestUri"] => string(23) "/members/lalu-mia.4332/"
    ["_xfWithData"] => string(1) "1"
    ["_xfToken"] => string(43) "1555449395,c5c7f10209f94f53e9a7fe20036e74bb"
    ["_xfResponseType"] => string(4) "json"
  }
  ["_POST"] => array(0) {
  }
}
 
Last edited:
You need to check the Elasticsearch error logs for the actual error, this is approaching the limits of what support I can offer.
 
Xon updated ElasticSearch Essentials with a new update entry:

3.0.9 - Elasticsearch v7 compatibility update

ElasticSearch v7 compatibility requires XenForo 2.1.0+ and XFES v2.1.1+, updating ElasticSearch without those versions will result in non-functioning search. This add-on still works for ElasticSearch v6 or earlier on earlier versions of XenForo & XFES
  • Fix compatibility with XFES2.1.1 when ElasticSearch v7 is installed
  • Fix issue preventing recreating the index with ElasticSearch v7
  • In ElasticSearch type mapping section, add coloring for rows which do not match as...

Read the rest of this update entry...
 
@Xon getting lot of server error log with add-on Signature Once. Please can you give compatible update if you have any chance?

Code:
TypeError: Argument 1 passed to TickTackk\SignatureOnce\XF\Repository\Post::setShowSignature() must implement interface TickTackk\SignatureOnce\Entity\ContainerInterface, null given, called in /home/nadda/public_html/src/addons/TickTackk/SignatureOnce/ControllerPlugin/Container.php on line 37 src/addons/TickTackk/SignatureOnce/Repository/ContentTrait.php:26

Generated by: Unknown account Apr 25, 2019 at 8:11 PM

Stack trace

#0 src/addons/TickTackk/SignatureOnce/ControllerPlugin/Container.php(37): TickTackk\SignatureOnce\XF\Repository\Post->setShowSignature(NULL, NULL, 5)
#1 src/addons/TickTackk/SignatureOnce/XF/Pub/Controller/Thread.php(36): TickTackk\SignatureOnce\ControllerPlugin\Container->setShowSignature(Object(XF\Mvc\Reply\View), 'thread', 'posts', 5, 'XF:Post')
#2 src/addons/SV/ElasticSearchEssentials/XF/Pub/Controller/Thread.php(23): TickTackk\SignatureOnce\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#3 src/XF/Mvc/Dispatcher.php(321): SV\ElasticSearchEssentials\XF\Pub\Controller\Thread->actionIndex(Object(XF\Mvc\ParameterBag))
#4 src/XF/Mvc/Dispatcher.php(244): XF\Mvc\Dispatcher->dispatchClass('XF:Thread', 'Index', Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Thread), NULL)
#5 src/XF/Mvc/Dispatcher.php(100): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Thread), NULL)
#6 src/XF/Mvc/Dispatcher.php(50): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#7 src/XF/App.php(2177): XF\Mvc\Dispatcher->run()
#8 src/XF.php(390): XF\App->run()
#9 index.php(20): XF::runApp('XF\\Pub\\App')
#10 {main}

Request state

array(4) {
  ["url"] => string(21) "/threads/35158/page-5"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
Top Bottom