Releases: skybrud/Skybrud.Umbraco.Search
Skybrud.Umbraco.Search v3.0.0-beta013
New beta release for Umbraco 8 π
Installation
Changelog
-
Updated
GetSortValueByDateTime
method to useDateTime.TryParseExact
instead ofDateTime.TParseExact
(see #9 and 2657405)
It seems that Umbraco may on occasion index a date in another format than it usually does, and if so, this would cause theGetSortValueByDateTime
method to throw an exception asDateTime.ParseExact
would try to parse a value in a different format from what we have specified.With this release, we're instead using
DateTime.TryParseExact
, which doesn't throw an exception if it meets an unrecognized format. Instead theGetSortValueByDateTime
will now fall back to the result's create date instead - as well as append a warning to Umbraco's log.
Skybrud.Umbraco.Search v3.0.0-beta012
Installation
Changes
-
β Changed composer runtime level to prevent errors during installs and upgrades (see #7 and 3d1651d)
Since value converters are registered at boot, SearchComposer needs to run at boot as well to avoid errors when installing or upgrading Umbraco. -
π Implemented
ToString
method override for theQueryList
class (see f994032)
The value returned by theQueryList.ToString
method now equals calling theQueryList.GetRawQuery()
method. -
π Introduced new
AddHideFromSearch
extension methods for theExamineIndexingExtensions
class (see 669abd5)
The methods aids in setting a flag for whether a given node should be hidden/excluded from search results. Overloads also lets developers specify one or more IDs that should be excluded, including descendants of the nodes with the specified IDs.
Skybrud.Umbraco.Search v3.0.0-beta011
Installation
Changes
-
β Fixed some issues with HTML stripping in
IndexingHelper
class (see 77d4aa4)
Prior to this commit, an HTML value like<strong>Hello</strong><br /><strong>World</strong>
would becomeHelloWorld
instead ofHello World
, meaning we wouldn't find anything if searching forworld
. -
π Added new extension methods to
ExamineIndexingExtensions
class to help with indexing block list values (see 1d19728) -
π Updated the implementation of the
QueryList
class (see 9e957b4)- The internal list is now protected instead of private to allow sub classes to read from and write to it.
- Introduced a new
QueryListType
enum to indicate whether the list should be AND or OR based (AND is default) - Implemented custom
ToString()
method which returns the raw query, which then ensures support for nested query lists
Skybrud.Umbraco.Search v3.0.0-beta010
Installation
Changes
- π
SearchGroup
andSearchGroupResultList
now supports specifying a type (see 26a2f2d)
Generally it should be safer to check the type of the group than it's ID, as the IDs may change or be dynamic.
Skybrud.Umbraco.Search v3.0.0-beta009
Installation
Changes
-
π Introduced new
ISortOptions
interface for handling sorting directly in Examine (see 7102edb and fc4f59b)
The interface is an alternative to the existingIPostSortOptions
interface. -
π Bumped Umbraco dependency (see 2106e16)
As this release now contains logic for indexing the block list, it was necessary updating the Umbraco reference to 8.7.0. -
π Introduced new
IndexingHelper
class andIIndexingHelper
interface (1287917 and d538fea)
The interface and it's corresponding implementation contains various logic for indexing components in Umbraco - eg. the block list.
Skybrud.Umbraco.Search v3.0.0-beta008
Installation
Changes
-
π ± Updated
ISearchOptions
interface to replaceGetRawQuery
method withGetBooleanOperation
method (6e30799)
By returning anIBooleanOperation
instead of a raw string to add support for both the Examine Fluent API and raw Examine queries (opposed to only raw Examine queries before). -
π ± Removed forms models in favor of Skybrud.Forms package (see 881a0d0)
The models weren't directly used by this package, so the Skybrud.Forms should now be used instead. -
π Isolated logic for creating an IQuery into a new virtual method (see 112eca0)
The default implementation will callsearcher.CreateQuery()
(no parameters), but as the method is virtual, it can be overriden to pass on parameters to thesearcher.CreateQuery()
method.
Skybrud.Umbraco.Search v3.0.0-beta007
Installation
Changes
-
π The
IndexDate
methods should be extension methods (91d3443)
By mistake, the twoIndexDate
methods were missing thethis
keyword that turns them into extension methods. -
π Renaming the
MakeCsvSearchable
andMakeUdisSearchable
methods (see b677d2c)
TheMakeCsvSearchable
andMakeUdisSearchable
has been renamed toIndexCsv
andIndexUdis
. The old names are still available, but now marked as obsolete.
Skybrud.Umbraco.Search v3.0.0-beta006
Installation
Breaking changes
π ±οΈ DroppedTextFields
property in favor of virtualGetTextFields
method (see 8ca0e98)
The method allows greater flexibility - eg. if the fields should be calculated from other properties on the options class. If you're using theSearchOptionsBase
class, this will be a breaking change.
Other changes
-
π Introduced new
ExamineIndexingExtensions
class (see 3708bf2, b445250 and fc797c9)
The class provides extension methods for theIndexingItemEventArgs
class, which can aid adding custom fields to Examine indexes. -
π Added more method overloads to the
QueryListExtensions
class (2d75dfc)
TheAppendNodeTypeAliases
andAppendAncestors
both now have overloads for specifying a collection (IEnumerable
) as parameter instead of just an array.
Skybrud.Umbraco.Search v3.0.0-beta005
Installation
Changelog
-
Added extra null checks (see db9694f)
A few of theSearch
methods allow specifying a callback method which will be applied to each result on the current page. The callback may for whatever reason returnnull
, in which case the result is now skipped to prevent null reference exceptions. -
Added constant for the PDF index (see e4ce8fc)
The UmbracoCms.UmbracoExamine.PDF package defines a PDF index. although it's not default in Umbraco, the constant is handy to have around. -
Fixed issue in the
AppendAncestors
extension method (5b45a17)
The method wouldn't enclose the IDs in a parenthesis, which then would end in the query giving an incorrect meaning.