Coder Social home page Coder Social logo

smile-magento-elasticsearch's Introduction

Magento 2.x support :

The repo for Magento 2 version of our module is available in the new repository of the module : https://github.com/Smile-SA/elasticsuite.

Enjoy !!!

About this module :

This module provides an integration of ElasticSearch into Magento developed by the R&D to address a lot of shortcomings met with the native SolR integration shipped with Magento EE :

  • Fulltext search improvement (fuzzy text query, …)
  • Rich autocomplete (products, categories, …)
  • Highly tunable scoring features
  • Relevancy using behavior of the customers (Not yet released OpenSource)
  • Integration of all Smile experience about search solutions (e.g. : Virtual Categories, multiple select facetting, …)

You can find more information in our slideshare slides :

enter image description here

Documentation :

FAQ

Why choosing ElasticSearch instead of extending the SolR implementation shipped with Magento EE ?

First, ElasticSearch contains a lot more useful features needed to achieve some features of the project :

  • Query language is more complete and allow us to build very complex use case models
  • Rescoring used for behavioral content
  • Ability to store many types of content into the same index (products, categories, ...)

Into the future we plan to use even more features specific to ElasticSearch (percolation, aggregation), since they are very valuable into an eCommerce context.

In the end ES has a lot of advantages over SolR :

  • A strong momentum with a community providing a lot of support and extensions to the core offer
  • Supported by a commercial company
  • Very well documented (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/) !!!
  • Built for distributed environnement, making it easier to scale it up for our biggest clients
  • Built with replication features out of the box ensuring more stability for the websites using the engine

Who is supporting the module ? What about upgradability ?

Smile is supporting the module and ensure it is compatible with new Magento versions. The kind of feature we provide requires usually an external tool (FredHopper, ...) which requires a project by project upgrade which can take longer.

Our main idea is to create a community of clients sharing investment and evolutions about searchandizing features.

What is the project roadmap ?

  • More user behavior influence
  • Promotional rules influence on the search engine, Search engine based distance to promotion.
  • More website animation features to achieve a full searchandising suite
  • Showcases based on widgets
  • Banners selection
  • Stamping based on rules (new product, special price, ...)
  • Marketing facets
  • Recommandations

What Magento version is supported ?

The module has been successfully deployed and tested against the following Magento versions :

  • Magento EE 1.13
  • Magento EE 1.14
  • Magento CE 1.8
  • Magento CE 1.9

Can I install it on my existing project ?

If your project is using Magento EE >= 1.13 or Magento CE >= 1.8, the time you will need depends only on the amount of custom developments you spent on SolR onto the project. The custom developments can be separated in two parts :

  • Custom development replaced by new features of Magento ElasticSearch module (multiple facets, virtual categories, ...). You should disable this features into your old project and adapt the new version to you specific needs
  • Other features, you should be able to port with a very moderated effort (1 day / feature).

If your project does not rely on SolR to achieve developments, the migration project should not be more than a few days project.

For older version of Magento, an evaluation should be done for your specific project.

Bugs / RFC

Don't hesitate to :

  • Submit a bug, RFC, idea of new feature
  • Submit a merge request

smile-magento-elasticsearch's People

Contributors

afoucret avatar chadrien avatar lanfisis avatar marob avatar mbijnsdorp avatar rbayet avatar romainruaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

smile-magento-elasticsearch's Issues

Failed to execute phase [query_fetch]

Hello, I tried to install your extension and I have this error :

