Quantcast
Viewing all 6894 articles
Browse latest View live

Loader exception in EPiServer.Find.UnifiedSearch.UnifiedSearchRegistryExtensions.ForInstanceOf(IUnifiedSearchRegistry registry)

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

SearchClient.Instance.Conventions.UnifiedSearchRegistry.ForInstanceOf<PageData>()

When I inspect the LoaderExceptions property I in the current case see that it can't find Microsoft.IdentityModel.Clients.ActiveDirectory 2.21.

In another project I had the same issue with a version of Microsoft.AspNet.WebApi.Cors and I have a couple of reports from workmates also running into the same error with different references.

Are we doing something run with nuget or is there something in Epis libraries that needs to be more forgiving?


Unable to update episerver find from 12.7.1 to 13.0.1 cause of nuget contraints.

Seems you have missed something in the nuget dependency since Find cant update cause of the constraints, see below. Is there a solution or do we need to uninstall and reinstall the nuget to make it work?

Severity    Code    Description    Project    File    Line    Suppression State
Error        Unable to resolve dependencies. 'EPiServer.Find 13.0.1' is not compatible with 'EPiServer.Find.Cms 13.0.1 constraint: EPiServer.Find (= 13.0.1)'. 

401 Exception When Indexing Site?

Hi all - 

I'm getting this error for every piece of content in my site that I try to index using Episerver Find's index job:

