SaaS CMS has officially launched! Learn more now.

Episerver Commerce - Markets are removed from index when product/variant are published from GUI

Vote:
 

Hi!

We are using this query:

var result = query
                .FilterOnCurrentMarket()
                .FilterForVisitor(currentContent.LanguageBranch())
                .Skip((formModel.Page - 1) * pageSize)
                .Take(pageSize)
                .ApplyBestBets()
                .StaticallyCacheFor(TimeSpan.FromMinutes(10))
                .GetContentResult();

Works perfect on a new built index running the EPiServer Find Content Indexing Job 

In the index I find this:

"Markets": [
        {
            "Value$$string": "BASE",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "DA",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "DE",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "DEFAULT",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "EN",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "ES",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "FI",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "FR",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "KO",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "NL",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "NO",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "PL",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        },
        {
            "Value$$string": "SV",
            "$type": "Mediachase.Commerce.MarketId, Mediachase.Commerce"
        }
    ],

So the FilterOnCurrentMarket works perfect.

If I add a category on a product/variant from Episerver GUI all items in the added category are pushed to the index without the "Markets" data.
This makes the category listing on our site all empty, nothing is returned.

Removing both these filters:

.FilterOnCurrentMarket()
.FilterForVisitor(currentContent.LanguageBranch())

Makes the product list work just fine again. And I have to remove both. Keeping either one of them makes the list empty.
For some reason the Markets (and other info) are not pushed to the index when triggered by a publish in the Episerver GUI.

This is really urgent because category listings are suddenly all empty. 
I cannot see this as anything other than a bug since the "Markets" data are published when the indexing job is run.

/Kristoffer

[Commerce 11.2.6]
[Episerver.Find.Commercer 10.0.1]

#184670
Nov 01, 2017 23:49
Vote:
 

Hi Kristoffer,

Thanks for your info. We're working on it now.

/ Viet Anh

#184677
Nov 02, 2017 8:59
Vote:
 

Thanks!

Another question. Does the products and variations get pushed to the index if I only change tha categories?
For me, it looks like I have to publish the product/variant for the item to get pushed to the index.

/Kristoffer

#184688
Nov 02, 2017 10:58
Vote:
 

Hi Kristoffer

Regarding to " Episerver GUI", do you mean the new Commerce UI or "Commerce Manager"? EPiServer.Find.Cms should not be installed on Commerce Manager site.

Regarding to the API calls, I found that FilterForVisitor call FilterOnCurrentMarket. That's why you had to remove both (no call to FilterOnCurrentMarket anymore). There's something in FilterOnCurrentMarket()

/Viet Anh

#184694
Nov 02, 2017 11:18
Vote:
 

Yes, in the new Commerce UI. I change a category but nothing gets pushed to the index before I publish.

#184695
Nov 02, 2017 11:21
Vote:
 

By the way! I don't think there is something wrong with the filter. As long as "Markets" are in the index it works fine. When I publish the "Markets" disapears from the index and therefor the filter removes the product/variant.

/Kristoffer

#184696
Nov 02, 2017 11:26
Vote:
 

Hi,

I couldn't reproduce the issue. I changed product/variant category then publish (both product/variant and category). Observe that product/variant is indexed with Market data.

Did I miss something? Can you please give more detail about how to reproduce?

/Viet Anh

#184815
Nov 06, 2017 3:34
Vote:
 

Me neither... We upgraded to 11.3 and the latest Commerce/Find plugin and at first it looked like the problem still was there but I just tried to reproduce and I cannot do that?
Has anything changed regarding indexing maybe in the laterst versions?

/Kristoffer

#184983
Nov 07, 2017 22:31
Vote:
 

Hi,

We have the exact same issue. Any solution on this yet?

because I really think this is related to either the find related packages or version we use provided by episerver or it is in the find index itself.

Behaviour we see, is that we have deployed two identical versions of our software to two "identical" Episerver DXC environments. both are test environments provided by episerver. ADE1 and INTE 

On the first environment (ADE1) the market information is added to the find index and the FilterOnMarket is working correctly.

After we deployed the same software to the second test environment (INTE) we noticed the search was not working. After investigating the issue we saw the market information is not added to the index.

We compared the environment settings in episerver and manager and they are identical. Market settings are the same. 

A difference we see is the number of items in the catalog we index. the INTE env has more items indexed that the ade1 does, but I do not see this as a reason this market information is not indexed.

I think there is a configuration difference on episerver DXC side that could be the cause of this.

Hope someone has a solution because we are trying to figure this out with episerver support desk aswell, but they also don't know yet.

cheers,

Pierre

#192449
May 17, 2018 7:06
Vote:
 

Hi Pierre!

What version of Commerce are you running?

/Kristoffer

#192453
May 17, 2018 8:23
Vote:
 

Hi Kristoffer,

We use the latest 10 version of EpiServer and latest commerce that is compatible with that version.

so that is

Episerver: CMS version 10.10.4 and commerce version 11.4.1

Find:  cms 12.6.1 and commerce 10.0.1

<package id="EPiServer.Azure" version="9.3.2" targetFramework="net461" />
<package id="EPiServer.CMS" version="10.10.4" targetFramework="net461" />
<package id="EPiServer.CMS.Core" version="10.10.4" targetFramework="net461" />
<package id="EPiServer.CMS.UI" version="10.12.2" targetFramework="net461" />
<package id="EPiServer.CMS.UI.AspNetIdentity" version="10.12.2" targetFramework="net461" />
<package id="EPiServer.CMS.UI.Core" version="10.12.2" targetFramework="net461" />
<package id="EPiServer.Commerce" version="11.4.1" targetFramework="net461" />
<package id="EPiServer.Commerce.Azure" version="11.4.1" targetFramework="net461" />
<package id="EPiServer.Commerce.Core" version="11.4.1" targetFramework="net461" />
<package id="EPiServer.Commerce.UI" version="11.4.1" targetFramework="net461" />
<package id="EPiServer.Commerce.UI.ManagerIntegration" version="11.4.1" targetFramework="net461" />
<package id="EPiServer.Find" version="12.6.1" targetFramework="net461" />
<package id="EPiServer.Find.Cms" version="12.6.1" targetFramework="net461" />
<package id="EPiServer.Find.Commerce" version="10.0.1" targetFramework="net461" />
<package id="EPiServer.Find.Framework" version="12.6.1" targetFramework="net461" />
<package id="EPiServer.Forms" version="4.8.0" targetFramework="net461" />
<package id="EPiServer.Forms.Core" version="4.8.0" targetFramework="net461" />
<package id="EPiServer.Forms.UI" version="4.8.0" targetFramework="net461" />
<package id="EPiServer.Framework" version="10.10.4" targetFramework="net461" />
<package id="EPiServer.Labs.LanguageManager" version="3.0.3" targetFramework="net461" />
<package id="EPiServer.Logging.Log4Net" version="2.1.0" targetFramework="net461" />
<package id="EPiServer.Packaging" version="3.3.0" targetFramework="net461" />
<package id="EPiServer.Packaging.UI" version="3.3.0" targetFramework="net461" />

Cheers,

Pierre

#192461
May 17, 2018 10:20
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.