`a:5:{i:0;s:2070:"{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[C-sqbOa8SaSfIKb9cZ4NQg][dastled-20160310-155606][0]: SearchParseException[[dastled-20160310-155606][0]: query[filtered(+ConstantScore(*:*))->cache(BooleanFilter(+cache(visibility:`\b\u0000\u0000\u0000\u0002 visibility:`\b\u0000\u0000\u0000\u0004) +cache(status:`\b\u0000\u0000\u0000\u0001) +cache(in_stock:T) +cache(QueryWrapperFilter(categories:[16 TO 16] show_in_categories:[16 TO 16])) +cache(store_id:`\b\u0000\u0000\u0000\u0001)))],from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"bool\":{\"must\":[{\"match_all\":[]}]}},\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"visibility\":[2,4]}},{\"terms\":{\"status\":[1]}},{\"terms\":{\"in_stock\":[1]}},{\"fquery\":{\"query\":{\"query_string\":{\"query\":\"(categories:16) OR (show_in_categories:16)\"}},\"_cache\":true}},{\"terms\":{\"store_id\":[1]}}],\"_cache\":true}}}},\"facets\":{\"categories_17\":{\"query\":{\"query_string\":{\"query\":\"((categories:17) OR (show_in_categories:17))\"}}},\"categories_18\":{\"query\":{\"query_string\":{\"query\":\"((categories:18) OR (show_in_categories:18))\"}}},\"categories_19\":{\"query\":{\"query_string\":{\"query\":\"((categories:19) OR (show_in_categories:19))\"}}},\"price_1_1\":{\"histogram\":{\"interval\":1,\"field\":\"price_1_1\"}},\"rating_filter\":{\"histogram\":{\"interval\":20,\"field\":\"rating_filter\"}},\"options_power_fr.untouched\":{\"histogram\":{\"interval\":1,\"field\":\"options_power_fr.untouched\"}}},\"fields\":[\"entity_id\"],\"track_scores\":true,\"sort\":[{\"position\":{\"order\":\"asc\",\"missing\":9223372036854775806,\"ignore_unmapped\":true,\"nested_path\":\"category_position\",\"nested_filter\":{\"term\":{\"category_id\":\"16\"}}}},{\"_score\":\"desc\"}],\"from\":0,\"size\":10}]]]; nested: ClassCastException[org.elasticsearch.index.fielddata.plain.SortedSetDVBytesIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData]; }]","status":400}";i:1;s:7557:"#0 /Users/sebfie/Documents/ProjetsWeb/dastled/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(194): Elasticsearch\Connections\GuzzleConnection->process4xxError(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Exception\ClientErrorResponseException), '{"query":{"filt...')
#1 /Users/sebfie/Documents/ProjetsWeb/dastled/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"query":{"filt...')
#2 /Users/sebfie/Documents/ProjetsWeb/dastled/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('GET', '/dastled/produc...', Array, '{"query":{"filt...')
#3 /Users/sebfie/Documents/ProjetsWeb/dastled/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('GET', '/dastled/produc...', Array, Array)
#4 /Users/sebfie/Documents/ProjetsWeb/dastled/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php(1010): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#5 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Query/Abstract.php(219): Elasticsearch\Client->search(Array)
#6 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/community/Smile/ElasticSearch/Model/Resource/Catalog/Product/Collection.php(227): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Query_Abstract->search()
#7 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php(864): Smile_ElasticSearch_Model_Resource_Catalog_Product_Collection->_beforeLoad()
#8 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Review/Model/Observer.php(78): Mage_Eav_Model_Entity_Collection_Abstract->load()
#9 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Model/App.php(1358): Mage_Review_Model_Observer->catalogBlockProductCollectionBeforeToHtml(Object(Varien_Event_Observer))
#10 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Model/App.php(1331): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Review_Model_Observer), 'catalogBlockPro...', Object(Varien_Event_Observer))
#11 /Users/sebfie/Documents/ProjetsWeb/dastled/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('catalog_block_p...', Array)
#12 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Catalog/Block/Product/List.php(164): Mage::dispatchEvent('catalog_block_p...', Array)
#13 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(918): Mage_Catalog_Block_Product_List->_beforeToHtml()
#14 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/local/Sns/Megamenu/Block/List.php(128): Mage_Core_Block_Abstract->toHtml()
#15 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/local/Sns/Megamenu/Block/List.php(168): Sns_Megamenu_Block_List->getItemHtml(Object(Varien_Object))
#16 /Users/sebfie/Documents/ProjetsWeb/dastled/app/design/frontend/default/dastled/template/sns/megamenu/megamenu.phtml(76): Sns_Megamenu_Block_List->getItemHtml(Object(Varien_Object), true)
#17 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(241): include('/Users/sebfie/D...')
#18 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/defaul...')
#19 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#20 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/local/Sns/Megamenu/Block/List.php(72): Mage_Core_Block_Template->_toHtml()
#21 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(919): Sns_Megamenu_Block_List->_toHtml()
#22 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#23 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Text_List->_toHtml()
#24 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml()
#25 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('megaMenu', true)
#26 /Users/sebfie/Documents/ProjetsWeb/dastled/app/design/frontend/default/dastled/template/page/html/header.phtml(151): Mage_Core_Block_Abstract->getChildHtml('megaMenu')
#27 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(241): include('/Users/sebfie/D...')
#28 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/defaul...')
#29 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#30 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml()
#31 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(637): Mage_Core_Block_Abstract->toHtml()
#32 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(581): Mage_Core_Block_Abstract->_getChildHtml('header', true)
#33 /Users/sebfie/Documents/ProjetsWeb/dastled/app/design/frontend/default/dastled/template/page/2columns-left.phtml(41): Mage_Core_Block_Abstract->getChildHtml('header')
#34 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(241): include('/Users/sebfie/D...')
#35 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/defaul...')
#36 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#37 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Block/Abstract.php(919): Mage_Core_Block_Template->_toHtml()
#38 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml()
#39 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput()
#40 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/local/Sns/Ajaxfilter/controllers/Catalog/CategoryController.php(112): Mage_Core_Controller_Varien_Action->renderLayout()
#41 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Sns_Ajaxfilter_Catalog_CategoryController->viewAction()
#42 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('view')
#43 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#44 /Users/sebfie/Documents/ProjetsWeb/dastled/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#45 /Users/sebfie/Documents/ProjetsWeb/dastled/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#46 /Users/sebfie/Documents/ProjetsWeb/dastled/index.php(83): Mage::run('', 'store')
#47 {main}";s:3:"url";s:13:"/panneau.html";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:13:"public_french";}`

Any idea?

I have ES 1.3.2

Error when enable module smile elasticsearch

Hi,
I enable module smile elasticsearch in admin configuration , flush cache , reindex
i reload the frontend homepage when i access submenu bar or type in search box, it not show anything , i get blank page
When i disable this module and enable mysql fulltext , everything Ok
I install magento 1.9.1 CE and elasticsearch 1.4
Please help me
blankpage
blankpage2
config
error
searchresault

creating category via soap

Soap throws error on saving category, asking "used_in_product_search" is required parameter but not accepting it

Not able to de-select 2 values for same attribute differently

I want to de-select the values for the same attribute differently means if i select two values namely "Rolex" and "Cartier" of "manufacturer" attribute and then if i want to de-select "Cartier" then it should allow me to de-select that one value only.

Currently i am getting only one cross button for both the values(values are displayed as comma seperated) and if i click on cross button then both the values are de-selected.

I am attaching the screenshot for the same.

If category not include any product error

Fatal error: Call to a member function getSearchQuery() on a non-object in C:\xampp\htdocs\oneyhosting.com\app\code\community\Smile\VirtualCategories\Model\Observer.php on line 57

When a category ; that not include any product; clicked from frontend we get above error.

Error on catalogsearch result page if no VirtualRule is set

If I enter a search query and press enter, I get this two error messages:

Fatal error: Call to a member function getSearchQuery() on a non-object in D:\xampp-5.5.19\htdocs\project_name\app\code\community\Smile\VirtualCategories\Model\Observer.php on line 57
Fatal error: Call to a member function getChildrenCategoryQueries() on a non-object in D:\xampp-5.5.19\htdocs\project_name\app\code\community\Smile\VirtualCategories\Model\Observer.php on line 85

is there something wrong with my configuration?

Unable to use decimal aatribute

We have some attributes which haves decimal values. I have installed this module and it works fine for all values except decimal.

It gives me the following error.

Call to undefined method Smile_ElasticSearch_Helper_Data::getAttributeFieldName() in app/code/community/Smile/ElasticSearch/Model/Catalog/Layer/Filter/Decimal.php on line 136.

Is it possible to have decimal attribute values with this module?

Error when disabling Phrase match

If I disable the Phrase match feature I get this error

"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[8n50abZmRyWXU6aR3ghgNA][alias-20160105-104205][0]: SearchParseException[[alias-20160105-104205][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query":{"filtered":{"query":{"bool":{"must":[{"bool":{"must":[null]}}]}},"filter":{"bool":{"must":[{"terms":{"visibility":[3,4]}},{"terms":{"status":[1]}},{"terms":{"in_stock":[1]}},{"fquery":{"query":{"query_string":{"query":"(categories:2) OR (show_in_categories:2)"}},"_cache":true}},{"terms":{"store_id":[1]}}],"_cache":true}}}},"facets":{"attribute_set_id":{"terms":{"size":9,"order":"count","field":"attribute_set_id"}}},"from":0,"size":0}]]]; nested: QueryParsingException[[alias-20160105-104205] [_na] query malformed, must start with start_object]; }]","status":400}

