Quantcast
Channel: Optimizely Search & Navigation
Viewing all 6894 articles
Browse latest View live

Updating from Episerver Find 13.0.3 to 13.0.4 fails because of create table tblFindIndexQueue statement

$
0
0

So was updating an existing Episerver CMS project which was using Episerver Find 13.0.3 but the update script for 13.0.4 (EPiServer.Find.Cms) fails because it tries to create the table tblFindIndexQueue but it already exists. Going to create a support ticket about this.

Initialize action failed for Initialize on class EPiServer.Data.DataInitialization, EPiServer.Data, Version=11.10.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7
   at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()
   at EPiServer.Framework.Initialization.InitializationEngine.ExecuteTransition(Boolean continueTransitions)
   at EPiServer.Framework.Initialization.InitializationEngine.Initialize()
   at EPiServer.Framework.Initialization.InitializationModule.<>c.<FrameworkInitialization>b__7_0(InitializationEngine e)
   at EPiServer.Framework.Initialization.InitializationModule.EngineExecute(HostType hostType, Action`1 engineAction)
   at EPiServer.Framework.Initialization.InitializationModule.FrameworkInitialization(HostType hostType)
   at EPiServer.Global..ctor()
   at [REMOVED].EPiServerApplication..ctor()
   at ASP.global_asax..ctor()
Failed to update database during execution of statement 'CREATE TABLE [dbo].[tblFindIndexQueue](
	[Action] [smallint] NOT NULL,
	[Cascade] [bit] NOT NULL,
	[EnableLanguageFilter] [bit] NOT NULL,
	[Item] [nvarchar](255) NOT NULL,
	[Language] [nvarchar](255) NULL,
	[TimeStamp] [datetime] NOT NULL,
	[Hash] [int] NULL
) ON [PRIMARY]'
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass5_0.<ExecuteScript>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass33_0`1.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.Internal.NoRetriesPolicy.Execute[TResult](Func`1 method)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction[TResult](Func`1 action)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.ExecuteScript(IDatabaseExecutor databaseHandler, StreamReader stream)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass2_0.<ExecuteScripts>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass32_0.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass33_0`1.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction[TResult](Func`1 action)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction(Action action)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.ExecuteScripts(IDatabaseExecutor databaseHandler, IEnumerable`1 streams)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation.ExecuteEmbeddedZippedScripts(String connectionString, Assembly assembly, String resourcePath)
   at EPiServer.Find.Cms.FindDatabaseSchemaUpdater.Update(ConnectionStringSettings connectionStringSettings)
   at EPiServer.Data.SchemaUpdates.Internal.SchemaUpdaterWrapper.Update(ConnectionStringOptions ConnectionStringOption)
   at EPiServer.Data.SchemaUpdates.Internal.DatabaseSchemaManagerImplementation.EnsureDatabaseSchema(DataAccessOptions dataAccessOptions)
   at EPiServer.Data.DataInitialization.ValidateDatabaseSchema(InitializationEngine context)
   at EPiServer.Data.DataInitialization.Initialize(InitializationEngine context)
   at EPiServer.Framework.Initialization.Internal.ModuleNode.<>c__DisplayClass2_0.<Initialize>b__0()
   at EPiServer.Framework.Initialization.Internal.ModuleNode.Execute(Action a, String key)
   at EPiServer.Framework.Initialization.Internal.ModuleNode.Initialize(InitializationEngine context)
   at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()
There is already an object named 'tblFindIndexQueue' in the database.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass5_0.<ExecuteScript>b__0()

Find database version check statement returns: 12.4.2

Debug from script execution:

2018-10-09 07:20:39,150 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation: Execute Script: ''1.0.1.sql', 'EPiServer.Find.Cms, Version=13.0.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7', 'EPiServer.Find.Cms.Resources.FindSqlUpdateScripts.zip''
2018-10-09 07:20:39,207 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl: Script validation: 0 - Already correct database version
2018-10-09 07:20:39,208 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation: Execute Script: ''12.2.8.sql', 'EPiServer.Find.Cms, Version=13.0.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7', 'EPiServer.Find.Cms.Resources.FindSqlUpdateScripts.zip''
2018-10-09 07:20:39,223 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl: Script validation: 1 - Upgrading database

So the script 12.2.8 doesn't check for the table existance but just tries to create it.


Updating from Episerver Find 13.0.3 to 13.0.4 fails because of create table tblFindIndexQueue statement

$
0
0

So was updating an existing Episerver CMS project which was using Episerver Find 13.0.3 but the update script for 13.0.4 (EPiServer.Find.Cms) fails because it tries to create the table tblFindIndexQueue but it already exists. Going to create a support ticket about this.

Initialize action failed for Initialize on class EPiServer.Data.DataInitialization, EPiServer.Data, Version=11.10.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7
   at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()
   at EPiServer.Framework.Initialization.InitializationEngine.ExecuteTransition(Boolean continueTransitions)
   at EPiServer.Framework.Initialization.InitializationEngine.Initialize()
   at EPiServer.Framework.Initialization.InitializationModule.<>c.<FrameworkInitialization>b__7_0(InitializationEngine e)
   at EPiServer.Framework.Initialization.InitializationModule.EngineExecute(HostType hostType, Action`1 engineAction)
   at EPiServer.Framework.Initialization.InitializationModule.FrameworkInitialization(HostType hostType)
   at EPiServer.Global..ctor()
   at [REMOVED].EPiServerApplication..ctor()
   at ASP.global_asax..ctor()
