smile-sa / elasticsuite Goto Github PK
View Code? Open in Web Editor NEWSmile ElasticSuite - Magento 2 merchandising and search engine built on ElasticSearch
Home Page: https://elasticsuite.io
License: Open Software License 3.0
Smile ElasticSuite - Magento 2 merchandising and search engine built on ElasticSearch
Home Page: https://elasticsuite.io
License: Open Software License 3.0
It should be possible to reverse the sort order and the "missing" located in module-elasticsuite-core/Search/Adapter/Elasticsuite/Request/SortOrder/Builder.php
Virtual rule
( ! ) Fatal error: Call to a member function getConditions() on array in /var/www/damartch/vendor/smile/elasticsuite/src/module-elasticsuite-catalog-rule/Block/Product/Conditions.php on line 145
# Time Memory Function Location
1 0.0000 241848 {main}( ) ../index.php:0
2 0.0385 4774504 Magento\Framework\App\Bootstrap->run( ) ../index.php:39
3 0.0391 4821360 Magento\Framework\App\Http\Interceptor->launch( ) ../Bootstrap.php:258
4 0.0414 5152840 Magento\Framework\App\Http\Interceptor->___callPlugins( ) ../Interceptor.php:26
5 0.0415 5167824 Magento\Framework\App\Http->launch( ) ../Interceptor.php:146
6 0.0769 8885976 Magento\Framework\App\FrontController\Interceptor->dispatch( ) ../Http.php:135
7 0.0783 8813576 Magento\Framework\App\FrontController\Interceptor->___callPlugins( ) ../Interceptor.php:26
8 0.0879 9492808 Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch( ) ../Interceptor.php:142
9 0.0881 9492824 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}( ) ../DbStatusValidator.php:69
10 0.0881 9493296 Magento\Framework\Interception\Chain\Chain->invokeNext( ) ../Interceptor.php:138
11 0.0881 9493504 Magento\Framework\App\FrontController\Interceptor->___callParent( ) ../Chain.php:70
12 0.0881 9493768 Magento\Framework\App\FrontController->dispatch( ) ../Interceptor.php:74
13 0.1458 14356456 Magento\Catalog\Controller\Adminhtml\Category\Edit\Interceptor->dispatch( ) ../FrontController.php:55
14 0.1465 14406616 Magento\Catalog\Controller\Adminhtml\Category\Edit\Interceptor->___callPlugins( ) ../Interceptor.php:39
15 0.2109 17418064 Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch( ) ../Interceptor.php:142
16 0.2109 17418152 Magento\Catalog\Controller\Adminhtml\Category\Edit\Interceptor->Magento\Framework\Interception\{closure}( ) ../MassactionKey.php:33
17 0.2109 17418456 Magento\Framework\Interception\Chain\Chain->invokeNext( ) ../Interceptor.php:138
18 0.2132 17607072 Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch( ) ../Chain.php:67
19 0.2199 17794944 Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}( ) ../Authentication.php:143
20 0.2199 17795248 Magento\Framework\Interception\Chain\Chain->invokeNext( ) ../Chain.php:63
21 0.2199 17795456 Magento\Catalog\Controller\Adminhtml\Category\Edit\Interceptor->___callParent( ) ../Chain.php:70
22 0.2199 17795808 Magento\Backend\App\AbstractAction->dispatch( ) ../Interceptor.php:74
23 0.2249 18239880 Magento\Framework\App\Action\Action->dispatch( ) ../AbstractAction.php:226
24 0.2277 18382640 Magento\Catalog\Controller\Adminhtml\Category\Edit\Interceptor->execute( ) ../Action.php:102
25 0.2277 18383376 Magento\Catalog\Controller\Adminhtml\Category\Edit->execute( ) ../Interceptor.php:24
26 0.3273 26193920 Magento\Backend\Model\View\Result\Page\Interceptor->setActiveMenu( ) ../Edit.php:102
27 0.3273 26194128 Magento\Backend\Model\View\Result\Page->setActiveMenu( ) ../Interceptor.php:24
28 0.3273 26194280 Magento\Framework\View\Layout\Interceptor->getBlock( ) ../Page.php:59
29 0.3273 26194384 Magento\Framework\View\Layout->getBlock( ) ../Interceptor.php:414
30 0.3273 26194432 Magento\Framework\View\Layout->build( ) ../Layout.php:859
31 0.3273 26194536 Magento\Framework\View\Layout\Builder->build( ) ../Layout.php:244
32 0.3283 26246392 Magento\Framework\View\Page\Builder->generateLayoutBlocks( ) ../Builder.php:65
33 0.3324 26424616 Magento\Framework\View\Layout\Builder->generateLayoutBlocks( ) ../Builder.php:55
34 0.3325 26428616 Magento\Framework\View\Layout\Interceptor->generateElements( ) ../Builder.php:129
35 0.3325 26428992 Magento\Framework\View\Layout->generateElements( ) ../Interceptor.php:89
36 0.3332 26628816 Magento\Framework\View\Layout\GeneratorPool->process( ) ../Layout.php:327
37 0.3667 29392328 Magento\Framework\View\Layout\Generator\UiComponent->process( ) ../GeneratorPool.php:86
38 0.3667 29393032 Magento\Framework\View\Layout\Generator\UiComponent->generateComponent( ) ../UiComponent.php:93
39 0.4797 33516656 Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent( ) ../UiComponent.php:126
40 0.5009 34701896 Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent( ) ../UiComponent.php:145
41 0.5296 37370184 Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent( ) ../UiComponent.php:145
42 0.5371 37405848 Magento\Framework\View\Layout\Generator\UiComponent->prepareComponent( ) ../UiComponent.php:145
43 0.5371 37405848 Magento\Ui\Component\HtmlContent->prepare( ) ../UiComponent.php:148
44 0.5371 37406752 Magento\Framework\View\Element\AbstractBlock->toHtml( ) ../HtmlContent.php:50
45 0.5372 37407616 Smile\ElasticsuiteVirtualCategory\Block\Adminhtml\Catalog\Category\VirtualRule->_toHtml( ) ../AbstractBlock.php:659
46 0.5384 37519640 Magento\Framework\Data\Form->toHtml( ) ../VirtualRule.php:62
47 0.5384 37522712 Magento\Framework\Data\Form\Element\AbstractElement->toHtml( ) ../Form.php:322
48 0.5384 37522760 Magento\Framework\Data\Form\Element\Text->getHtml( ) ../AbstractElement.php:467
49 0.5384 37523328 Magento\Framework\Data\Form\Element\AbstractElement->getHtml( ) ../Text.php:43
50 0.5385 37523560 Smile\ElasticsuiteCatalogRule\Block\Product\Conditions->render( ) ../AbstractElement.php:453
51 0.5385 37523840 Magento\Framework\View\Element\AbstractBlock->toHtml( ) ../Conditions.php:93
52 0.5386 37526104 Magento\Backend\Block\Template->_toHtml( ) ../AbstractBlock.php:659
53 0.5386 37527616 Magento\Framework\View\Element\Template->_toHtml( ) ../Template.php:104
54 0.5388 37528368 Magento\Framework\View\Element\Template->fetchView( ) ../Template.php:279
55 0.5390 37531600 Magento\Framework\View\TemplateEngine\Php->render( ) ../Template.php:255
56 0.5390 37549392 include( '/var/www/damartch/vendor/smile/elasticsuite/src/module-elasticsuite-catalog-rule/view/adminhtml/templates/product/conditions.phtml' ) ../Php.php:59
57 0.5391 37551368 Smile\ElasticsuiteCatalogRule\Block\Product\Conditions->getInputHtml( ) ../conditions.phtml:35
Open the menu "ElasticSuite > Search relevance"
Open the tab "spellchecking configuration"
The help message for the setting "Fuzziness Prefix Length" is:
"Allowed values "0", "1" or "AUTO". See doc here for more information"
This message should be:
"Allowed values "1", "2" or "AUTO". See doc here for more information"
Explanation:
Same remark for the setting "Phonetic fuzziness value"
Searches by SKU currently return 0 results on our Magento 2.1 instances with Elasticsuite 2.2.
Searching for names or other custom attribute values seem to return the correct results.
The "Use in search" configuration is currently activated on our "sku" product attribute, but it seems to have no effect on our results.
The same problem can be observed on the demo store (http://demo.magento-elastic-suite.io/), although I don't know if the SKU attribute was configured to be used in searches there.
Our current configuration is :
From my copy : https://github.com/romainruaud/elasticsuite.wiki.git
1 exception(s):
Exception #0 (Exception): Warning: Invalid argument supplied for foreach() in /www/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/Layer/Filter/Attribute.php on line 216
Exception #0 (Exception): Warning: Invalid argument supplied for foreach() in /www/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/Layer/Filter/Attribute.php on line 216
A fix was if (count($options)) { ... }, sadly no time to push a fix guys (deadlines my side).
Initial conditions:
--> The URL of the product page is an URL not rewritten, example: https://www.xxxxxxx.eu/uk/catalog/product/view/id/13672/category/643
We would like to improve the URL in this case to have a "clean" URL like this:
http://base_url/virtual-category-name/product-name
bin/magento dev:tests:run static
detects some errors :
Right now attributes with a period (.) in their name cause a full document failure after pushing to bulk_search indexer.
How hard would it be to filter out invalid characters before submitting to elasticsearch?
Is it possible to overload fields to cause extraneous functionality like sql-injection due to non-filtering of fields before bulk_add/edit/search?
Error:
illegal_argument_exception: Alias [magento2_blue_eng_thesaurus] has more than one indices associated with it [[magento2_blue_eng_thesaurus_20160815_085616, magento2_blue_eng_thesaurus_20160811_161751]], can't execute a single index op
Trace:
#0 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(632): Elasticsearch\Connections\Connection->tryDeserializeError(Array, 'Elasticsearch\C...')
#1 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(553): Elasticsearch\Connections\Connection->tryDeserialize400Error(Array)
#2 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(262): Elasticsearch\Connections\Connection->process4xxError(Array, Array, Array)
#3 /var/www/releases/d-N318X92ZG/vendor/react/promise/src/FulfilledPromise.php(25): Elasticsearch\Connections\Connection->Elasticsearch\Connections{closure}(Array)
#4 /var/www/releases/d-N318X92ZG/vendor/guzzlehttp/ringphp/src/Future/CompletedFutureValue.php(55): React\Promise\FulfilledPromise->then(Object(Closure), NULL, NULL)
#5 /var/www/releases/d-N318X92ZG/vendor/guzzlehttp/ringphp/src/Core.php(341): GuzzleHttp\Ring\Future\CompletedFutureValue->then(Object(Closure), NULL, NULL)
#6 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(283): GuzzleHttp\Ring\Core::proxy(Object(GuzzleHttp\Ring\Future\CompletedFutureArray), Object(Closure))
#7 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php(159): Elasticsearch\Connections\Connection->Elasticsearch\Connections{closure}(Array, Object(Elasticsearch\Connections\Connection), Object(Elasticsearch\Transport), Array)
#8 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(99): Elasticsearch\Connections\Connection->performRequest('GET', '/magento2_blue_...', Array, NULL, Array, Object(Elasticsearch\Transport))
#9 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(79): Elasticsearch\Transport->performRequest('GET', '/magento2_blue_...', Array, NULL, Array)
#10 /var/www/releases/d-N318X92ZG/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(957): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#11 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-thesaurus/Model/Index.php(136): Elasticsearch\Namespaces\IndicesNamespace->analyze(Array)
#12 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-thesaurus/Model/Index.php(90): Smile\ElasticsuiteThesaurus\Model\Index->getSynonymRewrites(4, 'rice', 'synonym')
#13 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-thesaurus/Plugin/QueryRewrite.php(97): Smile\ElasticsuiteThesaurus\Model\Index->getQueryRewrites(Object(Smile\ElasticsuiteCore\Search\Request\ContainerConfiguration), 'rice')
#14 [internal function]: Smile\ElasticsuiteThesaurus\Plugin\QueryRewrite->aroundCreate(Object(Smile\ElasticsuiteCore\Search\Request\Query\Fulltext\QueryBuilder\Interceptor), Object(Closure), Object(Smile\ElasticsuiteCore\Search\Request\ContainerConfiguration), Array, 1)
#15 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(140): call_user_func_array(Array, Array)
#16 /var/www/releases/d-N318X92ZG/var/generation/Smile/ElasticsuiteCore/Search/Request/Query/Fulltext/QueryBuilder/Interceptor.php(27): Smile\ElasticsuiteCore\Search\Request\Query\Fulltext\QueryBuilder\Interceptor->___callPlugins('create', Array, Array)
#17 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-core/Search/Request/Query/Builder.php(84): Smile\ElasticsuiteCore\Search\Request\Query\Fulltext\QueryBuilder\Interceptor->create(Object(Smile\ElasticsuiteCore\Search\Request\ContainerConfiguration), Array, 1)
#18 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-core/Search/Request/Builder.php(155): Smile\ElasticsuiteCore\Search\Request\Query\Builder->createQuery(Object(Smile\ElasticsuiteCore\Search\Request\ContainerConfiguration), Array, Array, 1)
#19 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(470): Smile\ElasticsuiteCore\Search\Request\Builder->create(4, 'catalog_view_co...', 0, 5, Array, Array, Array, Array, Array)
#20 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(367): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->prepareRequest()
#21 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Data/Collection/AbstractDb.php(331): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->_renderFiltersBefore()
#22 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(403): Magento\Framework\Data\Collection\AbstractDb->_renderFilters()
#23 /var/www/releases/d-N318X92ZG/vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php(906): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->_renderFilters()
#24 /var/www/releases/d-N318X92ZG/vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php(719): Magento\Eav\Model\Entity\Collection\AbstractCollection->load(false, false)
#25 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Data/Collection.php(820): Magento\Catalog\Model\ResourceModel\Product\Collection->load()
#26 /var/www/releases/d-N318X92ZG/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/Autocomplete/Product/DataProvider.php(112): Magento\Framework\Data\Collection->getIterator()
#27 /var/www/releases/d-N318X92ZG/vendor/magento/module-search/Model/Autocomplete.php(32): Smile\ElasticsuiteCatalog\Model\Autocomplete\Product\DataProvider->getItems()
#28 /var/www/releases/d-N318X92ZG/vendor/magento/module-search/Controller/Ajax/Suggest.php(44): Magento\Search\Model\Autocomplete->getItems()
#29 /var/www/releases/d-N318X92ZG/var/generation/Magento/Search/Controller/Ajax/Suggest/Interceptor.php(24): Magento\Search\Controller\Ajax\Suggest->execute()
#30 /var/www/releases/d-N318X92ZG/vendor/magento/framework/App/Action/Action.php(102): Magento\Search\Controller\Ajax\Suggest\Interceptor->execute()
#31 [internal function]: Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#32 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(74): call_user_func_array(Array, Array)
#33 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Search\Controller\Ajax\Suggest\Interceptor->___callParent('dispatch', Array)
#34 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'designLoader')
#35 /var/www/releases/d-N318X92ZG/vendor/magento/framework/App/Action/Plugin/Design.php(39): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#36 [internal function]: Magento\Framework\App\Action\Plugin\Design->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#37 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#38 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'contextPlugin')
#39 /var/www/releases/d-N318X92ZG/vendor/magento/module-store/App/Action/Plugin/Context.php(106): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#40 [internal function]: Magento\Store\App\Action\Plugin\Context->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#41 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#42 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'customer-app-ac...')
#43 /var/www/releases/d-N318X92ZG/vendor/magento/module-customer/Model/App/Action/ContextPlugin.php(61): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#44 [internal function]: Magento\Customer\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#45 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#46 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'storeCheck')
#47 /var/www/releases/d-N318X92ZG/vendor/magento/module-store/App/Action/Plugin/StoreCheck.php(44): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#48 [internal function]: Magento\Store\App\Action\Plugin\StoreCheck->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#49 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#50 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'weee-app-action...')
#51 /var/www/releases/d-N318X92ZG/vendor/magento/module-weee/Model/App/Action/ContextPlugin.php(112): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#52 [internal function]: Magento\Weee\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#53 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#54 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(136): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Search...', 'dispatch', Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Array, 'tax-app-action-...')
#55 /var/www/releases/d-N318X92ZG/vendor/magento/module-tax/Model/App/Action/ContextPlugin.php(91): Magento\Search\Controller\Ajax\Suggest\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#56 [internal function]: Magento\Tax\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Search\Controller\Ajax\Suggest\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#57 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(140): call_user_func_array(Array, Array)
#58 /var/www/releases/d-N318X92ZG/var/generation/Magento/Search/Controller/Ajax/Suggest/Interceptor.php(39): Magento\Search\Controller\Ajax\Suggest\Interceptor->___callPlugins('dispatch', Array, Array)
#59 /var/www/releases/d-N318X92ZG/vendor/magento/framework/App/FrontController.php(55): Magento\Search\Controller\Ajax\Suggest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#60 [internal function]: Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#61 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(74): call_user_func_array(Array, Array)
#62 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#63 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'requestPreproce...')
#64 /var/www/releases/d-N318X92ZG/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(89): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#65 [internal function]: Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#66 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#67 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#68 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#69 [internal function]: Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#70 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#71 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#72 /var/www/releases/d-N318X92ZG/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))
#73 [internal function]: Magento\PageCache\Model\App\FrontController\VarnishPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#74 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Chain/Chain.php(67): call_user_func_array(Array, Array)
#75 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(136): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#76 /var/www/releases/d-N318X92ZG/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(68): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))
#77 [internal function]: Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#78 /var/www/releases/d-N318X92ZG/vendor/magento/framework/Interception/Interceptor.php(140): call_user_func_array(Array, Array)
#79 /var/www/releases/d-N318X92ZG/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#80 /var/www/releases/d-N318X92ZG/vendor/magento/framework/App/Http.php(115): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#81 /var/www/releases/d-N318X92ZG/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#82 /var/www/releases/d-N318X92ZG/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#83 {main}
For a certain category and it's sub categories, we are experiencing memory exhaustion. This is actually happening for 1 category(Home Appliances) and most of its sub categories. It does not have the most number of products but this still happens. Just to test, i have tried increasing the php allowed memory size to 1G just to test.
When this happens, a blank page shows on the frontend. My Catalog size is 9k and I am running elastic search on 2 aws ec2 servers with 2G each.
Currency and price formatting is not applied anymore.
Did you test it after you have developped the unit generic slider ?
In https://github.com/Smile-SA/elasticsuite/blob/master/src/module-elasticsuite-core/Index/IndexOperation.php#L126, it must replace "evything" by "everything".
foreach ($categories as $category) {
$productCount = $optionsFacetedData[$category->getId()]['count'];
if ($category->getIsActive() && isset($optionsFacetedData[(int) $category->getId()]) && $productCount > 0) {
There should be a test on $optionsFacetedData[$category->getId()]['count']
Hello,
I have installed this extension for my project and search and autocomplete is working fine. But when i am trying to search via advanced search then it shows the blank page.
I have already seen the same error on your demo site.
So can you please help to solve this error?
Thanks
Warning :
Think you forget to push the elasticsuite fonts used to render icons in admin.
To be done : Automatic generation of a subtree for virtual categories when a root category is set.
I have some doubts (?) about the accuracy of the "spellcheck" feature in autocomplete.
For example on the store http://demo.magento-elastic-suite.io/
if you search "fytness", the autocomplete doesn't suggest any product, but the search engine suggest "fitness" products.
I did some tests with Magento 1 and it seems that the autocomplete engine was much more tolerant to mistakes during typing. On Magento 2 almost no mistakes are allowed.
Possible explanation: Maybe only the phonetic search is applied in autocomplete without fuzzy search ?
Example:
"messengeer" suggest products with "messenger"
but
"messengeZr" doesn't suggest any product
Installed fresh copy of Magento 2.1 with elasticsuite 2.2.x
Fully Functional 2.1 with Elastic suite working correctly.
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
I know this issue is known and that's the reason for using the 2.2.x version to begin using Elastic Suite but before i go complaining to the Theme dev I wanted to see what Team-Smile has to say.
Also for dev purposes i can supply a custom them for your trouble shooting.
I think that the module is still missing a DataProvider.
Indeed in /module-elasticsuite-catalog/etc/di.xml
is it normal that the DataProviderFactory
still point to the MySQL one ?
<type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="elasticsuite" xsi:type="string">Magento\CatalogSearch\Model\Adapter\Mysql\Dynamic\DataProvider</item>
</argument>
</arguments>
</type>
Fatal error: Class 'Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Select' not found in /var/www/damartch/src/vendor/magento/framework/Code/Generator/EntityAbstract.php on line 331
The module seems broken when table prefixes are configured.
error on setup:upgrade:
Base table or view not found: 1146 Table 'magento.catalog_category_entity' doesn't exist, query was: INSERT INTO lei_catalog_category_entity_int
(attribute_id
, entity_id
, value
) SELECT 131 as attrib
ute_id, catalog_category_entity
.entity_id
, 1 as value FROM catalog_category_entity
ON DUPLICATE KEY UPDATE attribute_id
= VALUES(attribute_id
), entity_id
= VALUES(entity_id
), value
= VALUES(value
)
I searched around and the problem occurs in updateAttributeDefaultValue (InstallData.php), where the insertFromSelect produces the illegal query.
Hi,
There's a mistake in the wiki, at page 'ModuleInstall'
Command line :
bin/magento module:enable Smile_ElasticSuiteCore Smile_ElasticSuiteCatalog Smile_ElasticSuiteSwatches Smile_ElasticSuiteCatalogRule Smile_ElasticSuiteVirtualCategory Smile_ElasticSuiteThesaurus Smile_ElasticSuiteTracker
must be :
bin/magento module:enable Smile_ElasticsuiteCore Smile_ElasticsuiteCatalog Smile_ElasticsuiteSwatches Smile_ElasticsuiteCatalogRule Smile_ElasticsuiteVirtualCategory Smile_ElasticsuiteThesaurus Smile_ElasticsuiteTracker
php -q bin/magento reindex:catalogsearch_fulltext
[2016-07-11 14:45:35] main.ERROR: Bulk index operation failed 1 times in index magento2_default_catalog_product_20160711_144337 for type product Error (mapper_parsing_exception) : failed to parse [option_text_attribute_s_12420] Failed doc ids sample : 1585697 [] []
main.ERROR: Bulk index operation failed 2 times in index magento2_default_catalog_product_20160711_144337 for type product Error (mapper_parsing_exception) : failed to parse [option_text_attribute_s_12420] Failed doc ids sample : 1628343, 1628350 [] []
Any thoughts on why the indexer is failing this attribute and document?
While doing a search throught the nativ REST API
I stumble upon this error :
Fatal error: Call to undefined method Magento\Framework\Search\Request::getType()
Which come from the fact that in Search/Adapter/ElasticSuite/Adapter.php
on l.75 and l.94 the function await a Magento\Framework\Search\RequestInterface
which has no getType
method.
This module works perfectly with Magento Custom Luma theme. However for a custom theme, the structure of autocomplete differs from what is obtainable with the Luma theme. I have removed the custom theme's implementation of Search but I can see that it picks the Magento's Default implementation of item.phtml which uses <li>
tags.
Any suggestions as to extra steps to take to make a custom theme display Autocomplete like Luma does?
we have an error on search
Exception #0 (Exception): Notice: Undefined index: sortParams in /var/www/damartch/vendor/magento/module-catalog/Model/ResourceModel/Product/Collection/ProductLimitation.php on line 45
Exception #0 (Exception): Notice: Undefined index: sortParams in /var/www/damartch/vendor/magento/module-catalog/Model/ResourceModel/Product/Collection/ProductLimitation.php on line 45
#0 /var/www/damartch/vendor/magento/module-catalog/Model/ResourceModel/Product/Collection/ProductLimitation.php(45): Magento\Framework\App\ErrorHandler->handler(8, 'Undefined index...', '/var/www/damart...', 45, Array)
#1 /var/www/damartch/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(504): Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation->offsetGet('sortParams')
#2 /var/www/damartch/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(475): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->prepareSortOrders()
#3 /var/www/damartch/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/ResourceModel/Product/Fulltext/Collection.php(383): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->prepareRequest()
#4 /var/www/damartch/vendor/magento/framework/Data/Collection/AbstractDb.php(338): Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Collection->_renderFiltersBefore()
Hi
I was trying to install the module but got class not found error.
Fatal error: Class 'Smile\ElasticsuiteCatalog\Model\ResourceModel\Product\Fulltext\Select' not found in vendor/magento/framework/Code/Generator/EntityAbstract.php on line 331
please advise
Thanks
This issue seems to occurs on multiple websites instance.
Symptoms :
Hi
curl localhost:9200
i got this error
curl: (7) Failed to connect to localhost port 9200: Connection refused
ubuntu 15.10 32 bits
For example, we have a color attribute and a base color attribute. The configurable products are decline by color (& size). But for customer experience, we need to be able to filter based on "base" color.
But, the displayed base colors are from the configurable product (instead of simple product).
We use a visual swatch for color base attribute and we are obliged to select a color for configurable product.
MyConfigurable
Color base - white
MyFirstSimple
Color - white
Color base - white
MySecondSimple
Color - crimson
Color base - Red
MyThirdSimple
Color - cherry red
Color base - Red
We have only white value in color base facet.
Hi there.
First: the extension looks VERY promising, and would defintly use it on live site when i'm ready with conversion to magento 2.
I am on:
Ubuntu 16.04
Nginx 1.10
Php 7.0.7
latest elasticsearch
Magento 2.1
I have followed the how-to to install. I am now at the point that i want to login. And beceause i didn't saw logo of login i cleared the cache and did command: bin/magento setup:static-content:deploy .
What am I doing wrong?
Thanks!
When running on Magento 2.1.0
setup:di:compile
the output of Repositories code generation is a fatal error
Fatal error: Class Smile\ElasticsuiteCore\Search\Adapter\Elasticsuite\Response\QueryResponse cannot implement previously implemented interface IteratorAggregate in /home/httpd/www/_test-dev.test.summit.co.uk/vendor/smile/elasticsuite/src/module-elasticsuite-core/Search/Adapter/Elasticsuite/Response/QueryResponse.php on line 27
Hi,
Between https://github.com/Smile-SA/elasticsuite/blob/master/src/module-elasticsuite-catalog/Setup/InstallData.php and https://github.com/Smile-SA/elasticsuite/blob/2.2.x/src/module-elasticsuite-catalog/Setup/InstallData.php, there is a difference with "updateAttributeDefaultValue" method and "is_anchor" parameter: a new "excludedIds" parameter is added.
I have an issue with "is_anchor" attribute of "tree root id" category which is set to 1 because of master version, I guess. Indeed, I can't add category when I try to save a product.
Should we force "is_anchor" attribute of "tree root id" category to 0 in a update data setup?
Thanks,
Hello,
With Magento 2.1 and Elasticsearch 2.2.dev, I have this problem.
php bin/magento indexer:reindex catalogsearch_fulltext
Catalog Search indexer process unknown error:
Notice: Undefined offset: 153 in /var/www/vhosts/.../httpdocs/vendor/smile/elasticsuite/src/module-elasticsuite-catalog/Model/Product/Indexer/Fulltext/Datasource/AttributeData.php on line 155
I think this is a bug in the html code for product description. How to find the offending product?
Thank you for your help.
Hi,
with the newest Magento 2.1.0, static content deploy throws an error:
variable @autocomplete-item-border is undefined in file /home/httpd/www/_test-dev.test.summit.co.uk/var/view_preprocessed/css/frontend/Magento/blank/en_US/Smile_ElasticsuiteCore/css/source/_module.less in _module.less on line 30, column 34
28| border-bottom: 0;
29| }
30| .lib-css(border-top, @autocomplete-item-border);
31| cursor: default;
32| margin: 0;
33| padding: @indent__xs @indent__xl @indent__xs @indent__s;
Fulltext search over the codebase suggests that the variable is not defined anywhere and I believe that the variable only has been renamed yet I am unable to find a fix for that.
Lukas
During the Search Autocomplete shows the new Product but if you Simply search the Attribute no products will be displayed. This issue only occurs when using the Multiple Select Attribute Option.
Proof of error I Recreated a Attribute using Text Field and entered text and that was searchable but when setting up a site filtering through text fields just isn't probable
Something is broken between the Displayed search and the autocomplete.
Hello,
Was wondering why the server is pinging back, and why/what is tracked:
// Send the tag to the remote server
// Append a transparent pixel to the body
function sendTag(forceCollect) {
if (this.trackerSent === false || forceCollect === true) {
var trackingUrl = getTrackerUrl.bind(this)();
var bodyNode = document.getElementsByTagName('body')[0];
var imgNode = document.createElement('img');
imgNode.setAttribute('src', trackingUrl);
setTrackerStyle(imgNode);
bodyNode.appendChild(imgNode);
this.trackerSent = true;
this.vars = {};
if (window.location.protocol === "http:") {
var extImgNode = document.createElement('img');
extImgNode.setAttribute('src', "http://t.smile.eu/h.png?magento2");
setTrackerStyle(extImgNode);
bodyNode.appendChild(extImgNode);
}
}
}
Thanks.
There is a useless constructor in Smile\ElasticsuiteCatalog\Setup\InstallSchema class :
/**
* InstallSchema constructor.
*
* @param \Magento\Eav\Setup\EavSetup $eavSetup The EAV Setup
*/
public function __construct(EavSetup $eavSetup)
{
$this->eavSetup = $eavSetup;
}
The constructor initiate a never used var and causes errors when installing magento with elasticsuite.
When there's only one result with an exact match (ex : search by SKU), it could be fantastic to skip the SERP and redirect immediately to the page of the result.
Fatal error: Cannot use 'Bool' as class name as it is reserved in {PROJECT}/vendor/smile-sa/elasticsuite/src/module-elasticsuite-core/Search/Request/Query/Bool.php on line 26
I have a feeling this might be specific to Mac and Windows case sensitivity, perhaps renaming the class to Boolean might have a better effect?
It is impossible to merge datasources to an existing index.
We propose you approaching results.
I'm not sure what happened here but this is not well versed english.
in the english and french i18 csv files!
Sorry to open a ticket but I could not find one that was appropriate to post to!
I have added plugin to surround AroundGetPRice .. to replace pricing engine method with my own cost+plus rules.
Since I did this plugin -> I notice autocomplete no longer responds with correct price!! just 0 which is odd since the index shows a valid price but I am guessing my modification to AroundGetPrice plugin is messing up this call? Perhaps since I use optional-attribute 'cost' which has to be scoped to display in product_listing or it does not function/retrieve any cost! 0
Or perhaps AutoComplete does not access attribute GetCost ->getdata('cost') in scope and retrieves cost of 0/null and my routines use that pricing level as cost multiplier!?
Any thoughts why auto-complete would only be affected by this?
$ bin/magento dev:tests:run static
---- dev/tests/static> php ./vendor/phpunit/phpunit/phpunit
Fatal error: Class 'Magento\Catalog\Model\Layer\Filter\ItemFactory' not found in vendor/smile-sa/elasticsuite/src/module-elasticsuite-catalog/Model/Layer/Filter/Item/AttributeFactory.php on line 23
I know that class will exists after the Factory gets created automatically however for static testing fails each time.
In a InstallSchema Setup there are data that are changes. But on a fresh install there are no data at this time (see below).
The method that cause an installation failure is: Smile\ElasticSuiteCatalog\Setup\InstallSchema::updateDefaultValues
Magento run setup in this way:
InstallSchema
UpdateSchema
(if available)InstallData
UpdateData
(if available)A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.