i'm also facing an issue, we are a wine ecommerce, if I search for champagne I get results for prosecco and other things which are not champagne. Is this something related to phonetic or something?

Is it normal that categories are not indexed?

I have checked all settings, but when i see in some dashboard to see ElasticSearch data (like "head") i see that no categories are indexed. I think this is one of cause that i not see categories in ajax suggest.

Is it normal?
elas-cat

ElasticSearch not Working

Hey Guys!
First my Setup... Server: nginx // PHP: 5.6.2 // Magento CE: 1.9.1.0
I've already worked with Elasticsearch with another Magento Extension, this worked. I can confirm that the elastic search Server works. (v 1.4.5)
Screenshot
First of all, I'm not able to reindex from the Admin Panel. But Reindexing from shell works. But I don't think this is related to my issue.
The Problem is: I don't get any search-suggestions, nor a Quickresult Popup. When Submitting the Search, it seems as if the results fallback to the Magento SQL Search.
The Extension seems to work, because after I've uploaded it, the search form slightly changed in design and there appeared a link "extended search" which wasn't there.
I have no idea what I can do to get it working because there's no error. Anything I forgot to do after installing the extension (and configuring).

best
Jakob

Price slider not available when doing a quick-search only available when selecting a category.html first

When I search using a quick search "ABC PRODUCT" if I do not use auto-complete but press enter and the results are missing the pricing slider!

If i select an autocomplete drop-down category -> the pricing slider is present!

Also when many manufacturers are present, sometimes there is a javascript search box to sub-search the manufacturers to select? Only sometimes!

Lastly - how hard would it be to add ability to nest textual search and add the search to the breadcrumb search? (not a bug)

Using Firefox current with ublock on windows 7!

attributes options order

Attribute options are returned by product count, is it possible to order them by alphabetically?

Thanks

Search results not found

So all of the bells and whistles seem to work fine. And I can tell the quick search is hitting ES because the autocomplete shows data but unless I choose a category or product I end up at 'domain/catalogsearch/html' 404

Problem on reindex magento

Hello,

I am not able to make this work.

curl -X GET 'http://localhost:9200/magentomattca/'

{"magentomattca":{"aliases":{},"mappings":{"product":{"properties":{"attribute_set_id":{"type":"long"},"categories":{"type":"long"},"category_name_ro":{"type":"string"},"created_at":{"type":"string"},"entity_id":{"type":"long"},"entity_type_id":{"type":"long"},"has_discount_0_1":{"type":"boolean"},"has_discount_1_1":{"type":"boolean"},"has_discount_2_1":{"type":"boolean"},"has_discount_3_1":{"type":"boolean"},"has_options":{"type":"boolean"},"in_stock":{"type":"boolean"},"position":{"properties":{"category_id":{"type":"long"},"position":{"type":"long"}}},"price_0_1":{"type":"long"},"price_1_1":{"type":"long"},"price_2_1":{"type":"long"},"price_3_1":{"type":"long"},"required_options":{"type":"boolean"},"show_in_categories":{"type":"string"},"sku":{"type":"string"},"store_id":{"type":"long"},"type_id":{"type":"string"},"unique":{"type":"string"},"updated_at":{"type":"string"}}}},"settings":{"index":{"creation_date":"1457350472747","uuid":"NaFtk-9XQ0SiUAVAK8eDsQ","number_of_replicas":"1","number_of_shards":"5","version":{"created":"1070599"}}},"warmers":{}}}

curl -X GET 'http://localhost:9200/magentomattca/_settings'

{"magentomattca":{"settings":{"index":{"creation_date":"1457350472747","uuid":"NaFtk-9XQ0SiUAVAK8eDsQ","number_of_replicas":"1","number_of_shards":"5","version":{"created":"1070599"}}}}}

but for

php /home/mattca/public_html/shell/indexer.php -reindex catalogsearch_fulltext

I get

`Catalog Search Index index process unknown error:
exception 'Guzzle\Http\Exception\ClientErrorResponseException' with message 'Client error response
[status code] 400
[reason phrase] Bad Request
[url] http://localhost:9200/magentomattca/_settings' in /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Exception/BadResponseException.php:43
Stack trace:
#0 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(145): Guzzle\Http\Exception\BadResponseException::factory(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Message\Response))
#1 [internal function]: Guzzle\Http\Message\Request::onRequestError(Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#2 /home/mattca/public_html/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#3 /home/mattca/public_html/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'request.error', Object(Guzzle\Common\Event))
#4 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(589): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('request.error', Object(Guzzle\Common\Event))
#5 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(378): Guzzle\Http\Message\Request->processResponse(Array)
#6 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Message/EntityEnclosingRequest.php(49): Guzzle\Http\Message\Request->setState('complete', Array)
#7 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(303): Guzzle\Http\Message\EntityEnclosingRequest->setState('complete', Array)
#8 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(257): Guzzle\Http\Curl\CurlMulti->processResponse(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array)
#9 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(240): Guzzle\Http\Curl\CurlMulti->processMessages()
#10 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(224): Guzzle\Http\Curl\CurlMulti->executeHandles()
#11 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(111): Guzzle\Http\Curl\CurlMulti->perform()
#12 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMultiProxy.php(94): Guzzle\Http\Curl\CurlMulti->send()
#13 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Client.php(284): Guzzle\Http\Curl\CurlMultiProxy->send()
#14 /home/mattca/public_html/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(198): Guzzle\Http\Client->send(Object(Guzzle\Http\Message\EntityEnclosingRequest))
#15 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(189): Guzzle\Http\Message\Request->send()
#16 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"settings":{"n...')
#17 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('PUT', '/magentomattca/...', Array, '{"settings":{"n...')
#18 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('PUT', '/magentomattca/...', Array, Array)
#19 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(246): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#20 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(349): Elasticsearch\Namespaces\IndicesNamespace->putSettings(Array)
#21 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(449): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->_prepareIndex()
#22 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php(193): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->prepareNewIndex()
#23 /home/mattca/public_html/app/code/core/Mage/Index/Model/Process.php(212): Smile_ElasticSearch_Model_Indexer_Fulltext->reindexAll()
#24 /home/mattca/public_html/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#25 /home/mattca/public_html/shell/indexer.php(168): Mage_Index_Model_Process->reindexEverything()
#26 /home/mattca/public_html/shell/indexer.php(216): Mage_Shell_Compiler->run()
#27 {main}

Next exception 'Elasticsearch\Common\Exceptions\BadRequest400Exception' with message '{"error":"ElasticsearchIllegalArgumentException[Can't update [index.number_of_replicas] on closed indices [[magentomattca]] - can leave index in an unopenable state]","status":400}' in /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php:266
Stack trace:
#0 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(194): Elasticsearch\Connections\GuzzleConnection->process4xxError(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Exception\ClientErrorResponseException), '{"settings":{"n...')
#1 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"settings":{"n...')
#2 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('PUT', '/magentomattca/...', Array, '{"settings":{"n...')
#3 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('PUT', '/magentomattca/...', Array, Array)
#4 /home/mattca/public_html/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(246): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#5 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(349): Elasticsearch\Namespaces\IndicesNamespace->putSettings(Array)
#6 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(449): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->_prepareIndex()
#7 /home/mattca/public_html/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php(193): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->prepareNewIndex()
#8 /home/mattca/public_html/app/code/core/Mage/Index/Model/Process.php(212): Smile_ElasticSearch_Model_Indexer_Fulltext->reindexAll()
#9 /home/mattca/public_html/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#10 /home/mattca/public_html/shell/indexer.php(168): Mage_Index_Model_Process->reindexEverything()
#11 /home/mattca/public_html/shell/indexer.php(216): Mage_Shell_Compiler->run()
#12 {main}

`