Failed to update database during execution of statement 'CREATE TABLE [dbo].[tblFindIndexQueue](
	[Action] [smallint] NOT NULL,
	[Cascade] [bit] NOT NULL,
	[EnableLanguageFilter] [bit] NOT NULL,
	[Item] [nvarchar](255) NOT NULL,
	[Language] [nvarchar](255) NULL,
	[TimeStamp] [datetime] NOT NULL,
	[Hash] [int] NULL
) ON [PRIMARY]'
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass5_0.<ExecuteScript>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass33_0`1.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.Internal.NoRetriesPolicy.Execute[TResult](Func`1 method)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction[TResult](Func`1 action)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.ExecuteScript(IDatabaseExecutor databaseHandler, StreamReader stream)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass2_0.<ExecuteScripts>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass32_0.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.<>c__DisplayClass33_0`1.<ExecuteTransaction>b__0()
   at EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction[TResult](Func`1 action)
   at EPiServer.Data.Providers.Internal.SqlDatabaseExecutor.ExecuteTransaction(Action action)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.ExecuteScripts(IDatabaseExecutor databaseHandler, IEnumerable`1 streams)
   at EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation.ExecuteEmbeddedZippedScripts(String connectionString, Assembly assembly, String resourcePath)
   at EPiServer.Find.Cms.FindDatabaseSchemaUpdater.Update(ConnectionStringSettings connectionStringSettings)
   at EPiServer.Data.SchemaUpdates.Internal.SchemaUpdaterWrapper.Update(ConnectionStringOptions ConnectionStringOption)
   at EPiServer.Data.SchemaUpdates.Internal.DatabaseSchemaManagerImplementation.EnsureDatabaseSchema(DataAccessOptions dataAccessOptions)
   at EPiServer.Data.DataInitialization.ValidateDatabaseSchema(InitializationEngine context)
   at EPiServer.Data.DataInitialization.Initialize(InitializationEngine context)
   at EPiServer.Framework.Initialization.Internal.ModuleNode.<>c__DisplayClass2_0.<Initialize>b__0()
   at EPiServer.Framework.Initialization.Internal.ModuleNode.Execute(Action a, String key)
   at EPiServer.Framework.Initialization.Internal.ModuleNode.Initialize(InitializationEngine context)
   at EPiServer.Framework.Initialization.InitializationEngine.InitializeModules()
There is already an object named 'tblFindIndexQueue' in the database.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl.<>c__DisplayClass5_0.<ExecuteScript>b__0()

Find database version check statement returns: 12.4.2

Debug from script execution:

2018-10-09 07:20:39,150 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation: Execute Script: ''1.0.1.sql', 'EPiServer.Find.Cms, Version=13.0.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7', 'EPiServer.Find.Cms.Resources.FindSqlUpdateScripts.zip''
2018-10-09 07:20:39,207 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl: Script validation: 0 - Already correct database version
2018-10-09 07:20:39,208 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptExecutorImplementation: Execute Script: ''12.2.8.sql', 'EPiServer.Find.Cms, Version=13.0.4.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7', 'EPiServer.Find.Cms.Resources.FindSqlUpdateScripts.zip''
2018-10-09 07:20:39,223 [1] DEBUG EPiServer.Data.SchemaUpdates.Internal.ScriptRunnerImpl: Script validation: 1 - Upgrading database

So the script 12.2.8 doesn't check for the table existance but just tries to create it.

Anti-synonyms functionality

$
0
0

Do you know if there is any functionality that will do the things that are opposite the existing Synonyms functionality?

For instance, I am searching for "Adidas" and don't want "Adidaas" to appear in my search results.

Indexing custom data with language support - EPiServer Find v13

$
0
0

Hi Everyone, 

I'm looking for some advice on an issue I'm facing please.

I am in the middle of writing MultiUnifiedSearch that searches over 3 different categories of content currently - Content | Products | Support

For two of these tabs ('Products' and 'Support') I am actually searching for the same content type in Find to display the results - both display ProductContent in their results - the only difference being that for the 'Products' results we display the ProductContent type as a product (with shop link, pricing info etc), and the ProductContent in the 'Support' search is displayed as an article, with a different link, description text and even title. 

The reason I'm in this situation is because I am displaying support information for each product, off of a separate action on the product controller - removing the need for editors to create a separate CMS page for support data.

I have looked into potentially hooking into the on save event of the products, and creating a custom object based off of the product data, and then indexing that  in Find - with the aim to then search for that as part of the 'Support' search, but I can't see how I can get this to work with language support. 

Can anyone provide any further details on how I could achieve this, or provide an alternative approach perhaps? 

Thanks,

Paul 

Why does my Unified Search does not return some content?

$
0
0

I have several content types which inherit from a base class 'ProductBase' which in turn derives from PageData.

In my find initialization module, I call:

SearchClient.Instance.Conventions.UnifiedSearchRegistry.Add<ProductBase>();

But when I perform a UnifiedSearch, I get no results, even though I can see the items in the index, and the results come back correctly for a typed search.

var us1 = SearchClient.Instance.UnifiedSearch().For("sable").GetResult();
var ss1 = SearchClient.Instance.Search<ProductBase>().For("sable").GetContentResult();

us1 = 0 hits, ss1 = 6 hits.

Unified search is generally working correctly - other pages come back depending on the query, but just not product content for some reason.

Examining the find index, I can see the SearchTitle and SearchText field on the content type both contain content, but they just aren't getting picked up.

What can I do to try to determine why the results are not coming back? What content gets filtered out of unified searches by default, if any?

Thanks!

FIND-3565

FIND-3596

$
0
0

This sorting issue(FIND-3596) is quite anoying for us, what exact version will fix this?

As it now states that its fixed, but does not specify what version includes fix.

Filter on class property type having issues

$
0
0

Hi,

I am facing issue while applying filter to episerver find.

I want to filter results based on condition that items found should be based on Document Class Property "HideDocumentInSearchResults" Value True/False.

If True should filter out from results, if False should be there in results.

My code is as below:

private string theQuery; //it is set as "08132.pdf"

private FilterBuilder BuildTypeFilters(string facet)
{
var filter = this.client.BuildFilter();

filter = filter.And(y => y.MatchTypeHierarchy(typeof(SiteBasePageData)) | y.MatchType(typeof(SiteBasePageData)));
filter = filter.Or(y => y.MatchTypeHierarchy(typeof(Document)) | y.MatchType(typeof(Document)));

filter = filter.And(q => !((SiteBasePageData)q).HideInSearchResult.Match(true)); //this works fine

filter = filter.And(q => !((Document)q).Name.Match("08132.pdf")); //this works fine

filter = filter.And(q => !((Document)q).HideDocumentInSearchResults.Match(true)); //this fails


return filter;
}

private IContentResult GetResult(int take = 10, int skip = 0) where T : class, IContent
{

this.theQuery = query;

var result = this.client.Search(Language.Swedish).For(this.theQuery)
.UsingSynonyms()
.InField(x => x.SearchTitle())
.InField(x => x.SearchText())
.InAllField()
.ApplyBestBets()
.CurrentlyPublished()
.PublishedInCurrentLanguage()
.Filter(this.typefilter)
.Filter(this.wherefilter)
.FilterForVisitor()
.ExcludeDeleted()
.Track()
.Skip(skip)
.Take(take)
.FilterFacet("document", x => x.MatchTypeHierarchy(typeof(Document)) | x.MatchType(typeof(Document)))
.FilterFacet("news", x => x.MatchTypeHierarchy(typeof(NewsPageType)) | x.MatchType(typeof(NewsPageType)))
.StaticallyCacheFor(new TimeSpan(0, 0, 0,CacheSeconds))
.GetContentResult(CacheSeconds)
;


return result;

}

Thanks.

BR/Rajesh K


EPISearch v/s EPIFind

$
0
0
Hi, I would like to know what is the difference between EPISearch and EPIFind? The pros and the cons. If I have component based model which of the two could be used? and Why? Thank you in advance.

Crawling engine needs it's own index?

$
0
0

Hello

I tried to dig thru the documentation, but I couldn't find any information about the Crawling engine in EPiServer find. What we need to know is if we for example have a site that have both normal Episerver content but also want to crawl lets say 2 more sites for content. Can we then include all the content into one index? Or is one crawled websites = one index? And then we need to search in several indexes? I sort of assumed that we could crawl how many websites we want and then just bundle everything into one index.

Please enlighten me! :)

