Smile-SA / smile-magento-elasticsearch

Magento ElasticSearch Implementation
151 stars 90 forks source link

Unable to Index #108

Open roshanjonah opened 7 years ago

roshanjonah commented 7 years ago

When trying to index...it says the following: Next Elasticsearch\Common\Exceptions\BadRequest400Exception: {"error":{"root_cause":[{"type":"index_creation_exception","reason":"failed to create index"}],"type":"illegal_argument_exception","reason":"failed to build synonyms","caused_by":{"type":"parse_exception","reason":"Invalid synonym rule at line 461","caused_by":{"type":"illegal_argument_exception","reason":"term: was completely eliminated by analyzer"}}},"status":400}

Catalog Search Index index process unknown error: Guzzle\Http\Exception\ClientErrorResponseException: Client error response [status code] 400 [reason phrase] Bad Request

Search Terms products positions Indexer index process unknown error: Guzzle\Http\Exception\ClientErrorResponseException: Client error response [status code] 404 [reason phrase] Not Found

Next Elasticsearch\Common\Exceptions\Missing404Exception: {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"yc1magento-20170501-003553","index":"yc1magento-20170501-003553"}],"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":

There are a number of those errors. The elastic search is functioning (v2.1). Everything else seem to be in place. I am not sure what exactly is wrong here.

Quazz commented 7 years ago

This module uses v1.5, 2.1 has different syntax I believe.

roshanjonah commented 7 years ago

I managed to get it going but now it says...

"{"error":"IndexCreationException[[yctest-20170508-124214] failed to create index]; nested: ElasticsearchIllegalArgumentException[failed to build synonyms]; nested: ParseException[Invalid synonym rule at line 460]; nested: IllegalArgumentException[term: was completely eliminated by analyzer]; ","status":400}"

It comes up when trying to reindex catalog.

bhatpawan commented 7 years ago

while indexing in magento 1.9 gets below error No handler found for uri [/magento114-20170511-122837] and method [POST] There was a problem with reindexing process.

romainruaud commented 7 years ago

Hello @roshanjonah and sorry for the delayed response.

Did you managed to get it working ? You may have a synonym rule (visible via the "Catalog > Search Engine > Search Terms" menu) which is not working. Please let me know which rule you had defined.

But @Quazz is right, this extension only supports ES 1.X (1.5 or 1.7). So please consider using it instead of 2.1.

Regards,

rbayet commented 7 years ago

Hi, @romainruaud,

I can somehow reproduce the error with ES 1.7.6 {"error":"IndexCreationException[[magento-20170901-150912] failed to create index]; nested: ElasticsearchIllegalArgumentException[failed to build synonyms]; nested: ParseException[Invalid synonym rule at line 2307]; nested: IllegalArgumentException[term: was completely eliminated by analyzer]; ","status":400}

But bear in mind that : it's on a EE 1.10 (not officially supported), I'm still having some problem with the phonetic analyzer (hence my move from ES 1.5 to ES 1.7 in the install script). The ES server is a Debian wheezy.

Regards,

rbayet commented 7 years ago

Hi, @romainruaud, a small follow up.

The error described above and encountered by @roshanjonah is probably either linked to an internal ES limit on the size/number of possible synonyms or to an invalid synonym expression of the form "termA => termA," On my environment, up to 4992 synonyms expressions were built, due to the fact that \Smile_ElasticSearch_Model_Resource_CatalogSearch_Synonym_Collection::exportSynonymList only applies a "notnull" filter on synonym_for column.

Errors reported in the ES log

Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: failed to build synonyms
    at org.elasticsearch.index.analysis.SynonymTokenFilterFactory.<init>(SynonymTokenFilterFactory.java:109)
[...]
Caused by: java.text.ParseException: Invalid synonym rule at line 2307
    at org.apache.lucene.analysis.synonym.SolrSynonymParser.parse(SolrSynonymParser.java:72)
    at org.elasticsearch.index.analysis.SynonymTokenFilterFactory.<init>(SynonymTokenFilterFactory.java:104)
    ... 59 more
Caused by: java.lang.IllegalArgumentException: term:  was completely eliminated by analyzer
    at org.apache.lucene.analysis.synonym.SynonymMap$Parser.analyze(SynonymMap.java:338)
    at org.apache.lucene.analysis.synonym.SolrSynonymParser.addInternal(SolrSynonymParser.java:99)
    at org.apache.lucene.analysis.synonym.SolrSynonymParser.parse(SolrSynonymParser.java:70)
    ... 60 more

Adding a "!= ''" (empty string) reduced the synonyms expressions count to a more reasonable hundred, and the error disappeared.

Maybe @roshanjonah can confirm.

Cheers,

ofonimefrancis commented 6 years ago

Is this fixed, because i am having similar issue? [Elasticsearch\Common\Exceptions\BadRequest400Exception]
index_creation_exception: failed to create index

[Elasticsearch\Common\Exceptions\BadRequest400Exception]
{"error":{"root_cause":[{"type":"index_creation_exception","reason":"failed
to create index"}],"type":"illegal_argument_exception","reason":"Unknown T
okenFilter type [phonetic] for [phonetic]"},"status":400}

AminMkh commented 6 years ago

I just ran into this issue and I realized I didn't go through Elasticsearch plugin's installation:

bin/elasticsearch-plugin install analysis-phonetic
bin/elasticsearch-plugin install analysis-icu

Here: https://github.com/Smile-SA/elasticsuite/wiki/ServerConfig-5.x#installing-required-plugins