Ektron
Visitors choose search to navigate your website more frequently than any other navigation option. Search usage often exceeds links, menus, or site maps. This is especially true when visitors have a term or phrase in mind. Advanced visitors may narrow down search results by adding special terms or query strings.
As an administrator or developer, you want to provide the optimum search results quickly, with the most relevant results near the top. To accomplish this, adjust the search engine results by setting Using Synonym Sets, Suggested Results, and keywords.
In some cases, you can anticipate what the visitor is looking for and provide a convenient way to display results with the click of a button or image. To do this, developers can create automated queries that provide the unique combination of keywords and terms that provide results that are highly targeted to the visitor's quest. These queries are found in the code-behind and use the search API.
The website search should provide a simple user interface and relevant results.
To provide your website with search capabilities, your developer places Site Search server controls on a page. See Also: Site Search Server Controls
The search may look like the image below, although your developer has total control over its "look and feel".
NOTE: You can designate a folder outside of Ektron to be searched. For more information, see Including External Files in Your Search.
The Basic Search finds content that satisfies these criteria.
NOTE: New and updated content is available only after the next crawl completes. See Also: Managing the Search Crawl
IMPORTANT: Private content is hidden from search results if your search provider is Microsoft Search Server 2010. It is not hidden if you are using another search provider.
NOTE: A user may force an OR relationship by entering OR between search terms, or using the Advanced Search's any of these words option. Developers may create an OR-based search using the API property ImplicitAnd
.
IMPORTANT: If you have a multi-site configuration and a search is conducted from any site, results from all sites appear. To limit a search to single site, use a syntax like this:AdvancedQueryText=' AND ( "parentsiteid"=0 OR "parentsiteid"=161 ) '
The following list explains the values in the Advanced Search tab's Content Type field.
NOTE: You can find these files using Site as the content type criterion, but not using Documents.
NOTE: To search Visio documents, you must install the Visio IFilter. See Also: Installing the Visio IFilter
IMPORTANT: The search only finds text in the first 16 MB of any PDF document. So, for example, if the file is 32 MB, only the first half of the text is searchable.
NOTE: If you assign several images to an eCommerce catalog entry, and want to allow searching for that catalog entry by image file name, the search only works with the first image assigned to the catalog entry.
The Advanced Search uses the same search criteria as the Basic Search. (See Basic Search). The differences are additional options and the fact that you cannot use queries.
NOTE: The advanced search screen may look like the following image, although your developer has total control over its appearance." See Also: Modifying Templated Server Controls
NOTE: This topic describes search rank using Microsoft Search Server 2010. To learn about search rank using Microsoft FAST Search Server 2010, see Setting Up Microsoft Search Server 2010.
Each content item found by search is given a numerical rank. Search results are sorted by rank. Criteria used to calculate rank include the
If you need to ensure that certain content appears at the top of search results when certain terms are entered, use suggested results. See Also: Providing Suggested Results
To learn about customizing ranking for Microsoft Search Server 2010, see
Search only accesses data about the content if the Content Searchable field is checked.
NOTE: Despite the value of this checkbox, if an Ektron user places this content item in a Suggested Results list, it appears in the Suggested Results area of the Search Results screen. See Also: Providing Suggested Results.
Also, even if Content Searchable is unchecked, the Advanced Workarea search can find the content.
The default value of this field is determined by the ContentSearchable folder property.
The following rules apply when searching for values inside metadata.
true
or false
. See Also: Working with Metadata
See Also: Search Result Ranking
The following example shows the website search results screen. Your developer can customize it using the appropriate ResultsView server control. For example, to display eCommerce catalog entry results, the developer uses the Using Search Server Controls.
This section also contains the following topics.
By default, if a search term yields no results, a message appears.
To customize this message:
workarea/resources
folder.EkResource.en-US.resources
. To learn how to work with a resource file, see Translating the Workarea.lbl search no results
.If a site visitor enters a word that is similar to a crawled term, the "Did you mean?" feature often suggests close alternatives. If you click a suggested term, a search is performed on it.
The "Did you mean?" feature works only with single word queries.
NOTE: If your search provider is Solr, the "Did you mean?" feature only works with words in the content title.
Prerequisite
You must be a member of the Administrators Group or assigned the Search-Admin role to access Synonym Sets. See Also: Defining Roles
IMPORTANT:
*Changes to a Synonym Set reset Search Server. To minimize impact on your visitors, make such changes during off-peak hours.
* Synonym Sets apply to all Ektron sites associated with a Search Server instance. For example, if Site A, Site B, and Site C use the same Search Server instance, they share Synonym Sets. This means that a Synonym Sets created in Site A may affect Site B's search results.
You can create sets of synonyms to work with the search. If a site visitor enters into the search field any term in a synonym set, the search returns results for that term plus all other terms in the set.
For example:
If a site visitor inserts bill into the search field, Ektron uses bill or tuition or payment or pay or fee or charge, and so on., to determine search results.
The Synonym feature typically produces more “hits.” So, while visitors do no more work, their chances of finding the right information are greatly increased.
NOTE: Previous to version 8.5, you could use Synonym sets in Suggested Results. This is no longer provided in versions 8.5 and higher.
A search term can consist of several words as long as the term is entered the same way in the Synonym Set. For example, love seat is part of a Synonym Set that includes sofa. As long as both love and seat are in a content item, the search finds it even if the words are separated. But, entering a single term, like love, will not find that Synonym Set. So, if you think people may search using loveseat or love seat, enter both terms into the Synonym Set.
The metadata search does not use or support Synonyms Sets.
If a search term consists of several words, it does not return synonym match results.
For example, you create a synonym set that contains{cms; content management system}
. If a site visitor enters CMS, the search results include matches for cms and content management system. But, if the site visitor enters content management system, the results do not include matches for cms.
IMPORTANT: A term can only appear in one Synonym set.
Use integrated search when you want the search to find files outside of Ektron but located on your Web server. For example, you want a folder full of press releases to be searchable but do not want to add them to Ektron. Instead, you follow the steps below to make the folder searchable, and search results include the press releases.
NOTE: The descriptions below refer to the folder with content that is not part of Ektron as the external folder.
You can search all non-Ektron content by file title. For example, you can find Ektron.gif by inserting Ektron into the search field. In addition, you can search a variety of file types like .doc, .pdf, and .txt by searching their text. Finally, Microsoft Search Server 2010 searches file metadata for media files.
Follow these steps to include external files in search results.
External folders must reside in the website so IIS has permission to access their content. Best practice is to create the external folder under the Webroot. Then, place content in th folder for the integrated search. Next, follow the steps below to set permissions and configure Search Server.
The top-level folder that contains the external files must be accessible to the website, and the user account used by search server must have permission to read it.
The following example creates a user called IntegratedSearchUser and shares the external folder. Search Server uses the IntegratedSearchUser account to access the external folder's content.
IntegratedSearchUser now has read permission for the external folder.
If you are using Microsoft FAST Search Server 2010, go to Manage service applications > FastContent Connector > Manage Content Sources > New Content Source
\\server\directory
) or full file URI (file://server/directory
).C$
in the path, like this: \\server1\c$\integratedsearch
.If you successfully set this up, you see your new content source, and the status shows "starting".
NOTE: If you are using Microsoft FAST Search Server 2010, you can ignore Steps 3 and 4 proceed to Step 5.
NOTE: If you are using Microsoft FAST Search Server 2010, you can ignore Step 4 proceed to Step 5.
This step assures that your external folder content is included in Ektron search results.
This step sets the permission for the search server to access the external folder.
\\ws10196\PressReleases\*
.)IntegratedSearchUser
.)Prerequisite
You are a member of the Administrators Group or assigned the Search-Admin role See Also: Defining Roles
The protocol handler is normally installed in this folder.
c:\windows\system32\DatabaseProtocolHandler.dll
Solution—If the handler is in the correct place, check that all folder names and paths are correctly entered in the Content Sources, Crawl Rules and Scopes in the Search Service Application settings.
Solution—Verify that the Search Server user account has permission to read and write to the content database. You may have to create a unique user on the content server for this purpose.
NOTE: Following text extracted from Free-Text Keyword Queries.
To search for any word or phrase on a website, enter the word into the field and click Search to begin.
The following rules apply to formulating queries:
IMPORTANT: You must capitalize boolean operators, such as AND.
The NEAR operator is like AND because it finds pages that include both search words. However, the rank assigned by NEAR depends on the proximity of the search words. A page with search terms closer together has a higher rank than a page where they are farther apart.
NOTE: The NEAR operator can be applied only to words or phrases.
<Ektron>
.Prerequisite
You are a member of the Administrators Group or assigned the Search-Admin role See Also: Defining Roles
Your website may contain thousands of content items. Sometimes, depending on the search phrase, you want to focus the visitor's attention on a few topics. The Suggested Results feature lets you create a set of search terms, then specify content to appear at the top of the results when someone searches on a term.
Suggested Result links can jump to your website or an external website.
IMPORTANT:
* Prior to Ektron version 8.5, Suggested Results could be language-specific. Beginning with version 8.5, Suggested Results do not filter based on language.
* As of version 8.5, Suggested Results do not use terms from the Synonyms Set feature.
You can use Suggested Results to direct site visitors to business partners' websites. One example is a smoking cessation clinic near your hospital. When someone visits your website and searches for smoking, you can set the clinic to be the top Suggested Result.
As another example, your organization creates widgets but does not implement or customize them. Over time, several agencies develop experience at deploying and customizing your widgets. Therefore, you want to promote the supporting businesses on your site. The following steps describe how this works.
Suggested Results can also be used to advertise products, as used in the sponsored results section of search engines like Google® search and Yahoo!®.
Use this feature to provide search results that do not naturally appear at the top of the page. For example, you manage a university’s website. When a site visitor wants to know where to mail a tuition payment, he enters bill into the search field and gets these results.
Frustrated, many people call the business office to get information that exists on the website but is difficult to find.
Using Ektron, you create Suggested Results to direct site visitors to the correct Web pages. To continue this example, you could create
After you set up Suggested Results, this is a typical sequence of events.
NOTE: The illustration below is an example of how suggested results may appear. Your developer styles suggested results in the ResultsView server control.
NOTE: Only content in the Workarea language appears. To change the language, exit this screen, go to the root folder, and click View > Language.
http://
. Site visitors use this text (circled in the example below) to select the linked Web page.
The summary cannot exceed 320 characters (including HTML tags). For example:
To display suggested results using templated server controls, set up a SiteSearchResultsView control whose Eval
statement refers to SuggestedResults
.
<ektron:SiteSearchResultsView ID="r" runat="server" ControllerID="c">
<ItemTemplate>
<h3>Suggested Results</h3>
<asp:ListView ID="suggestedResults" runat="server"
DataSource='<%# Eval("SuggestedResults") %>'>
<ItemTemplate>
<span class="highlight">
<a href="<%# Eval("Url") %>"><%# Eval("Title") %></a>
<%# Eval("Summary") %>
</span>
</br>
</ItemTemplate>
</asp:ListView>
</ItemTemplate>
</ektron:SiteSearchResultsView>
The suggested results class displays only 3 fields: title, URL, and summary.
If you want regular search results to appear below suggested results (as shown in Providing Suggested Results), your developer may want to style the suggested results to stand out. Some styling is shown above.
To display regular search results below suggested results and customize the standard result template, make the following modifications.
<ektron:SiteSearchResultsView ID="r" runat="server" ControllerID="c">
<ItemTemplate>
<h3>Suggested Results</h3>
<asp:ListView ID="suggestedResults" runat="server"
DataSource='<%# Eval("SuggestedResults
") %>'>
<ItemTemplate>
<span class="highlight">
<a href="<%# Eval("Url") %>"><%# Eval("Title") %></a>
<%# Eval("Summary") %>
</span>
</br>
</ItemTemplate>
</asp:ListView>
<asp:ListView ID="suggestedResults" runat="server"
DataSource='<%# Eval("Results") %>'>
<ItemTemplate>
. . .
</ItemTemplate>
</asp:ListView>
</ItemTemplate>
</ektron:SiteSearchResultsView>
However, if you want to display standard results and use the default template, insert a separate SiteSearchResultsView control below the suggested results control. See Also: Using Search Server Controls
Autosuggest is a search feature that suggests similar terms or common refinements that searchers have used in the past which are related to the search term. As a user enters text, possible matches appear. This immediate feedback may preclude the user from typing an entire search phrase, and instead choose a term with which to launch the search.
Terms appear on the list if they
Autosuggest only works with the Site Search Control.
Every Web page that retrieves search results requires a SiteSearchController server controla server control uses API language to interact with the CMS and Framework UI to display the output. A server control can be dragged and dropped onto a Web form and then modified.. See Also: XMLSearchController
In Visual Studio, add the following properties and values to each SiteSearchController control that will use Autosuggest.
EnableQueryStatistics="true”
EnableAutoSuggest="true"
AutoSuggestMaxCount
—the maximum number of entries in the autosuggest listweb.config
. NumberOfClicksToTrigger
to 1, 2 or 3. This key defines the number of times a user chooses an autosuggest search term and then clicks on a search results page before the term is added to the suggested results list.For example, you decide that a term is added to the list only after it is selected and users click on the results page 3 times.
Normally, you would not add autosuggest terms, because the terms list is built from previous successful searches. However, there may be times when you want to add autosuggest terms that direct searches to specific content. To manually add terms to the autosuggest list, follow these steps.
Prerequisite
Knowledge of SharePoint Powershell cmdlets
New-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication <Search Service Application> -Name <Name of the term> -Language <en-US> -Type QuerySuggestionAlwaysSuggest
Search Service Application>
, enter the Search Service Application you created for FAST Query in Searching a Microsoft Search Server Website.Language
, enter a language code followed by the locale code (as examples: en-US, en-UK). Remove-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication <Search Service Application> -Identity <Name of the term> -Language <en-US> -Type QuerySuggestionBlockList
Get-SPTimerJob -Identity "Prepare Query Suggestions" | Start-SPTimerJob
To manually add a suggestion for ektron:
$app = Get-SPEnterpriseSearchServiceapplication "FASTQuery"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $app -Language en-us -Type QuerySuggestionAlwaysSuggest -Name “ektron”
If ektron was added to the Block list, it must be removed. (If it does not exist and you run these commands, you get an error: Given key not present in the dictionary.)
Remove-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication $app -Identity ektron -Language en-us -Type QuerySuggestionBlockList
(Get-SPTimerJob –Identity “Prepare Query Suggestions”).RunNow()
Wait 3 minutes to see results.
You may need to remove inappropriate or derogatory terms from the autosuggest list. To do that, a term to the block list by following these steps.
Prerequisite
Knowledge of SharePoint Powershell cmdlets
New-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication <The Search Service Application> -Name <Name of the term> -Language <en-US> -Type QuerySuggestionBlockList
Get-SPTimerJob -Identity "Prepare Query Suggestions" | Start-SPTimerJob
If you later decide to remove a term from the block list, use this command.
Remove-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication <The Search Service Application> -Identity <Name of the term> -Language <en-US> -Type QuerySuggestionAlwaysSuggest
To block the term ontrek
$app = Get-SPEnterpriseSearchServiceApplication "FASTQuery"
New-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication $app -Language en-us -Type QuerySuggestionBlockList -Name ontrek
Remove the term from the suggestion list, if it exists. (If it does not exist and you run these commands, you get an error: Given key not present in the dictionary.)
Remove-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication $app -Identity ontrek -Language en-us -Type QuerySuggestionAlwaysSuggest
(Get-SPTimerJob –Identity “Prepare Query Suggestions”).RunNow()
Wait 3 minutes to see results.
To view the blocked words list, enter
Get-SPEnterpriseSearchLanguageResourcePhrase –SearchApplication <Search Service Application> -Language en-US -Type QuerySuggestionBlockList
If you don’t see the autosuggest drop-down, try the following.
QuerySSA
and ProviderAdmin
keys.C:\Program Files (x86)\Ektron\EktronSearchServerService\EktronSearchServerHelperService.exe.config
and verify that the following keys have correct paths.Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication "<Search Service Application Name>"
. Inspect the command for your autosuggest word.
C:\inetpub\EktronSearchSite\EktronSearchStatistics
directory for a logs folder. If this folder is empty, verify that the SiteSearchController contains EnableQueryStatistics="true”
and EnableAutoSuggest="true”
.EnableAutoSuggest="true".
http://<Your EktronSearchSite website:Port # > /EktronQuerySuggestion/SPQuerySuggestion.svc /QuerySuggestionForCulture?keywordPrefix=sa&culture=en-US
NOTE: ‘sa’ is the prefix you used to return autosuggest entries.
After submitting this url, download and open QuerySuggestionForCulture file in Notepad to see autosuggest results. To continue the above example, you might see {"QuerySuggestionForCultureResult":{"Suggestions":["sample"]}}
This log shows the number of entries for the query prefix. For the example below, the user entered ‘samp’
and Autosuggest found one entry (sample). To access the log, sign on to the Search Server machine > EktronSearchSite Web root > click EktronQuerySuggestion folder.
PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose QueryContext.Create: Creating QueryContext / PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose QueryContext.Create: Created QueryContext / PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose QueryServiceInfoProcessor.GetSearchApp for QuerySSA:Search Service Application PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose QueryServiceInfoProcessor.GetSearchAppProxy for QuerySSA:Search Service Application PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose SPQuerySuggestionReporter.GetQuerySuggestions: Q:[samp] Profile:[] PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose SPQuerySuggestionReporter.GetQuerySuggestions: Response for Q:[samp] : [1] PID:7900 TID:5168 MTID: 2012-04-04T08:51:18 Verbose SPQuerySuggestionFeed.QuerySuggestionForProfileFeed: completed feed request: Q:samp Culture:en-US
This log shows submission of the query statistics. It is updated only after a site visitor inserts a search term, clicks the search button, and clicks a result. To access the log, sign on to the Search Server machine > EktronSearchSite Web root > click EktronSearchStatistics folder.
PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose Publishing Search Statistics : Begin PID:7284 TID:7056 MTID: 2012-04-03T14:55:1 Verbose QueryContext.Create: Creating QueryContext / PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose QueryContext.Create: Created QueryContext / PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose QueryServiceInfoProcessor.GetSearchApp for QuerySSA:Search Service Application PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose QueryServiceInfoProcessor.GetSearchAppProxy for QuerySSA:Search Service Application PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose MSStatsRecorderProxy.Record: Recording PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose MSSearchStatsHelper.SubmitStatistics: Beginning statistics recording to SharePoint! PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose MSSearchStatsHelper.FetchClicksToRegisterValue: Will be using 2 click(s) to complete statistics recording to SharePoint! PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose MSSearchStatsHelper.SubmitStatistics: Ending statistics recording to SharePoint! PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose MSStatsRecorderProxy.Record: Recorded! PID:7284 TID:7056 MTID: 2012-04-03T14:55:15 Verbose Publishing Search Statistics : Ends with Status SUCCESSFUL: 0