catalog indexing speed

$
0
0

Hello,

We have an index of about 500,000 items, when clearing the index and running the find indexing job, the CMS indexes in less than an hour, but it takes 3-5 days to finish indexing the catalog (which has about 80% of the index size due to the large number of languages we have).

Does anyone have any tips on how to make the site index faster?

Part of the reason this is an issue is because so many find events dont reach the index (intermittent publishes/deletes/new content items) so over the cource of a few months, the index becomes less actual.

Cheers!

Versions:

<packageid="EPiServer.Find"version="12.5.3"targetFramework="net46" />
<packageid="EPiServer.Find.Cms"version="12.5.3"targetFramework="net46" />
<packageid="EPiServer.Find.Commerce"version="10.0.0"targetFramework="net46" />
<packageid="EPiServer.Find.Framework"version="12.5.3"targetFramework="net46" />
<packageid="EPiServer.CMS"version="10.10.3"targetFramework="net46" />
<packageid="EPiServer.Commerce"version="11.2.3"targetFramework="net46" />

bestbets Not working.

$
0
0

Hi,

I am working with EPiserver 11.

While applying bestbets to website, I am getting error. please find error details below.

Unable to load /Find/api/bestbets/ status: 500

"{"Message":"An error has occurred.","ExceptionMessage":"PageReference: Input string was not in a correct format.","ExceptionType":"EPiServer.Core.EPiServerException","StackTrace":" at EPiServer.Core.PageReference.Parse(String s)\r\n at EPiServer.Find.Cms.PageBestBetSelector.Parse(String input, String language)\r\n at EPiServer.Find.UI.BestBetManager.GetBestBetSelector(String targetKey, String targetTypeName, String language)\r\n at EPiServer.Find.UI.BestBetManager.Create(String id, BestBetModel model)\r\n at EPiServer.Find.UI.Controllers.BestBetsController.Put(String id, BestBetModel input)"}"

