2. AGENDA
| 14.06.16 | 2Fast Search
1. History of fast search (15’)
2. General points of fast search (30’)
3. Display template (30’)
4. Managed properties (10’)
5. Search Tool (10’)
6. Common issues (10’)
7. Content Enrichment Web Service (CEWS) (15’)
8. Custom extraction dictionary (15’)
3. HISTORY OF FAST SEARCH
| 06.07.2019 | 3Fast Search
SP 2007
• SharePoint search
SP 2010
• SharePoint search
• Fast Search (enterprise license)
SP 2013..
• Fast Search as default search
service application
4. GENERAL POINTS OF FAST SEARCH
■ Query search types
■ Which data can be crawled?
■ Crawls:
Full crawl
Incremental crawl
continuous crawl
■ Permission notice
■ History log
■ Rules
| 06.07.2019 | 4Fast Search
5. Which data can be crawled?
GENERAL POINTS OF FAST SEARCH
■ Fast search can crawl data not only for SharePoint content but also for outside
SharePoint content (external data), for example CRM
■ Check with ALE or TTL for the configuration
■ Open question: Could fast search crawl any web site? Do we need to pre-
define a structure for external data? => HAN will check and give us answers
| 06.07.2019 | 5Presentation Title
6. QUERY SEARCH TYPES
■ There 2 types of search query we can use in SharePoint 2013
(https://msdn.microsoft.com/en-us/library/office/jj163973.aspx )
Keyword Query Language (KQL)
Ex: author:"John Smith"
Search contents that have author is John Smith
Ref: https://msdn.microsoft.com/en-us/library/office/ee558911.aspx
Fast query language (FQL)
Ex: body:string("hello world", mode="and")
Searches for the terms "hello" and "world" in the body managed property
Ref: https://msdn.microsoft.com/en-us/library/office/ff394606.aspx
Contact info: HAN
| 06.07.2019 | 6Presentation Title
7. Full crawl
CRAWLS
■ If the incremental crawl failed to crawl content for errors , Incremental crawl
removes the content from index until next full crawl.
■ When a software update for SharePoint or service pack is installed on servers
in the farm, full crawl is required.
■ Add a new mapping for the Managed Metadata property which used as
refinements in search results. (e.g. add new filter in search center for
documents to refine results by division ).
■ To include document changes on a non SharePoint 2013 sites or older
versions of SharePoint, like ASPX pages on Windows SharePoint Services 3.0
or Microsoft Office SharePoint Server 2007 sites.
■ You want to detect security changes that were made on a file share after the
last full crawl of the file share.
■ Crawl rules have been added, deleted, or modified which is used to include or
exclude sites URLs to be crawled.
■ Creating server name mappings.
| 06.07.2019 | 7Fast Search
8. Incremental crawl
CRAWLS
■ Adding new document to document library or new item to list
■ Edit current document content
■ Delete document (incremental crawl will detect the deletion and removes it
from the index and from search results).
As TTL said, incremental crawl doesn’t work for deleting action? => In GKB
web project, It works fine. Maybe it is a magic
A note from BLB, if we delete a document, then upload the same document
again, we need to full crawl to make this document indexed.
■ Changing Item permissions.
■ Document properties (columns)
| 06.07.2019 | 8Fast Search
9. Continuous crawl
CRAWLS
■ Similar to incremental crawl
■ Only for SharePoint content source?
As TTL said we can configure to make continuous crawl works for external
content
■ After 3 times error, Continuous crawl doesn’t procees items which have 3 times
error => “clean up” action must be performed
■ Why do we need continuous crawl?
| 06.07.2019 | 9Fast Search
10. Continuous crawl …
CRAWLS
■ Intervals is set by 15minutes by default and can’t be changed on UI?
$ssa = Get-SPEnterpriseSearchServiceApplication
$ssa.SetProperty(“ContinuousCrawlInterval”,<n>)
■ Enable Continuous crawl:
$SSA = Get-SPEnterpriseSearchServiceApplication
$SPContentSources = $SSA | Get-SPEnterpriseSearchCrawlContentSource | WHERE {$_.Type -eq "SharePoint"}
foreach ($cs in $SPContentSources) {
$cs.EnableContinuousCrawls = $false
$cs.Update()
}
■ PPay attention from GKB project
Log file so big
Performance
■ Ref: https://technet.microsoft.com/en-us/library/jj219802.aspx
| 06.07.2019 | 10Fast Search
11. PERMISSION NOTICE
■ When changing permission on item or list, incremental crawl is enough.
■ When we changing permission on parent folder, we need to full crawl???
As PTL said, this issue only happens when the number of items greater
than “magic number”
We should ask the customer full crawl for sure
| 06.07.2019 | 11Fast Search
12. HISTORY LOG
■ What is it useful for? => Analyze issue
■ Demo
| 06.07.2019 | 12Fast Search
13. RULES
■ Restrict data will be crawled
■ There are numbers of ways restrict data in search result
Set index property in list = false
Create crawl rule
Create Result Source
Create Query rule
Please contact PTL, BLB or TTL if you face any issue with these ways.
■ Demo
| 06.07.2019 | 13Fast Search
14. DISPLAY TEMPLATE
■ How the results are rendered in search result pages?
■ Display template
■ Modify display template using SharePoint designer
■ Provision notes
■ Result Type
■ Contact for help: TDV, PTL, HTY
| 06.07.2019 | 14Fast Search
16. Custom document properties
DISPLAY TEMPLATE
<mso:TemplateHidden msdt:dt="string">0</mso:TemplateHidden>
■ The TemplateHidden property specifies if the template is hidden for people to
select it in one of the search web parts. Values can either be 0 (visible) or 1
(hidden).
■ We always set TemplateHidden = 0 if there is no special reason
| 06.07.2019 | 16Presentation Title
17. Custom document properties
DISPLAY TEMPLATE
<mso:ContentTypeId
msdt:dt="string">0x0101002039C03B61C64EC4A04F5361F385106603</mso:Co
ntentTypeId>
■ ContentTypeId is not SPContentTypeId
■ Flowing values can be set for ContentTypeId
| 06.07.2019 | 17Presentation Title
Display Template ID
Control Display Template
0x0101002039C03B61C64EC4A04F536
1F385106601
Group Display Template
0x0101002039C03B61C64EC4A04F536
1F385106602
Item Display Template
0x0101002039C03B61C64EC4A04F536
1F385106603
Filter Display Template
0x0101002039C03B61C64EC4A04F536
1F385106604
18. Custom document properties
DISPLAY TEMPLATE
<mso:TargetControlType
msdt:dt="string">;#SearchResults;#</mso:TargetControlType>
■ Specifying which webpart can be use this display template
■ Flowing values can be set for TargetControlType
| 06.07.2019 | 18Presentation Title
Web Part Property Value
Content Search Web Part Content Web Parts
Search Result Web Part SearchResults
Search Hover Panel (used in the in
combination with the item template)
SearchHoverPanel
Searchbox SearchBox
Refinement Web Part Refinement
Taxonomy Refinement Web Part TaxonomyRefinement
19. Custom document properties
DISPLAY TEMPLATE
<mso:ManagedPropertyMapping
msdt:dt="string">'Title':'Title','Path':'Path','Description':'Description
■ The ManagedPropertyMapping property needs to be used to determine
which managed properties needs to be retrieved to make use of them in the
item display template.
■ Syntax: "slot name":"managed property name”, ex ‘DocTitle‘:'Title‘
Slot name is the name we use in JavaScript code
Notes:
We should define slot name = managed property name
We can define managed property only. For instance
<mso:ManagedPropertyMapping
msdt:dt="string">'Title','Path','Description’…
■ You could also specify multiple values for a specific slot. That way, if the first
property doesn't contain a value, it takes the next one.
Ref: http://www.eliostruyf.com/display-template-custom-document-properties-
explained/
| 06.07.2019 | 19Presentation Title
20. Modify display template using SharePoint designer
DISPLAY TEMPLATE
■ Don’t do it from scratch
■ Usually, I will copy a suitable template
■ Update custom document properties
■ Provision to SharePoint
■ Using SharePoint designer to modify how the result is displayed
■ Demo
| 06.07.2019 | 20Presentation Title
21. Provision notes
DISPLAY TEMPLATE
■ Make sure display template is checked in
■ Normally we will have a code to check the file in, maybe Powershell or C#
code (feature activate)
■ Normally, we only need to provision html file, SharePoint will generate js file
■ …
Contact TDV or HAN for issues on provisioning
| 06.07.2019 | 21Presentation Title
25. COMMON ISSUES
■ Why I can’t see items in result page?
Current user have permission to see this item? Check log
■ Why items can’t be crawled?
Account permission Crawl rules
■ Why value “a” is empty?
Index flag? Item is published?
■ Crawl doesn’t work any more?
Reset index, Reset IIS and Timer job, Restart Server
■ I have just deleted search service ?
ask APL
■ I have check all above information but it can’t work?
ask PTL, TTL, PNH
■ Why the number of result in search result page is different with number of results in
Search tool?
Correct query string? Trim duplicate?
| 06.07.2019 | 25Fast Search
26. QUESTIONS FOR NEXT SESSION
■ Scenario 1: The customers want to search documents by some information,
but he doesn’t want these information was added to document as a field or tag
value because they are confidential information. So what are the solutions in
this case?
■ Scenario 2: If we have a managed metadata with below value:
Ho Chi Minh City
Ho Chi Minh City - Melody
Ho Chi Minh City - DaiPhuc
VN-D
VN-M
Customer request: refinement only shows "Ho Chi Minh City" for all these
values. Which solutions can we have to achieve this requirement?
| 06.07.2019 | 26Fast Search
27. CONTENT ENRICHMENT WEB SERVICE (CEWS)
■ Scenario: The customers want to search documents by some information, but
he doesn’t want these information was add to document as a field or tag
because they are confidential information. So what are the solutions in this
case?
■ Setup CEWS
Create WCF service which extend IContentProcessingEnrichmentService
Extend IContentProcessingEnrichmentService
Implement ProcessItem using client side object model (CSOM)
Notes: cache data whenever we can, log information as detail as possible
■ Deploy and debug
Please set correct permission (app pool account or admin account)
Run script to inform Fast search trigger CEWS
■ Reference: https://nguyentoanuit.wordpress.com/2016/06/09/content-
enrichment-web-service-add-more-information-to-spitem-when-fast-search-
crawling/
| 06.07.2019 | 27Fast Search