Uninstall

When I remove this extension, it breaks the site and shows the following error on the frontend. Is there a database entry I need to remove as well?

Invalid backend model specified: smile_virtualcategories/category_attributes_backend_virtual

Autosuggest block cache tags

Hi,

I've noticed that the 3 blocks used by the autosuggest feature override the getCacheTags method:

Smile_ElasticSearch_Block_Catalogsearch_Autocomplete_Suggest_Category
Smile_ElasticSearch_Block_Catalogsearch_Autocomplete_Suggest_Product
Smile_ElasticSearch_Block_Catalogsearch_Autocomplete_Suggest_Terms

public function getCacheTags()
    {
        return array(Mage_CatalogSearch_Model_Query::CACHE_TAG);
    }

Because of this, the default cache group for blocks (block_html) is not added. As a result, it is impossible to delete this cache by just refreshing the html block cache, we have to delete the entire var/cache folder.

Could you modify these blocks to define a cache_tags attribute instead of overriding the method?

Thanks!

Problems indexing

Hello,
After a succesful installation of the module, I tried re-indexing Catalog Search Index. The output is this:

{"error":"MapperParsingException[mapping [product]]; nested: MapperParsingException[Analyzer [analyzer_zh] not found for field [options_shoe_type_zh]]; ","status":400}
Cannot initialize the indexer process.

Also, the exception.log looks like this:

2015-02-19T23:13:29+00:00 ERR (3): 
exception 'Guzzle\Http\Exception\ClientErrorResponseException' with message 'Client error response
[status code] 400
[reason phrase] Bad Request
[url] http://lofty-dev.lofty.com:9200/dev-20150219-231329' in /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Exception/BadResponseException.php:43
Stack trace:
#0 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(145): Guzzle\Http\Exception\BadResponseException::factory(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Message\Response))
#1 [internal function]: Guzzle\Http\Message\Request::onRequestError(Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#2 /vagrant/LoftySite/magento/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#3 /vagrant/LoftySite/magento/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'request.error', Object(Guzzle\Common\Event))
#4 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(589): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('request.error', Object(Guzzle\Common\Event))
#5 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(378): Guzzle\Http\Message\Request->processResponse(Array)
#6 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Message/EntityEnclosingRequest.php(49): Guzzle\Http\Message\Request->setState('complete', Array)
#7 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(303): Guzzle\Http\Message\EntityEnclosingRequest->setState('complete', Array)
#8 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(257): Guzzle\Http\Curl\CurlMulti->processResponse(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array)
#9 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(240): Guzzle\Http\Curl\CurlMulti->processMessages()
#10 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(224): Guzzle\Http\Curl\CurlMulti->executeHandles()
#11 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(111): Guzzle\Http\Curl\CurlMulti->perform()
#12 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMultiProxy.php(94): Guzzle\Http\Curl\CurlMulti->send()
#13 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Client.php(284): Guzzle\Http\Curl\CurlMultiProxy->send()
#14 /vagrant/LoftySite/magento/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(198): Guzzle\Http\Client->send(Object(Guzzle\Http\Message\EntityEnclosingRequest))
#15 /vagrant/LoftySite/magento/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(189): Guzzle\Http\Message\Request->send()
#16 /vagrant/LoftySite/magento/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"settings":{"n...')
#17 /vagrant/LoftySite/magento/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('POST', '/dev-20150219-2...', Array, '{"settings":{"n...')
#18 /vagrant/LoftySite/magento/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('POST', '/dev-20150219-2...', Array, Array)
#19 /vagrant/LoftySite/magento/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(839): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#20 /vagrant/LoftySite/magento/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(236): Elasticsearch\Namespaces\IndicesNamespace->create(Array)
#21 /vagrant/LoftySite/magento/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(306): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->_prepareIndex()
#22 /vagrant/LoftySite/magento/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php(193): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->prepareNewIndex()
#23 /vagrant/LoftySite/magento/app/code/core/Mage/Index/Model/Process.php(210): Smile_ElasticSearch_Model_Indexer_Fulltext->reindexAll()
#24 /vagrant/LoftySite/magento/app/code/core/Mage/Index/Model/Process.php(258): Mage_Index_Model_Process->reindexAll()
#25 /vagrant/LoftySite/magento/app/code/core/Mage/Index/controllers/Adminhtml/ProcessController.php(182): Mage_Index_Model_Process->reindexEverything()
#26 /vagrant/LoftySite/magento/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Index_Adminhtml_ProcessController->massReindexAction()
#27 /vagrant/LoftySite/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('massReindex')
#28 /vagrant/LoftySite/magento/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Magnify_Mobile_Http))
#29 /vagrant/LoftySite/magento/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#30 /vagrant/LoftySite/magento/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#31 /vagrant/LoftySite/magento/index.php(85): Mage::run('', 'store')
#32 {main}