Thank you,

Amol

How to get GetDidYouMean results for multiple site ids select in site settings

$
0
0

Hi when I have only one site Id as tags in the list I get correct suggestion result.

But as an example shown below, I am trying to pass mutliple site ids and get their corresponding didyoumean results combined. This is not working 

DidYouMeanResult didyouMean = searchClient.Statistics().GetDidYouMean(queryString, x =>
{
x.Size = 10;
x.Tags = new List { "siteid:3b22a323-013b-497f-aa43-b0754bb18082", "siteid:da0486e5-ba45-4db6-9d99-722a72e4aad7" };
});

I want the results specific to the siteIds passed in the list.

https://world.episerver.com/forum/developer-forum/EPiServer-Search/Thread-Container/2016/8/getdidyoumean/

Products are not being indexed

$
0
0

Hi all,

We're working on Find 12.7.1.0, Commerce 11.6.1.0, CMS 11.3.3.0

Currently we have about 120 products in our catalog and when we run the indexing service it only runs for 2 seconds and this is the message we get:

Indexing job [website] [content]: Reindexing completed. ExecutionTime: 0 hours 0 minutes 0 seconds Number of contents indexed: 0 Number of content errors: 1
Indexing job [Global assets and other data] [content]: Reindexing completed. ExecutionTime: 0 hours 0 minutes 2 seconds Number of contents indexed: 9 Number of content errors: 1

And of course we have almost nothing in the index. Any idea what we're doing wrong? I suspect there's a product or variant or category that's interrupting the indexing for some reason but without a more detailed log of what is going on it's hard to trace.

Thanks!

Thomas

Indexing Job causing issues with Autoboost

$
0
0

Hi all

Found an interesting issue regarding EPi Find statistics, was hoping someone could shed some light on.

When performing a search the result a user selects is tracked. On searches, autoboost is used to promote the most clicked pages up in the results, this is all working as expected.