An exception occurred while indexing content [Link ###] [GUID ##############] [Type TYPE] [Name NAME]:
The remote server returned an error: (401) Unauthorized. Unauthorized (see log for more information)

  1. I triple-checked all my configs... they seem right, in fact I followed the directions here
  2. This site is using CMS + Commerce, and I installed the 3 NuGet packages listed here
  3. I've never indexed the site before - brand new installation / first time indexing

Has anyone else dealt with this?

Fragmented sorting issue

Hi, I have a strange problem ocuring when I try to use OrderBy for any given propery: The ordering is fragmented.

What I mean by that is if I OrderBy on number I get something like: 1, 2, 5, 6, 3, 4, 7, 8, 0 and then 6, 5, 2, 1, 8, 7, 4, 3, 0 for descending. It seams like the result is getting orderd by something else before ordering on the number, but I have triple-checked the request and there is only one sort object in the sort array.

query.OrderBy(arg => arg.Code);

Gives: 

    [0]: "22565423125"
    [1]: "22565423216"
    [2]: "22565423236"
    [3]: "22565423294"
    [4]: "22565423130"
    [5]: "22565423140"
    [6]: "22565423291"
    [7]: "22565423297"
    [8]: "22565423614"
    [9]: "22565423622"
    [10]: "22565423627"
    [11]: "22565423647"
    [12]: "22565423231"
    [13]: "22565423285"
    [14]: "22565423637"
    [15]: "22565423642"
    [16]: "22565423120"
    [17]: "22565423221"
    [18]: "22565423226"
    [19]: "22565423288"
    [20]: "22565423300"
    [21]: "22565423135"
    [22]: "22565423211"
    [23]: "22565423652"

And 

query.OrderByDescending(arg => arg.Code);

Gives: 

    [0]: "22565423236"
    [1]: "22565423216"
    [2]: "22565423125"
    [3]: "22565423115"
    [4]: "22565423647"
    [5]: "22565423627"
    [6]: "22565423622"
    [7]: "22565423614"
    [8]: "22565423297"
    [9]: "22565423291"
    [10]: "22565423140"
    [11]: "22565423130"
    [12]: "22565423642"
    [13]: "22565423637"
    [14]: "22565423285"
    [15]: "22565423231"
    [16]: "22565423300"
    [17]: "22565423288"
    [18]: "22565423226"
    [19]: "22565423221"
    [20]: "22565423120"
    [21]: "22565423652"
    [22]: "22565423632"
    [23]: "22565423135"

I have tried switching indexes and still the issue remains.

I'm using Episerver.Find 13.0.1.

Updating Episerver Find index with custom field values from related entities

Hi,

I have setup a catalog search using a Product entity and related Segment entities. So each product can have multiple Segments associated with it. The segment entitiy has a property called Applications that holds a list of string values and some other properties not relevant to this question. In order to search for Products based on the Segment.Applicaitons values I have added a computed property to Product that holds all values of the Applications property of all it's related Segments. So this is just an array of all string values of the related Segment.Applications field. The Product.Applications property just iterates over all related Segments and build a new array of the Segment.Applications. This is then added to the find index. And searching for a value from one of the applications arrayof a segment reults in a list of products as expected. so far so good. 

the search fnctionality is pretty strait forward. search for a string, get a list of products as a result, click on a produc to open the Preoduct Details Page that will show all properties and associated Segment information.

the Product.Applications property looks like this:

[Searchable]
[Tokenize]
public IEnumerable<string> Applications => this.GetApplications()

...

 public static IEnumerable<string> GetApplications(this IContent content)
{
List<string> result = new List<string>();

var associations = AssociationsRepository.Service.GetAssociations(content.ContentLink);

foreach (var association in associations)
{
if (association.Target.Get<Segment>() is Segment a)
{
result.AddRange(a.Application);
}
}

return result.Distinct();
}

So the issue if have is in updating the find index. Iwould expect that wen I change the value of the Segment.Applications, this will reflect on the Product.Applications value in the Episerver Find Index. This does not happen. Only when I run the  EPiServer Find Content Indexing Job the Product.Applications values are updated with the correct values.

My question is: Is there a way to update the Product.Applications values when the Segment.Applications is changed immediately and without running the EPiServer Find Content Indexing Job every time?

One thing to note is that the catalog is imported using the episerver xml import. and I tried to setup a convenition on the Product.Applicaitons field, but that diddn't help. something like:

ForInstancesOf<Product>().IncludeField(x => x.Applications);

thnx

Pierre

Summary property - where is it on a page?

In Find > Configure, what does the Summary property read on a page in Epi? Is it the Page description field on the SEO tab? 

In the Epi Find User Guide, it just describes the Summary property as "The introduction, summary, abstract, or similar property type." Is that the first paragraph of content on a page?

I'm using Epi as a content editor, not a developer, so the simpler the response, the better for me :)

Find Demo Site not running

EPI Find Tab- Keep asking credetials

Hi,

Uisng CMS 10 and Find 9. When trying to accessing FIND Tab, it keep sasking credetials.

This issue come suddenly. After checking that some how my account is not showing memeber of  Administartors group. But on VM I am the local admin.

Please suggeste.

Best Regards,

Abhishek


Connector crawl only pulls 1 document

We have connector set up to crawl one of our company sites. We verified this site does not dis-allow ( via robots.txt) any such crawls. But the crawl returns only one docuement where it should be pulling many. How do we troubleshoot this? 

EPiServer find 13.0.1 not indexing linkitemcollection property

I tried to index the linkitemcollection property in episerver find 13.0.1 and episerver.cms.core 11.4.0 , episerver.commerce 12.0.0.

I have cleaned the index and reindex the pages.

Episerver Find and ServiceApi Conflict

Hi everyone,

I'm using episerver find and I just add ServiceApi to the project. Since then UnifiedSearch stops working. I've compared the requests , and the only difference is that whenever I have serviceapi in my project, in the fillter I have following term in filter

{"term": {"UsersWithReadAccess$$string.lowercase": ""
}
},
{"terms": {"RolesWithReadAccess$$string": []
}
}

and it should be like following to work:

{"term": {"UsersWithReadAccess$$string.lowercase": "msh"
    }
},
{"terms": {"RolesWithReadAccess$$string": ["WebAdmins","Administrators","Everyone","Authenticated","CmsAdmins","PackagingAdmins"
        ]
    }
}

Does anyone have any Idea how to fix this?

UsingSynonyms doesn't work

UsingSynonyms doesnt work. Returns 0 results. Anything wrong with my syntax? I have tried appplying UsingSynonyms at the end of my query as well, same result.

We are not using Unifiedsearch by the way. We are searching for a specified <MyType>.

The query also adds in Boostmatching and Facets.

Version: 12.2.0

query = query.For(searchTerm, q =>
                {
                    q.Query = searchTerm;
                }).UsingSynonyms()
                    .InField(x => x.ItemName)
                    .AndInField(x => x.Code)
                    .AndInField(x => x.ParentCategoryNames)
                    .AndInField(x => x.ItemTradeMarkName)
                    .AndInField(x => x.ItemPrimaryVendorId)
                    .AndInField(x => x.ItemPc1VendorsitemId)
                    .AndInField(x => x.ItemEOProducer)
                    //.AndInField(x => x.ItemIngredience) //kommentert ut; SG-3276
                    .AndInField(x => x.ItemPc2AdvertisingText);
                if (trackSearchTerm)
                {
                    query = query.Track();
                }

The UnifiedSearchHit.MetaData property doesn't get included in search results

Pardon my newbishness regarding Find Image may be NSFW.
Clik here to view.
embarassed
 I'm trying to wrap my head around the unified search and doing the one step forward - two steps back dance.

I have a generic .NET class that gets indexed. I have some properites in the class I need to present in the search result and went with the MetaData property on the UnifiedSearchHit class. Problem is it doesn't seem to be returned with the search hits.

My class looks like the example below and the MetaData property is indexed propely. HitTypeName does get included in the search hits but MetaData doesn't.

public class MyVanillaDotNetClass
{
	// Other properties...
	public virtual string HitTypeName => FacetTypes.SteeringDocument.ToString();
	public virtual IDictionary<string, IndexValue> MetaData
	{
		get
		{
			var dictionary = new Dictionary<string, IndexValue>
			{
				{"owner", Owner},
				{"...", ...}
			};
			return dictionary;
		}
	}
}

I've tried messing with the Find initialization both adding ProjectMetaDataFrom as well as IncludeField, though I presume IncludeField only works for typed searches,

SearchClient.Instance.Conventions.UnifiedSearchRegistry.ForInstanceOf()
	.ProjectMetaDataFrom(d => d.MetaData);

Any suggesions for how I can include the extra properties in the search result would be greatly appreciated.

Thank you 

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

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]