Thank you.

Not able to select more than 2 values for same attribute

I have installed this module and it gives me error when i select two values for same attribute.

example: if i select one color say yellow. then it works perfect but i select two colors say yellow and blue it will gives me "No result found" while there are some products having blue color.

Call to undefined method Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Mapping_Product::resetSearchResults()

HI All
I am running version 1.1.2 of this module. I have a cron that imports products from ebay. It uses magento models and save products in DB.
When I change the catalog search index mode to update on save I get following error frequently.


 PHP Fatal error:  Call to undefined method Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Mapping_Product::resetSearchResults() in /var/www/live-app/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php on line 145
 PHP Stack trace:
 PHP   1. {main}() /var/www/live-app/index.php:0
 PHP   2. Mage::run() /var/www/live-app/index.php:87
 PHP   3. Mage_Core_Model_App->run() /var/www/live-app/app/Mage.php:683
 PHP   4. Mage_Core_Controller_Varien_Front->dispatch() /var/www/live-app/app/code/core/Mage/Core/Model/App.php:354
 PHP   5. Mage_Core_Controller_Varien_Router_Standard->match() /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Front.php:172
 PHP   6. Mage_Core_Controller_Varien_Action->dispatch() /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php:250
 PHP   7. Mage_Adminhtml_Catalog_ProductController->saveAction() /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Action.php:418
 PHP   8. Mage_Core_Model_Abstract->save() /var/www/live-app/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php:728
 PHP   9. Mage_Catalog_Model_Product->_afterSave() /var/www/live-app/app/code/core/Mage/Core/Model/Abstract.php:319
 PHP  10. Mage_Core_Model_Abstract->_afterSave() /var/www/live-app/app/code/core/Mage/Catalog/Model/Product.php:549
 PHP  11. Mage::dispatchEvent() /var/www/live-app/app/code/core/Mage/Core/Model/Abstract.php:466
 PHP  12. Mage_Core_Model_App->dispatchEvent() /var/www/live-app/app/Mage.php:447
 PHP  13. Mage_Core_Model_App->_callObserverMethod() /var/www/live-app/app/code/core/Mage/Core/Model/App.php:1317
 PHP  14. Mage_CatalogInventory_Model_Observer->saveInventoryData() /var/www/live-app/app/code/core/Mage/Core/Model/App.php:1338
 PHP  15. Mage_Core_Model_Abstract->save() /var/www/live-app/app/code/core/Mage/CatalogInventory/Model/Observer.php:154
 PHP  16. Mage_CatalogInventory_Model_Stock_Item->_afterSave() /var/www/live-app/app/code/core/Mage/Core/Model/Abstract.php:319
 PHP  17. Mage_Index_Model_Indexer->processEntityAction() /var/www/live-app/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php:792
 PHP  18. Mage::dispatchEvent() /var/www/live-app/app/code/core/Mage/Index/Model/Indexer.php:334
 PHP  19. Mage_Core_Model_App->dispatchEvent() /var/www/live-app/app/Mage.php:447
 PHP  20. Mage_Core_Model_App->_callObserverMethod() /var/www/live-app/app/code/core/Mage/Core/Model/App.php:1317
 PHP  21. Mage_CatalogInventory_Model_Observer->reindexProductsMassAction() /var/www/live-app/app/code/core/Mage/Core/Model/App.php:1338
 PHP  22. Mage_Index_Model_Indexer->indexEvents() /var/www/live-app/app/code/core/Mage/CatalogInventory/Model/Observer.php:973
 PHP  23. Mage_Index_Model_Indexer->_runAll() /var/www/live-app/app/code/core/Mage/Index/Model/Indexer.php:223
 PHP  24. call_user_func_array() /var/www/live-app/app/code/core/Mage/Index/Model/Indexer.php:378
 PHP  25. Mage_Index_Model_Process->indexEvents() /var/www/live-app/app/code/core/Mage/Index/Model/Indexer.php:378
 PHP  26. Mage_Index_Model_Process->_processEventsCollection() /var/www/live-app/app/code/core/Mage/Index/Model/Process.php:360
 PHP  27. Mage_Index_Model_Process->processEvent() /var/www/live-app/app/code/core/Mage/Index/Model/Process.php:384
 PHP  28. Smile_ElasticSearch_Model_Indexer_Fulltext->processEvent() /var/www/live-app/app/code/core/Mage/Index/Model/Process.php:282
 PHP  29. Mage_Index_Model_Indexer_Abstract->processEvent() /var/www/live-app/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php:50
 PHP  30. Smile_ElasticSearch_Model_Indexer_Fulltext->_processEvent() /var/www/truefacets/app/code/core/Mage/Index/Model/Indexer/Abstract.php:103

Stack trace also suggest that even when saving product from backend its reports the same error.

Can anyone help here on this?

Autocomplete search and result page don't have the same search results

I tested this with a fresh magento 1.9.1 installation with sample data.
catalog and product flat tables are not enabled.

If I enter "wonder" into the search field, it shows "Alice in Wonderland" under products.
Now if I press enter, the result page shows me:

Search results for 'wonder'

Your search returns no results.  

I would expect the Alice in Wonderland product here too.

Is this intended?
If so, how can I "fix" this, so that the search results are the same?

"Is Anchor" option is missing from categories?

After installing this extension, there is no longer an option in Manage Categories for "Is Anchor". Things that were an anchor before are still an anchor, but there is no longer a way to set categories to be or not to be anchors.

Error with layered categories / navigation

Hi,

I'm running Magento 1.9.2.1, ES 1.5.2 and smile-magento-elasticsearch-1.3 and when i'm going to a category page i'm getting this error:

Strict Notice: Declaration of Smile_ElasticSearch_Model_Catalog_Layer_Filter_Item_Category::getUrl() should be compatible with Mage_Catalog_Model_Layer_Filter_Item::getUrl($base = '//*') in /Applications/MAMP/htdocs/haarcentrum/app/code/community/Smile/ElasticSearch/Model/Catalog/Layer/Filter/Item/Category.php on line 86

