ContentSearch. Deep dive

Vergelijkbare documenten
Smartsite ixperion Faceted Search

Data Handling Ron van Lammeren - Wageningen UR

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Zo kan je linken maken tussen je verschillende groepen van gegevens.


Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Luister alsjeblieft naar een opname als je de vragen beantwoordt of speel de stukken zelf!

Find Neighbor Polygons in a Layer

Intermax backup exclusion files

ALGORITMIEK: answers exercise class 7

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

General info on using shopping carts with Ingenico epayments

Daylight saving time. Assignment

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Handleiding registreren in de portal

Preschool Kindergarten

Website review kamernet.nl

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

L.Net s88sd16-n aansluitingen en programmering.

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Windows Server 2003, Server 2008 & Scan-to-file

Leeftijdcheck (NL) Age Check (EN)

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

1. Voor het installeren wordt geadviseerd een backup te maken van uw database en bestanden.

Van 'gastarbeider' tot 'Nederlander' Prins, Karin Simone

Voorbeelden van machtigingsformulieren Nederlands Engels. Examples of authorisation forms (mandates) Dutch English. Juli 2012 Versie 2.

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

L.Net s88sd16-n aansluitingen en programmering.

Registratie- en activeringsproces voor de Factuurstatus Service NL 1 Registration and activation process for the Invoice Status Service EN 10

Inhoud Basiscursus. Access 2010 NL-NL

Taco Schallenberg Acorel

Informatievaardigheden Introductie EndNote

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

LIMO zoekt gedrukte EN elektronische publicaties - in de catalogi van de K.U.Leuven bibliotheken en de andere bibliotheken van Libisnet -in LIRIAS =

EM6250 Firmware update V030507

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

Hunter-CRM. Documentatie Handleiding Spamfilter

DataFlex 19.0 SQL Server

MyDHL+ Van Non-Corporate naar Corporate

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Oracle client 1.2 voor ixperion 1.3 en hoger

EM7680 Firmware Update by Micro SD card

Citation for published version (APA): Mazzola, P. (2016). Phenylketonuria: From body to brain [Groningen]: Rijksuniversiteit Groningen

Instructie SCAN-Office. uit. Automatisering helpt Agrarisch Natuurbeheer. Uitgevoerd door collectieven

Website beoordeling facebook.com

automatische zoekverbetering

[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden?

Online request form for requesting articles, books and / or theses: Erasmus MC - employees

OPEN TRAINING. Onderhandelingen met leveranciers voor aankopers. Zeker stellen dat je goed voorbereid aan de onderhandelingstafel komt.

CBSOData Documentation

! GeoNetwork INSPIRE Atom!

Workflow en screenshots Status4Sure

Verantwoord rapporteren. Karin Schut

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Travel Survey Questionnaires

ZOEKEN MEDLINE COMPLETE

Joomla! en SEO: De basis elementen van SEO. Richard Bruning

Classification of triangles

Handleiding Installatie ADS

De betrouwbaarheid van kleinschalige methoden voor waterzuivering Kaaij, Rachel van der

Handleiding configuratie en gebruik tekenmodule

Information security officer: Where to start?

Value based healthcare door een quality improvement bril

Multi user Setup. Firebird database op een windows (server)

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

AVG / GDPR -Algemene verordening gegevensbescherming -General data Protection Regulation

Tips & Tricks for TUE students doing Architecture Reconstruction with Rascal

Functioneel Ontwerp / Wireframes:

Gebruikershandleiding GO search 2.0

Hertentamen 8D040 - Basis beeldverwerking

What is the advantage of using expression language instead of JSP scriptlets and JSP expressions?

LONDEN MET 21 GEVARIEERDE STADSWANDELINGEN 480 PAGINAS WAARDEVOLE INFORMATIE RUIM 300 FOTOS KAARTEN EN PLATTEGRONDEN

Multiple sclerose Zwanikken, Cornelis Petrus

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : lator=c&camp=24759

Data Definition Language

20 twenty. test. This is a list of things that you can find in a house. Circle the things that you can find in the tree house in the text.

Handleiding Zuludesk Parent

Installatie van Windows 10 op laptops. Windows 10 installation on laptops

Question-Driven Sentence Fusion is a Well-Defined Task. But the Real Issue is: Does it matter?

University of Groningen. Stormy clouds in seventh heaven Meijer, Judith Linda

Wordt educatief videomateriaal in Nederland vaak ondertiteld? Welke vormen van ondertitelen zijn mogelijk?

Handleiding Importeren van BVD-analyse resultaten in de nationale BVD databank

Microdata Services. Documentatie Volgtijdelijk vergelijkbare Persoon_id's van personen (VTVPERSOONTAB)

Laat maar zitten Janssen, Janine Hubertina Lambertha Joseph

3 I always love to do the shopping. A Yes I do! B No! I hate supermarkets. C Sometimes. When my mother lets me buy chocolate.

MEMO. De database server zit op piekmomenten aan een heel hoog CPU gebruik:

Verschillen Sumatra 2019 vs I4 4.4 V 1.0

Transcriptie:

ContentSearch Deep dive

2

Waarvoor in te zetten? Alternatief voor database queries Waar performance een issue kan zijn Daadwerkelijk frontend Site Search Mogelijk niet de beste optie maar wel goedkoop en geïntegreerd Faceting 3

4

5

When you need to index large numbers of items (50,000 and up), Solr performs better Solr is more robust. If your site depends on search as the primary interface, consider using Solr. If you use multiple content delivery servers (or plan to do so later), use Solr. You could use Lucene, but you have to make sure that indexes are synchronized across servers yourself. Bron: https://doc.sitecore.net/sitecore_experience_platform/search_and_indexing/using_solr_or_lucene 6

Index configuratie Standaard config kan als basis gebruikt worden voor custom index Bijv: Sitecore.ContentSearch.Lucene.Index.Web.config) Uit welke database moeten items komen? Kies de juiste UPDATE-STRATEGY (onpublishendasync voor web db) 7