Problem I am seeing is that if the "EPiServer Find Content Indexing Job" is run, the hit count/autoboost no longer has any effect on the results, even more interesting is that if a previously popular result is clicked just once then full hit count/autoboost comes back into play on future searches.

I am aware that the index job isn't recommended to be run often etc but am still curious about the problem it is causing.

Using Find 13.0.4

Cheers,

Jason


Speeding up FindCommerceInitializationModule

$
0
0

Hello,

After some issues with very slow startups of a site after building our solution locally, I had a look at the Startup Performance View and learned that the assembly EPiServer.Find.Commerce and type FindCommerceInitializationModule takes over 30 seconds to run, making up a majority of the total startup time of 45 seconds or so. Are there any general things we can do or investigate in order to save time here? The next entry on the list completes in under 4 seconds, so the module really stands out.

We are currently running
EPiServer.Find version 12.3.3,
EPiServer.Find.Commerce version 9.7.2
EPiServer.CMS version 10.3.1

Any hints appreciated. Thanks!

Search removes/ignores diacritics (e.g åäö)

$
0
0

I'm on CMS 11.10.5, Find 13.0.5.

Using For(query) in all fields or selected fields with no configuration overrides seems to match content regardless of diacritics in the query, e.g. "Miljo" matches content named "Miljö". However when using a specific filter such as Filter(x => x.Name.Matches(query)) the exact letters are matched (as expected/wanted). I've tried specifying the language, analyzer etc and I haven't found any information about special characters, diacritics, invariant strings in the documentation or source code. Is this behavior locked or can it be modified?

Edit: The actual indexed document shows the letters intact (åäö).

Modifying Crawled Content

$
0
0

Hi, I'm working on Find 13.0.1, CMS 11.9.1. We have Find crawling an external site and the results are included in our site search. We have an issue where the search returns too many results for certain search terms as they form part of the crawled sites navigation and footer, so they're repeated on almost every page.

One way we are trying to resolve this is via a scheduled job that will iterate each of the crawled WebContent objects and strip out all the content we don't want.

There's some good documentation here https://world.episerver.com/documentation/developer-guides/find/NET-Client-API/Indexing/ which discusses updating the indexed objects if you have the items ID, the only ID I can find is the SearchHit<WebContent>.Id but I have a feeling this isn't what I'm supposed to be using as neither an Update or Delete works using it.

Below is what I'm using in the scheduled job.

I'm retrieving crawled content using SearchClient.Instance.Search<WebContent>() and iterating the hits (SearchHit<WebContent>)


If I try to update the indexed item I don't get an error but the index isn't modified.

ITypeUpdated<WebContent> updateResult = SearchClient
    .Instance
    .Update<WebContent>(hit.Id)
    .Field(x => x.SearchText, "New Clean Search Text");

Alternatively if I try to delete the item so I can replace it with a new 'cleaned' indexed item I get a "Not Found" error

DeleteResult deleteResult = SearchClient
    .Instance
    .Delete<WebContent>(DocumentId.Create(hit.Id));

Adding a new cleaned index item works OK but would only be a valid option if I can get the delete working.

IndexResult indexResult = SearchClient.Instance.Index(hit.Document);

Has anyone done this before, if so, where can I find the correct ID to pass? Or am I heading down the wrong path altogether.

Thanks,
Jason

Reindex page when block used in TinyMCE is changed.

$
0
0

Hello

This question is an extension to the question asked here:

https://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=151824

Question is as title implies, we have blocks used in the TinyMCE editor, they are used to share some information between pages. However, when changing the content of the block. The page is not re-indexed. The above post have a solution for blocks in contentareas, my question is, does this index-convention also cover block placed in TinyMCE-fields?

Works in TinyMCE 3 and TinyMCE 4?

Using Find 12.7.1, CMS 11.3.4

Media assets pane search not working

$
0
0

Hello guys

Can someone help me understand why I can't search, by name, in the media assets pane? There's lots of pdfs and docxs but they do absolutely not show up when searching. I can search by their ID though, but need to be able to search by name.

Image 1 https://imgur.com/MLHbPP6 shows the media pane.

Image 2 https://imgur.com/7dDU25C shows search query "inbjudan" and no hits, though there should be several hits (don't know exactly how many).

Image 3 https://imgur.com/AdzTwUg shows searching in the Find admin page for "inbjudan" with lots of document hits including the one I'm looking for (circled).

As far as I can see there hasn't been any tampering with what gets indexed in any of the IInitializableModule-files.

Have anyone seen this before?

Regards,

Patrik

Viewing all 6894 articles
Browse latest View live