Fatal error on advanced search

Running an advanced search query gives this error

Call to undefined method Smile_ElasticSearch_Model_Resource_Catalog_Product_Collection::addFieldsToFilter() in app\code\core\Mage\CatalogSearch\Model\Advanced.php on line 212

Is advanced search not supported by this module?

Magento CE 1.9.1.0

Enhancement: support for ES 2.x

I see lot of new good commits. This extension is very useful!

Unfortunatly my provider give me a server with ES 2.x installed.

Can you help me to decide if i need to downgrade to a precise version of ES 1.x or if it is possible to let Smile-magento-elasticsearch work on ES 2.x?

Thanks a lot!

Call to getCurrentIndex() not conditioned

When you are running the default Fulltext engine on a CE and you are saving a category, the method \Smile_ElasticSearch_Model_Observer::reindexCategoryAfterSave is launched and you have got this error :

Call to undefined method Mage_CatalogSearch_Model_Resource_Fulltext_Engine::getCurrentIndex()

The code below is playing with currentIndex that does not exist in Mage_CatalogSearch_Model_Resource_Fulltext_Engine.

 $currentIndex = Mage::helper('catalogsearch')->getEngine()->getCurrentIndex();
 $currentIndex->getMapping('product')->rebuildIndex(null, $productIds);

on search error

Fatal error: Call to undefined method Mage_Catalog_Model_Resource_Product_Collection::isSpellchecked() in /home/esajee/public_html/esajee.com/app/code/community/Smile/ElasticSearch/Block/Catalogsearch/Result.php on line 31

it was running fine before, not sure what we change in setting of attributes that this error came

Failed to parse query with a slash - suggest action

When you have a / in the suggest query, it fails with the following exception:

"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[index][0]: SearchParseException[[index][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"bool\":{\"must\":[{\"function_score\":{\"query\":{\"bool\":{\"must\":[{\"multi_match\":{\"query\":\"pants\\/\",\"type\":\"best_fields\",\"minimum_should_match\":\"100%\",\"fields\":[\"autocomplete_nl.edge_ngram_front\"],\"fuzziness\":\"0.5\",\"prefix_length\":\"1\",\"max_expansions\":\"20\",\"analyzer\":\"whitespace\"}}],\"should\":[{\"multi_match\":{\"query\":\"pants\\/\",\"type\":\"best_fields\",\"tie_breaker\":1,\"fields\":[\"autocomplete_nl.edge_ngram_front\"],\"analyzer\":\"analyzer_nl\"}}]}},\"functions\":[{\"filter\":{\"query\":{\"query_string\":{\"query\":\"pants\\/\",\"default_field\":\"autocomplete_nl.whitespace\"}}},\"boost_factor\":10}]}}]}},\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"visibility\":[3,4]}},{\"terms\":{\"status\":[1]}},{\"terms\":{\"in_stock\":[1]}},{\"terms\":{\"store_id\":[1]}}],\"_cache\":true}}}},\"fields\":[\"entity_id\"],\"track_scores\":true,\"sort\":[{\"_score\":\"desc\"}],\"from\":0,\"size\":\"3\"}]]]; nested: QueryParsingException[[index] Failed to parse query [pants/]]; nested: ParseException[Cannot parse 'pants/': Lexical error at line 1, column 7.  Encountered: <EOF> after : \"\"]; nested: TokenMgrError[Lexical error at line 1, column 7.  Encountered: <EOF> after : \"\"]; }]","status":400}

The error lead me to this issue in the elasticsearch repo: elastic/elasticsearch#2980

Escaping the query seems the most logical solution to this, however I don't know this module that well. I tested with escaping the query when it's set in Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Query_Abstract::setFulltextQuery($query) which worked well for me.

For some reason this exception doesn't occur when I search on the same query.

If you agree with this, I can make a PR.

search by term

can you guide me how can i get search by any term, currently i have to type full name part like ferrero instead just ferr should also get some results

also not able to see the category doc in index, and also on facets