Path: \app_config\include\customername\contentsearch.sitesearch.config 8

Index configuratie Extra (base)configuratie nodig? Overerf zoveel mogelijk standaard base configuratie met REF attribuut 9

Path: \app_config\include\customername\contentsearch.baseconfiguration.config 10

Computed fields Custom velden in de index plaatsen (waar code voor uitgevoerd moet worden) In eerdere versies vaak custom crawlers voor gebruikt 11

Computed fields - Voorbeeld Multilist/Lookup veld target items opslaan als tekst i.pv. Id s Uitgevoerd d.m.v een generiek computed field genaamd LookupFieldValue 12

Computed fields config In base configuration: 13

14

Computed fields voorbeeld II Veld met meerdere datum entries als string. We willen date range queries kunnen doen. 15

Computed fields voorbeeld II <fieldnames hint="raw:addfieldbyfieldname"> (onder fieldmap) <fields hint= raw:addcomputedindexfield > 16

Computed fields voorbeeld II In Computed Field code een lijst van DateTime opbouwen en retourneren: return dates.any()? dates : null; 17

Het date index veld in LUKE 18

Date query voorbeeld 19

Analyzers / tokenizers Analyzers bestaan uit Tokenizers & Filters An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index terms from text. 20

Voorbeeld StandardTokenizer I sit in a cubicle all day I sit in a cubicle all day 21

Filters Bijvoorbeeld STOP Word filter LowerCaseFilter (gebruikt door StandardAnalyzer) 22

Voorbeeld van analyzer 23

Custom tokenizer Voorbeeld case 24

Custom Tokenizer Generieke query code 25

Items uitsluiten o.b.v Path Voorbeeld case: Hoe kan ik bepaalde content tree paden uitsluiten voor een index? Moet configurabel zijn: <exclude hint="list:excludepaths"> <ArchiefEvenementen>/sitecore/content/Data/Evenementen/Archief</OudeEvenementen> <Onderwijs>/sitecore/content/Data/Onderwijs</Onderwijs> </exclude> 26

Items uitsluiten o.b.v Path Inbound/outbound filters Wat mag er in (tijdens indexeren) en uit de index komen (tijdens queryen) Globaal, effectief voor alle indexes Custom crawler Per index in te stellen. Flexibeler. 27

28

Generieke query code Herbruikbare query code voor verschillende soorten zoekresultaten Moet meerdere type SearchItem classes ondersteunen 29

SearchApi.Current.GetSearchResults<NatuurgebiedSearchResult>(context, Sitecore.Con.. SearchApi.Current.GetSearchResults<RouteSearchResult>(context, Sitecore.Con.. 30

Standaard query wijze. Bruikbaar bij een enkel type zoekresultaat of als zoekresultaten dezelfde base class hebben. Gebruikt property van Result class var provinciequery = PredicateBuilder.False<NatuurgebiedSearchResult>(); provinciequery = provinciequery.or(x => x.provincieveld == "gelderland"); q = q.where(provinciequery); Als niet alle resultaten classes waar de code voor wordt uitgevoerd deze property hebben moet ObjectIndexerKey gebruikt worden + string: var routetypequery = PredicateBuilder.False<T>(); routetypequery = routetypequery.or(x => x[(objectindexerkey)"routetype"] == "fietsen"); q = q.where(routetypequery); 31

Boosts Titel veld boosten predicate = predicate.or(sr => sr.titlefield.matchwildcard(searchterm + "*").Boost(5.5f)); 32

GEO search Zoeken in straal van X kilometer op basis van longitude/latitude coördinaten https://github.com/aokour/sitecore.conte ntsearch.spatial 33

Glassmapper & SC Search Het is mogelijk om GlassMapper & ContentSearch model te combineren en eventueel ook direct te gebruiken in een view. 34

Glassmapper & SC Search 35

Glassmapper & SC Search http://glass.lu/mapper/sc/tutorials/tutori al25 36

ContentSearch Deep dive