Support for Newtonsoft.Json 11 in Find

Tried to upgrade to the latest version of Newtonsoft.Json today and did not succed since there is not support for it in Find.

The strange thing is that there are different dependency in the different Find-packages:

EPiServer Find Client API.13.0.1
Newtonsoft.Json (≥ 10.0.3 && < 11.0.0)

EPiServer Find CMS Integration.13.0.1
Newtonsoft.Json (≥ 10.0.3)

EPiServer Find Framework Integration.13.0.1
Newtonsoft.Json (≥ 10.0.3)

When will all three packages be updated?


Support for Newtonsoft.Json 11 in Find

Tried to upgrade to the latest version of Newtonsoft.Json today and did not succed since there is not support for it in Find.

The strange thing is that there are different dependency in the different Find-packages:

EPiServer Find Client API.13.0.1
Newtonsoft.Json (≥ 10.0.3 && < 11.0.0)

EPiServer Find CMS Integration.13.0.1
Newtonsoft.Json (≥ 10.0.3)

EPiServer Find Framework Integration.13.0.1
Newtonsoft.Json (≥ 10.0.3)

When will all three packages be updated?

Stacking searchClient getResult() result sets

Is there a way to have two searchClient result sets "stacked" or "concatenated" such that the first set preceeds ( in order ) the 2nd set?

For example we a result set of Dogs and one of Cats and we would like the Dogs (resultsDogs ) to appear infront of Cats (resultsCats) .

For example:

public ActionResult Index(SearchPage currentPage, string q = "", int p = 0)
{
            var model = new SearchPageViewModel(currentPage)
            {
                SearchQuery = q,
                PageIndex = p
            };
            if (q.HasValue())
            {
                var resultsDogs = this.searchClient
                    .UnifiedSearchFor(q, Language.English)
                    .Track()
                    .ApplyBestBets()
                    .Skip(p * model.PageWeight)
                    .Take(model.PageWeight)
                    .OrderBy(x => x.SearchSection.HasValue())
                    .Filter(x => x.SearchSection.Match("Dogs"))
                    .GetResult();

                var resultsCats = this.searchClient
                    .UnifiedSearchFor(q, Language.English)
                    .Track()
                    .ApplyBestBets()
                    .Skip(p * model.PageWeight)
                    .Take(model.PageWeight)
                    .OrderBy(x => x.SearchSection.HasValue())
                    .Filter(x => x.SearchSection.Match("Cats"))
                    .GetResult();
            }
            
            model.Results = [resultsDogs plus resultsCats];  // can this be accomplished?
            return View(model);
}

Terms Facet wrong count when Filter is used

Hi!

I am working with Epi Find on an Epi 6 R2 site and I'm having an issue with terms facets.

My problem is that the Count property of TermsFacet objects show the total amount of this facet BEFORE filters.

Example:

var result = SearchClient.Instance.UnifiedSearchFor("foo");
                 .FilterHits(x => x.SearchTitle.MatchCaseInsensitive("testpage"));

                 .TermsFacetFor(x => x.SearchTypeName)

                 .GetResult();

var typeFacets = result.TermsFacetFor(x => x.SearchTypeName);

The typeFacets Count property here wont take into acount the filtering with FilterHits, meaning if I take away that row the counts for the typeFacets objects will still be the same.

So if the total hits for "foo" is 100, but after filtering on "testpage" only has 1 result, a facet for SearchTypeName might still have Count 90.

Any ideas?






Facets with 0 Count

Hi All, 

I am using Episerver Find and want to show all Facets, including those with a 0 count. 

I have tried using the AllTerms = true although this seems to limit the number of Facets Items to 10. When using Size = x option when filtering the Facets seems to get filtered out. I cant use AllTerms and Size togeather. 

FilterHits has no effect on the Facets. 

What I am ideally looking for is a way to use AllTerms and Size togeather


Thanks

Minesh 

TotalMatching shows 0

Hi!

I am new to Find, and I have recently taken over a solution based on Find. We are experiencing a problem with a counter, that works on and off.

 IContentResult<T> result = _findClient.Search<T>(Language.Norwegian)
                .ApplyQueriedSearch(query)
                .FilterByAncestor(rootContentLink)
                .FilterByCategories(categories, categoryMatchOperator)
                .FilterForVisitor()
                .Take(1)
                .StaticallyCacheFor(TimeSpan.FromMinutes(5))
                .GetContentResult();
            return result.TotalMatching;

The property "TotalMatching" shows either correct number, or 0, on and off. The indexing job goes every 2nd hour.

Does anyone have a clue what might be wrong?

Viewing all 6894 articles
Browse latest View live