SearchPhaseExecutionException[Failed to execute phase [query_fetch]

Hi,
I get the above error on Category-Page and search-result. However, auto complete seems to be working. I am using magento 1.9 and was using the BubbleSearch-Extension for ES (which works)
I have already deactivated VirtualCategories Module

Could you help me get the Extension working as this really looks like a great extension and thanks for that

Unable to use attributes with hyphens

We have some size attributes which contain hyphens as part of the label, these are indexed by elastic just fine, but when we try to run a query on one, we get no results.

Example query:

?size[0]=X-Large

This becomes X-Large in the query.

It seems that hyphens are always escaped in

Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Query_Abstract::_escape

Is it possible to have hyphenated attribute values with this module?

SearchPhaseExecutionException[Failed to execute phase [query_fetch]

HI All,
I am running module version 1.1.2. And I am getting following error again and again.

a:5:{i:0;s:3737:"{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[4vES2ScfRAOGJLXT2UbZNA][elasticsearch-20151125-110047][0]: SearchParseException[[elasticsearch-20151125-110047][0]: query[filtered(+ConstantScore(*:*))->cache(BooleanFilter(+cache(visibility:`\b\u0000\u0000\u0000\u0002 visibility:`\b\u0000\u0000\u0000\u0004) +cache(status:`\b\u0000\u0000\u0000\u0001) +cache(QueryWrapperFilter(ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r) ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b) ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f) (ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000E) ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000F) ConstantScore(categories: \u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000G)))) +cache(store_id:`\b\u0000\u0000\u0000\u0001)))],from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\":{\"filtered\":{\"query\":{\"bool\":{\"must\":[{\"match_all\":[]}]}},\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"visibility\":[\"2\",\"4\"]}},{\"terms\":{\"status\":[\"1\"]}},{\"fquery\":{\"query\":{\"query_string\":{\"query\":\"categories:13 OR (categories:8) OR (categories:12) OR (categories:69 OR (categories:70) OR (categories:71))\"}},\"_cache\":true}},{\"terms\":{\"store_id\":[\"1\"]}}],\"_cache\":true}}}},\"facets\":{\"categories_8\":{\"query\":{\"query_string\":{\"query\":\"(categories:8)\"}},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"categories_12\":{\"query\":{\"query_string\":{\"query\":\"(categories:12)\"}},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"categories_69\":{\"query\":{\"query_string\":{\"query\":\"(categories:69 OR (categories:70) OR (categories:71))\"}},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"lux_ring_size\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_lux_ring_size_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"manufacturer\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_manufacturer_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"metal_type\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_metal_type_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"gender\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_gender_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"condition\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_condition_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"color\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"color\"}},\"movement\":{\"terms\":{\"size\":250,\"order\":\"term\",\"field\":\"options_movement_en.untouched\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}},\"price_0_1\":{\"histogram\":{\"interval\":1,\"field\":\"price_0_1\"},\"facet_filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}}}},\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"color\":[\"330,437,459\"]}}]}},\"fields\":[\"entity_id\"],\"track_scores\":true,\"sort\":[{\"_score\":\"desc\"},{\"id\":{\"order\":\"desc\",\"missing\":\"_last\",\"ignore_unmapped\":true}}],\"from\":0,\"size\":10000}]]]; nested: NumberFormatException[For input string: \"330,437,459\"]; }]","status":400}";i:1;s:4613:"#0 /var/www/live-app/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(194): Elasticsearch\Connections\GuzzleConnection->process4xxError(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Exception\ClientErrorResponseException), '{"query":{"filt...')
#1 /var/www/live-app/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"query":{"filt...')
#2 /var/www/live-app/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('GET', '/elasticsearch/...', Array, '{"query":{"filt...')
#3 /var/www/live-app/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('GET', '/elasticsearch/...', Array, Array)
#4 /var/www/live-app/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Client.php(1010): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#5 /var/www/live-app/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Query/Abstract.php(185): Elasticsearch\Client->search(Array)
#6 /var/www/live-app/app/code/community/Smile/ElasticSearch/Model/Resource/Catalog/Product/Collection.php(150): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Query_Abstract->search()
#7 /var/www/live-app/app/code/community/Smile/ElasticSearch/Model/Resource/Catalog/Product/Collection.php(83): Smile_ElasticSearch_Model_Resource_Catalog_Product_Collection->_beforeLoad()

#8 /var/www/live-app/app/code/community/Smile/ElasticSearch/Block/Catalog/Layer/View.php(200): Smile_ElasticSearch_Model_Resource_Catalog_Product_Collection->getSize()
#9 /var/www/live-app/app/design/frontend/truefacet/truefacet/template/catalog/layer/view.phtml(7): Smile_ElasticSearch_Block_Catalog_Layer_View->canShowBlock()
#10 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(241): include('/var/www/truefa...')
#11 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/truefa...')
#12 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#13 /var/www/live-app/app/code/core/Mage/Core/Block/Abstract.php(886): Mage_Core_Block_Template->_toHtml()
#14 /var/www/live-app/app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#15 /var/www/live-app/app/code/core/Mage/Core/Block/Abstract.php(886): Mage_Core_Block_Text_List->_toHtml()
#16 /var/www/live-app/app/code/core/Mage/Core/Block/Abstract.php(605): Mage_Core_Block_Abstract->toHtml()
#17 /var/www/live-app/app/code/core/Mage/Core/Block/Abstract.php(549): Mage_Core_Block_Abstract->_getChildHtml('left', true)
#18 /var/www/live-app/app/design/frontend/truefacet/truefacet/template/page/1column-category.phtml(39): Mage_Core_Block_Abstract->getChildHtml('left')
#19 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(241): include('/var/www/truefa...')
#20 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('frontend/truefa...')
#21 /var/www/live-app/app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#22 /var/www/live-app/app/code/core/Mage/Core/Block/Abstract.php(886): Mage_Core_Block_Template->_toHtml()
#23 /var/www/live-app/app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml()
#24 /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput()
#25 /var/www/live-app/app/code/core/Mage/Catalog/controllers/CategoryController.php(161): Mage_Core_Controller_Varien_Action->renderLayout()
#26 /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Catalog_CategoryController->viewAction()
#27 /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('view')
#28 /var/www/live-app/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#29 /var/www/live-app/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#30 /var/www/live-app/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#31 /var/www/live-app/index.php(87): Mage::run('default', 'store')
#32 {main}";s:3:"url";s:39:"/watches.html?color=330%2C437%2C459&p=2";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";}

As I am very new to elastic search not sure how to fix it. Any help is much appreciated.

Error creating elastic search index after installing module

Hello, I installed this module on Magento 1.9.2.1 using Elasticsearch version 1.7.1 but I immediately get the following exception when performing a reindexall.

Catalog Search Index index process unknown error:
exception 'Guzzle\Http\Exception\ClientErrorResponseException' with message 'Client error response
[status code] 400
[reason phrase] Bad Request
[url] http://127.0.0.1:9200/sac-20150918-220533' in /var/www/lib/vendor/guzzle/http/Guzzle/Http/Exception/BadResponseException.php:43
Stack trace:
#0 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(145): Guzzle\Http\Exception\BadResponseException::factory(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Message\Response))
#1 [internal function]: Guzzle\Http\Message\Request::onRequestError(Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#2 /var/www/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164): call_user_func(Array, Object(Guzzle\Common\Event), 'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#3 /var/www/lib/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'request.error', Object(Guzzle\Common\Event))
#4 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(589): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('request.error', Object(Guzzle\Common\Event))
#5 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(378): Guzzle\Http\Message\Request->processResponse(Array)
#6 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Message/EntityEnclosingRequest.php(49): Guzzle\Http\Message\Request->setState('complete', Array)
#7 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(303): Guzzle\Http\Message\EntityEnclosingRequest->setState('complete', Array)
#8 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(257): Guzzle\Http\Curl\CurlMulti->processResponse(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Curl\CurlHandle), Array)
#9 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(240): Guzzle\Http\Curl\CurlMulti->processMessages()
#10 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(224): Guzzle\Http\Curl\CurlMulti->executeHandles()
#11 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMulti.php(111): Guzzle\Http\Curl\CurlMulti->perform()
#12 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Curl/CurlMultiProxy.php(94): Guzzle\Http\Curl\CurlMulti->send()
#13 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Client.php(284): Guzzle\Http\Curl\CurlMultiProxy->send()
#14 /var/www/lib/vendor/guzzle/http/Guzzle/Http/Message/Request.php(198): Guzzle\Http\Client->send(Object(Guzzle\Http\Message\EntityEnclosingRequest))
#15 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(189): Guzzle\Http\Message\Request->send()
#16 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"settings":{"n...')
#17 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('POST', '/sac-20150918-2...', Array, '{"settings":{"n...')
#18 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('POST', '/sac-20150918-2...', Array, Array)
#19 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(839): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#20 /var/www/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(369): Elasticsearch\Namespaces\IndicesNamespace->create(Array)
#21 /var/www/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(450): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->_prepareIndex()
#22 /var/www/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php(193): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->prepareNewIndex()
#23 /var/www/app/code/core/Mage/Index/Model/Process.php(212): Smile_ElasticSearch_Model_Indexer_Fulltext->reindexAll()
#24 /var/www/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#25 /var/www/shell/indexer.php(168): Mage_Index_Model_Process->reindexEverything()
#26 /var/www/shell/indexer.php(216): Mage_Shell_Compiler->run()
#27 {main}

Next exception 'Elasticsearch\Common\Exceptions\BadRequest400Exception' with message '{"error":"IndexCreationException[[sac-20150918-220533] failed to create index]; nested: ElasticsearchIllegalArgumentException[failed to find token filter type [phonetic] for [beidermorse_en]]; nested: NoClassSettingsException[Failed to load class setting [type] with value [phonetic]]; nested: ClassNotFoundException[org.elasticsearch.index.analysis.phonetic.PhoneticTokenFilterFactory]; ","status":400}' in /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php:266
Stack trace:
#0 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(194): Elasticsearch\Connections\GuzzleConnection->process4xxError(Object(Guzzle\Http\Message\EntityEnclosingRequest), Object(Guzzle\Http\Exception\ClientErrorResponseException), '{"settings":{"n...')
#1 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php(104): Elasticsearch\Connections\GuzzleConnection->sendRequest(Object(Guzzle\Http\Message\EntityEnclosingRequest), '{"settings":{"n...')
#2 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Transport.php(166): Elasticsearch\Connections\GuzzleConnection->performRequest('POST', '/sac-20150918-2...', Array, '{"settings":{"n...')
#3 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Endpoints/AbstractEndpoint.php(86): Elasticsearch\Transport->performRequest('POST', '/sac-20150918-2...', Array, Array)
#4 /var/www/lib/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Namespaces/IndicesNamespace.php(839): Elasticsearch\Endpoints\AbstractEndpoint->performRequest()
#5 /var/www/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(369): Elasticsearch\Namespaces\IndicesNamespace->create(Array)
#6 /var/www/app/code/community/Smile/ElasticSearch/Model/Resource/Engine/Elasticsearch/Index.php(450): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->_prepareIndex()
#7 /var/www/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php(193): Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch_Index->prepareNewIndex()
#8 /var/www/app/code/core/Mage/Index/Model/Process.php(212): Smile_ElasticSearch_Model_Indexer_Fulltext->reindexAll()
#9 /var/www/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#10 /var/www/shell/indexer.php(168): Mage_Index_Model_Process->reindexEverything()
#11 /var/www/shell/indexer.php(216): Mage_Shell_Compiler->run()
#12 {main}

Method called on non-object

( ! ) Fatal error: Call to a member function addFilter() on a non-object in app/code/community/Smile/VirtualCategories/Model/Resource/Catalog/VirtualCategory/Collection.php on line 90

Solution is to change the method to:
`
public function getQuery()
{
$query = false;
$engine = Mage::helper('catalogsearch')->getEngine();

    if ($engine instanceof Smile_ElasticSearch_Model_Resource_Engine_Elasticsearch) {
        $query = $engine->createQuery('product');
        $query->addFilter('terms', array('store_id' => $this->getProductStoreId()));
    }

    return $query;
}

`

It this language/locale related issue?

Hi, do you support Slovak language, locale sk_SK? Thanks.

{"error":"IndexCreationException[[wellnet-20160314-100307] failed to create index]; nested: ElasticsearchIllegalArgumentException[failed to build synonyms]; nested: ParseException[Invalid synonym rule at line 130]; nested: IllegalArgumentException[term: was completely eliminated by analyzer]; ","status":400}
Cannot initialize the indexer process.

reindexall.txt

wellnet.txt

is Smile_Tracker still alive ?

Hi,
according to #30 (comment), shall we understand that ES plugin "tracking-index" is no more available and Tracking functionality is deprecated / abandonned ?

Or where can I find this ES plugin ?

Thanks

Undefined indexes

In class Smile_ElasticSearch_Model_Catalog_Layer_Filter_Attribute

method _getFacetMaxSize
can result in Notice: undefined index "facets_max_size"

method _getFacetSortOrder
can result in Notice: undefined index "facets_sort_order"

Possible solution:
if(isset($attribute['facets_max_size'])){
return $attribute['facets_max_size'];
}

PHP Fatal error: Call to undefined method Mage_CatalogSearch_Model_Resource_Fulltext_Engine::getCurrentIndex()

Magento 1.9.2.1
Elastic Search 1.7
Smile Elastic Search 1.3.0

Every time i go to reindex in magento, i receive an Error 500 and in the log i read:

[25-Feb-2016 19:19:46 UTC] PHP Fatal error: Call to undefined method Mage_CatalogSearch_Model_Resource_Fulltext_Engine::getCurrentIndex() in /home/smpnail/public_html/magento/app/code/community/Smile/ElasticSearch/Model/Indexer/Fulltext.php on line 181

[25-Feb-2016 19:21:20 UTC] PHP Fatal error: Call to undefined method Mage_CatalogSearch_Model_Resource_Fulltext_Engine::getCurrentIndex() in /home/smpnail/public_html/magento/app/code/community/Smile/ElasticSearch/Model/Indexer/Search/Terms/Position.php on line 121

[25-Feb-2016 19:21:24 UTC] PHP Fatal error: Call to undefined method Mage_CatalogSearch_Model_Resource_Fulltext_Engine::getCurrentIndex() in /home/smpnail/public_html/magento/app/code/community/Smile/VirtualCategories/Model/Indexer/VirtualCategories/Product/Position.php on line 130

Smile_ElasticSearch dependancies

It seems like there is a Mage_Rating dependancy in this module because of the instantiation of "rating/rating_collection" in method _getDefaultRatingId of Smile_ElasticSearch_Model_Resource_Engine_Index class.

If Mage_Rating has been disabled an error occur during the index rebuild.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.