Adobe® Marketing Cloud Adobe SearchandPromote Contents Search&Promote Documentation Home......................................................................12 News and announcements..........................................................................................................................................12 Whitepaper........................................................................................................................................................................12 Other information...........................................................................................................................................................12 Contact and legal information......................................................................................13 Release notes..................................................................................................................14 Archive................................................................................................................................................................................14 Search&Promote 15.3.1 Release Notes (03/24/2015)..................................................................................................................14 Search&Promote 15.1.1 Release Notes (01/15/2015)..................................................................................................................15 Search&Promote 8.17.0 Release Notes (10/30/2014)..................................................................................................................15 Search&Promote 8.16.0 Release Notes (9/18/2014).....................................................................................................................16 Search&Promote 8.15.0 Release Notes (06/19/2014)........................................................................................................17 Search&Promote 8.14.0 Release Notes (05/22/2014)........................................................................................................17 Search&Promote 8.13.0 Release Notes (04/16/2014)..................................................................................................................17 Search&Promote 8.12.0 Release Notes (01/16/2014)..................................................................................................................18 Search&Promote 8.11.0 Release Notes (10/29/2013)..................................................................................................................19 Search&Promote 8.10.1 Release Notes (07/18/2013)..................................................................................................................20 Search&Promote 8.9.8 Release Notes (05/23/2013).....................................................................................................................21 Search&Promote 8.9.6 Release Notes (03/21/2013).....................................................................................................................21 Search&Promote 8.9.5 Release Notes (02/21/2013).....................................................................................................................22 Search&Promote 8.9.4 Release Notes (01/17/2013).....................................................................................................................22 Search&Promote 8.9.3 Release Notes (11/01/2012).....................................................................................................................23 Search&Promote 8.9.2 Release Notes (09/13/2012).....................................................................................................................24 Search&Promote 8.9.1 Release Notes (08/16/2012).....................................................................................................................24 Search&Promote 8.9 Release Notes (07/19/2012)........................................................................................................................25 Search&Promote 8.8.1 Release Notes......................................................................................................................................25 Search&Promote 8.8 Release Notes.........................................................................................................................................25 Search&Promote 8.7.2 Release Notes......................................................................................................................................26 Last updated 5/25/2017 Adobe SearchandPromote Contents Search&Promote 8.7.1 Release Notes......................................................................................................................................26 Search&Promote 8.7 Release Notes.........................................................................................................................................27 Getting Started...............................................................................................................28 Home...............................................................................................................................31 Using History...................................................................................................................33 Design..............................................................................................................................34 Facets...................................................................................................................................................................................34 Adding a new facet..................................................................................................................................................................................37 Adding a nested facet.............................................................................................................................................................................42 Editing a facet.............................................................................................................................................................................................43 Deleting a facet..........................................................................................................................................................................................43 About Facet Rail...............................................................................................................................................................44 Configuring a facet rail............................................................................................................................................................................44 Dynamic Facets................................................................................................................................................................46 Configuring dynamic facets..................................................................................................................................................................48 Breadcrumbs.....................................................................................................................................................................52 Adding a new breadcrumb...................................................................................................................................................................52 Editing a breadcrumb.............................................................................................................................................................................54 Deleting a breadcrumb..........................................................................................................................................................................55 Page Navigation...............................................................................................................................................................55 Adding web page navigation...............................................................................................................................................................55 Editing web page navigation...............................................................................................................................................................56 Menus..................................................................................................................................................................................57 Adding a new menu................................................................................................................................................................................57 Editing a menu...........................................................................................................................................................................................59 Deleting a menu........................................................................................................................................................................................60 Configuring recent searches.......................................................................................................................................60 Recent searches options........................................................................................................................................................................61 Templates...........................................................................................................................................................................61 Adding a new presentation or transport template file...............................................................................................................67 Last updated 5/25/2017 Adobe SearchandPromote Editing a presentation or a transport template.............................................................................................................................68 Copying a presentation or a transport template file...................................................................................................................69 Renaming a presentation or a transport template file................................................................................................................69 Deleting a presentation or a transport template file...................................................................................................................70 Previewing the presentation template minimized......................................................................................................................70 Reducing the page weight of a presentation template on your website............................................................................71 Setting the default presentation template file to use on your website................................................................................71 Previewing the XML of a transport template file..........................................................................................................................72 Banners...............................................................................................................................................................................73 Adding a banner.......................................................................................................................................................................................74 Editing a banner........................................................................................................................................................................................76 Adding a banner using Adobe Scene7.............................................................................................................................................76 Editing a banner using Adobe Scene7..............................................................................................................................................85 Deleting banners......................................................................................................................................................................................86 Previewing banners.................................................................................................................................................................................86 Pushing banners live...............................................................................................................................................................................87 Auto-Complete................................................................................................................................................................87 Configuring Auto-Complete.................................................................................................................................................................87 Configuring Auto-Complete Word List.............................................................................................................................................89 Configuring Auto-Complete CSS........................................................................................................................................................91 Previewing the search form as it would appear on your website...........................................................................................91 Copying the HTML code of the search form into the pages of your website.....................................................................92 Rules................................................................................................................................93 Query Cleaning Rules.....................................................................................................................................................93 Adding a query cleaning rule...............................................................................................................................................................94 Editing a query cleaning rule................................................................................................................................................................96 Deleting a query cleaning rule.............................................................................................................................................................97 Changing the order that query cleaning rules run.......................................................................................................................97 Direct Hits...........................................................................................................................................................................98 Configuring direct hits............................................................................................................................................................................98 Testing direct hits.....................................................................................................................................................................................99 Pre-Search Rules..............................................................................................................................................................99 Adding a new pre-search rule............................................................................................................................................................100 Last updated 5/25/2017 Adobe SearchandPromote Contents Editing a pre-search rule......................................................................................................................................................................103 Deleting a pre-search rule...................................................................................................................................................................103 Changing the order that pre-search rules run.............................................................................................................................104 Post-Search Rules..........................................................................................................................................................104 Adding a new post-search rule.........................................................................................................................................................106 Editing a post-search rule....................................................................................................................................................................108 Deleting a post-search rule.................................................................................................................................................................109 Changing the order that post-search rules run...........................................................................................................................109 Business Rules................................................................................................................................................................110 Adding a new business rule...............................................................................................................................................................111 Editing a business rule..........................................................................................................................................................................116 Copying a business rule.......................................................................................................................................................................118 Approving business rules....................................................................................................................................................................118 Suspending business rules.................................................................................................................................................................119 Resume business rules.........................................................................................................................................................................119 Changing the order that business rules run.................................................................................................................................120 Deleting business rules........................................................................................................................................................................120 Applying a Target campaign to multiple business rules.........................................................................................................121 Adding a new Target campaign........................................................................................................................................................121 Target Campaigns........................................................................................................................................................122 Viewing a Target Campaign Summary Report............................................................................................................................122 Selecting a Target Winning Experience.........................................................................................................................................123 Ranking Rules.................................................................................................................................................................123 Configuring ranking..............................................................................................................................................................................124 About ranking documents by age...................................................................................................................................................125 Adding a ranking rule...........................................................................................................................................................................127 Editing a ranking rule............................................................................................................................................................................132 Deleting a ranking rule.........................................................................................................................................................................132 Adding a ranking rule group..............................................................................................................................................................133 Editing a ranking rule group..............................................................................................................................................................134 Deleting a ranking rule group...........................................................................................................................................................134 Reviewing ranking rule groups.........................................................................................................................................................135 Testing ranking rules.............................................................................................................................................................................135 Adjusting the weight associated with ranking rules.................................................................................................................136 Last updated 5/25/2017 Adobe SearchandPromote Linguistics.....................................................................................................................137 Dictionaries.....................................................................................................................................................................137 Adding a new dictionary.....................................................................................................................................................................139 Enabling or disabling a dictionary...................................................................................................................................................140 Editing a dictionary................................................................................................................................................................................141 Renaming a dictionary.........................................................................................................................................................................143 Configuring a dictionary as a stemming dictionary..................................................................................................................143 Searching across dictionaries.............................................................................................................................................................144 Deleting a dictionary.............................................................................................................................................................................144 Words & Language.......................................................................................................................................................145 Configuring how search terms are matched to your web content......................................................................................145 Did You Mean.................................................................................................................................................................148 Configuring Did You Mean.................................................................................................................................................................148 Query Expansion Overrides.......................................................................................................................................151 Configuring Query Expansion Overrides.......................................................................................................................................151 Excluded Words.............................................................................................................................................................153 Configuring Excluded Words.............................................................................................................................................................154 Common Phrases..........................................................................................................................................................154 Adding a Common Phrase Group....................................................................................................................................................155 Testing a Common Phrase..................................................................................................................................................................156 Finding groups that contain particular words in a phrase......................................................................................................157 Editing a Common Phrase Group.....................................................................................................................................................157 Renaming a Common Phrase Group...............................................................................................................................................158 Deleting a Common Phrase Group..................................................................................................................................................158 Simulator.......................................................................................................................159 Using the Simulator.....................................................................................................................................................159 Simulator page options........................................................................................................................................................................159 Staging..........................................................................................................................161 Viewing live settings....................................................................................................................................................162 Pushing stage settings live........................................................................................................................................162 Last updated 5/25/2017 Adobe SearchandPromote Contents Deleting stage-live settings from a central location........................................................................................162 Reports..........................................................................................................................163 Viewing the Terms Report or the Null Search Terms Report........................................................................163 Data Views.......................................................................................................................................................................164 Adding a data view................................................................................................................................................................................164 Editing a data view.................................................................................................................................................................................164 Copying a data view..............................................................................................................................................................................166 Deleting a data view..............................................................................................................................................................................167 Viewing a data view...............................................................................................................................................................................167 Setting up SiteCatalyst Report Suites....................................................................................................................167 Viewing the Search Request Report or the Content Requests Report......................................................168 Viewing the Search Index Size Report...................................................................................................................169 Viewing the Crawl Performance Report or the Staged Crawl Performance Report.............................169 Viewing the Change Log............................................................................................................................................170 Alerts..................................................................................................................................................................................171 Viewing alerts..........................................................................................................................................................................................171 Index..............................................................................................................................172 Index Overview..............................................................................................................................................................172 Full Index..........................................................................................................................................................................172 Setting the full index schedule for a live website.......................................................................................................................172 Running a full index of a live or staged website.........................................................................................................................173 Viewing the full index log of a live or staged website..............................................................................................................174 Incremental Index.........................................................................................................................................................174 Configuring an incremental index of a staged website...........................................................................................................175 Setting the incremental index schedule for a live website.....................................................................................................179 Running an incremental index of a live or staged website.....................................................................................................179 Viewing the incremental index log of a live or staged website............................................................................................180 Scripted Index................................................................................................................................................................180 Configuring a scripted incremental index....................................................................................................................................184 Setting the scripted incremental index schedule for a live website....................................................................................185 Running a scripted incremental index of a live or staged website......................................................................................185 Last updated 5/25/2017 Adobe SearchandPromote Viewing the scripted incremental index log of a live or staged website...........................................................................186 Regenerate Index..........................................................................................................................................................186 Regenerating the index of a live or staged website..................................................................................................................186 Viewing the regenerated index log of a live or staged website............................................................................................187 Re-Rank Index.................................................................................................................................................................187 Re-ranking the index of a live or staged website........................................................................................................................187 Viewing the re-ranked index log of a live or staged website.................................................................................................188 Remote Control for Indexing....................................................................................................................................188 Configuring Remote Control for indexing....................................................................................................................................192 Rollback for indexes.....................................................................................................................................................193 Configuring the rollback archiving schedule of indexes.........................................................................................................194 Activating an archived index.............................................................................................................................................................194 Viewing the log of all index rollbacks.............................................................................................................................................195 Vertical Update..............................................................................................................................................................195 Configuring a Vertical Update of a staged website...................................................................................................................196 Viewing the Vertical Update log of a live or staged website..................................................................................................197 Settings.........................................................................................................................198 Crawling...........................................................................................................................................................................198 URL Entrypoints......................................................................................................................................................................................198 URL Masks.................................................................................................................................................................................................200 Date Masks................................................................................................................................................................................................204 Passwords..................................................................................................................................................................................................208 Content Types.........................................................................................................................................................................................210 Connections.............................................................................................................................................................................................211 Form Submission....................................................................................................................................................................................212 Index Connector.....................................................................................................................................................................................216 Searching.........................................................................................................................................................................234 Searches.....................................................................................................................................................................................................234 Pinned Results Keyword Manager...................................................................................................................................................241 Collections................................................................................................................................................................................................245 Restrictions...............................................................................................................................................................................................246 Preview.......................................................................................................................................................................................................248 Feeds...........................................................................................................................................................................................................249 Last updated 5/25/2017 Adobe SearchandPromote Contents Metadata..........................................................................................................................................................................265 Definitions.................................................................................................................................................................................................265 Injections...................................................................................................................................................................................................275 Attribute Loader.....................................................................................................................................................................................278 Filtering............................................................................................................................................................................292 Filtering Script.........................................................................................................................................................................................292 Initialization Script.................................................................................................................................................................................298 Termination Script.................................................................................................................................................................................303 URL Masks.................................................................................................................................................................................................307 Content Types in Filtering...................................................................................................................................................................308 Rewrite Rules..................................................................................................................................................................309 Crawl List Store URL Rules...................................................................................................................................................................309 Crawl List Retrieve URL Rules.............................................................................................................................................................315 Crawl Title Rules......................................................................................................................................................................................321 Search URL Rules....................................................................................................................................................................................326 Search Title Rules....................................................................................................................................................................................332 SiteCatalyst......................................................................................................................................................................336 Setting up SiteCatalyst metrics authentication...........................................................................................................................336 SiteCatalyst Report Suites...................................................................................................................................................................337 Configuring advanced SiteCatalyst options.................................................................................................................................343 SAINT Classification Feeds..................................................................................................................................................................344 SEO.....................................................................................................................................................................................347 Configuring a search results word list............................................................................................................................................348 Configuring a browse pages word list............................................................................................................................................349 Configuring an item detail word list................................................................................................................................................350 Previewing the SEO meta tags that you configured.................................................................................................................350 My Profile.........................................................................................................................................................................351 Configuring your personal user information...............................................................................................................................351 Configuring your preferences............................................................................................................................................................351 Changing your login password.........................................................................................................................................................352 Canceling your login.............................................................................................................................................................................353 Viewing your access privileges..........................................................................................................................................................353 Account Options...........................................................................................................................................................354 Last updated 5/25/2017 Adobe SearchandPromote Configuring your account settings..................................................................................................................................................354 Configuring integration with Adobe CQ5.....................................................................................................................................355 Configuring Merchandising preferences.......................................................................................................................................355 Configuring access to your Adobe Test&Target account..............................................................................................356 Configuring access to your Adobe Scene7 account..................................................................................................................357 Configuring SiteCatalyst Redirector................................................................................................................................................358 Configuring root files............................................................................................................................................................................359 Transferring account ownership to another account user.....................................................................................................360 Removing an account...........................................................................................................................................................................361 Removing yourself from an account...............................................................................................................................................361 Users..................................................................................................................................................................................362 Viewing account users..........................................................................................................................................................................362 Adding account users...........................................................................................................................................................................363 Viewing the roles that exist for an account..................................................................................................................................363 Editing a role............................................................................................................................................................................................364 Adding a new role to an account.....................................................................................................................................................364 Configuring role membership...........................................................................................................................................................365 Accounts........................................................................................................................367 Selecting a different account to use......................................................................................................................367 Appendices...................................................................................................................368 Date Formats..................................................................................................................................................................368 Regular Expressions.....................................................................................................................................................370 Proximity search............................................................................................................................................................373 Templates........................................................................................................................................................................375 Presentation template tags................................................................................................................................................................375 Transport template tags......................................................................................................................................................................402 Search template tags............................................................................................................................................................................405 Managing multiple transport templates for your website......................................................................................................433 CGI parameters..............................................................................................................................................................434 Search CGI parameters.........................................................................................................................................................................434 Backend search CGI parameters.......................................................................................................................................................436 Search forms...................................................................................................................................................................453 Last updated 5/25/2017 Adobe SearchandPromote Contents Using collections in search forms.....................................................................................................................................................453 Using frames with forms......................................................................................................................................................................455 Sample advanced search form..........................................................................................................................................................458 Guided Search output.................................................................................................................................................472 About Guided Search Output............................................................................................................................................................472 Frequently asked questions......................................................................................................................................520 Adobe Flash..............................................................................................................................................................................................520 General search.........................................................................................................................................................................................522 Feature implementations....................................................................................................................................................................528 International.............................................................................................................................................................................................529 Low page count......................................................................................................................................................................................531 Microsoft Office.......................................................................................................................................................................................535 MP3..............................................................................................................................................................................................................536 PDF...............................................................................................................................................................................................................538 Too many pages.....................................................................................................................................................................................540 Last updated 5/25/2017 Adobe SearchandPromote Search&Promote Documentation 12 Search&Promote Documentation News and announcements • Adobe Marketing Cloud Release Notes – Contains new features, fixes, and known issues in all of the Marketing Cloud solutions. Feature releases occur in the Spring and Fall, with maintenance releases occurring monthly. Early Access: Sign up for the Adobe Priority Product Update to receive Adobe Marketing Cloud release notes one week before each release. • The latest Adobe Search&Promote release notes: Release notes Whitepaper Understanding and Designing Index Connector Feeds in Adobe Search&Promote Other information Adobe Search&Promote website Industry Insights – The Adobe blog for digital marketing. Contact and legal information 13 Contact and legal information Information to help you contact Adobe and to understand the legal issues concerning your use of this product and documentation. Help & Technical Support The Adobe Marketing Cloud Customer Care team is here to assist you and provides a number of mechanisms by which they can be engaged: • Check the Marketing Cloud help pages for advice, tips, and FAQs • Ask us a quick question on Twitter @AdobeMktgCare • Log an incident in our customer portal • Contact the Customer Care team directly • Check availability and status of Marketing Cloud Solutions Service, Capability & Billing Dependent on your solution configuration, some options described in this documentation might not be available to you. As each account is unique, please refer to your contract for pricing, due dates, terms, and conditions. If you would like to add to or otherwise change your service level, or if you have questions regarding your current service, please contact your Account Manager. Feedback We welcome any suggestions or feedback regarding this solution. Enhancement ideas and suggestions for the Analytics suite can be added to our Customer Idea Exchange. Legal © 2017, Adobe All rights reserved. Published by Adobe Systems Inc. Adobe General Terms of Use | Privacy Center A trademark symbol such as ®, ™, and so forth, denotes an Adobe trademark. All third-party trademarks are the property of their respective owners. Updated Information/Additional Third Party Code Information available at http://www.adobe.com/go/thirdparty. rsb+cjmr – 09051961 Release notes 14 Release notes Read about new features, fixes, and enhancements in the latest version of Adobe Search&Promote–part of Adobe Marketing Cloud. Archive Browse past release notes. Search&Promote 15.3.1 Release Notes (03/24/2015) New features and enhancements • Searching product model numbers - Added a new Linguistics setting that lets you optionally split tokens on alphabetical–numerical transitions. This functionality allows more flexible free-text matches on part or product style tokens. See Partial Alphanumeric Matching in Words & Language options. • Added ability to export data view results. See About Data Views. • Dynamically Generated Ranges for ranged attributes auto-facet-value bucketing features. Adobe Systems currently requires you to provide content identifying range values to do this. For example, for a price of 10, generate a range string "Between $10 and $20"). Or, Adobe Systems requires you to use Scripted Filtering. Added new attributes to a metadata field definition, for Type=Number fields only. The new options associate the numeric field with a Type=Text field, and specify configuration information describing how the range description is built. See Meta tag field options. Fixes • Facet rail edit dialog should include staged facets. • Empty core search results for "embedded" search mode, for a search containing Japanese characters. • Tika conversion of Word .docx files now populates the title attribute. • Corrected erroneous "duplicate banner" messages in the Banner manager. • Scene7 banners are now protocol-agnostic. • The Table Name field attribute was sometimes hidden when editing user-defined fields in the Metadata user interface, even when Dynamic Facets was enabled for the account. • Recent Searches no longer multiply-encodes non-ASCII characters. • MDI fields can be populated without resorting to Scripted Filtering. • Wrong encoding in suggestions. • "other facet selected" trigger now works correctly with complex business rules. Release notes 15 Search&Promote 15.1.1 Release Notes (01/15/2015) New feature • Previously, linguistics such as stemming, synonyms, and so forth, were always applied to keywords in Guided Search rules. Now you can disable this expansion so that the keyword is used as is. When you want to apply trigger conditions to a business rule, in the Advanced Rule Builder, following If any/all of the following conditions are met, in the first drop-down list, select keyword, and then select the new operator equal exact in the second drop-down list. See About Business Rules. Fixes and enhancements • Visual Rule Builder and Advanced Rule Builder no longer truncates the MDI (Merchandising Document ID) field value. • RBTA-related indexing failures are now fixed. • Editing an existing business rule that has a status of "approved" now revokes the "approved" status. You must use Advanced Rule Builder to recheck the option Approved, and then save the rule as usual. If you do not reapprove an edited rule, the rule's status is automatically set to WIP (Work In Progress) on the Business Rules page. • A new Advanced Search option is now available on the Business Rules page for improved filtering of rules. • Added contains word condition to rule triggers in Query Cleaning, Pre-Search Rules, Post Search Rules, and Business Rules, to let you easily specify word breaks. • Improvements made to business rule notes such as when you view a rule, you can now retrieve the notes history for that rule. Also, notes are now logged in Reports > Change Log. • Queries with nonzero sp_i values are no longer run through the SiteCatalyst redirector. See row 15 in the table in Backend search CGI parameters. Search&Promote 8.17.0 Release Notes (10/30/2014) New features • Debugging of the simulator – provides additional information concerning the placement of each individual visible search result. • Tags for business rules – Added ability to tag business rules with specific labels thereby letting you filter for rules that match a given label. See About Business Rules. Fixes and enhancements • Vertical update-based re-ranking – faster re-ranking of the index now results in performance that is better representative of what your real web traffic experiences. See About Re-Rank Index. Release notes 16 • When Ignore Apostrophes and Ignore Hyphens is enabled in Linguistics > Words & Language, Auto-complete now removes apostrophes and hyphens from the query data as expected. See About Words & Language and About Auto-Complete. • Process monitor now restarts apache processes. • Implemented a "Reveal Facet Item" action in Business Rules. • On the Adjust Ranking Weights page, you now have the ability to adjust the Rule & Relevancy Balance setting in 1% increments. See Adjusting the weight associated with ranking rules. • Apache was crashing with Kindle Fire's Silk browser user-agent. • An indexing failure issue was fixed. Search&Promote 8.16.0 Release Notes (9/18/2014) New features • Caching of search results in Guided Search 3 (GS3) – To have this custom feature setup for you so that you can use it in your account, contact your Adobe Technical Account Manager. • Vertical updates for frequently changed fields - You now have the ability to quickly update all the values for a set of metadata fields without the need to completely reindex your content. See the Vertical Update Field option in the table in Meta tag field options and . This feature can only be used on Adobe Search&Promote accounts that use Index Connector. To have this custom feature setup for you so that you can use it in your account, contact your Adobe Technical Account Manager. Fixes and enhancements • Corrected the Index Connector parsing of XML feeds that contained ?> string. • Fixed Index Connector SFTP feeds when the minimum document count was enforced. • Report export to Microsoft Excel now supports UTF8. • Guided Search: facets compile was slow. • Attribute Loader: aggregate data had duplicate keys. • Fixed wrong Business Rule run order when pushing an individual rule live. • The wrong facet Undo links were getting generated by Guided Search. • New remote control operation added (sp_lines=N) that lets you check the progress and status of a currently running index crawl. See About Remote Control for Indexing. • Need to send auth information when fetching deletes information during Index Connector incremental. • The Change Log report now identifies the user who initiates a manual index operation. See Viewing the Change Log. • When you export a Terms Report, you are no longer limited to 500 or less items in the report. See Viewing the Terms Report or the Null Search Terms Report. Release notes 17 • The Index Connector Strip HTML setting was always displaying as checked. • Inconsistent search results were experienced with the Common Phrases feature. • Display of attribute names were getting truncated in the Rule list summaries. • Pushing an individual Business Rule live was pushing all Business Rules live. Search&Promote 8.15.0 Release Notes (6/19/2014) New features • Phrase stemming – Stemming of synonyms within a phrase is now supported. To enable and use this feature in Adobe Search&Promote, contact your Adobe Technical Account Manager. See also Alternate Word Forms in Words & Language options. Fixes and enhancements • Speed improvements were made to the overall guided search performance. • The Attribute loader was throwing a 404 error. • If SPIN tried to generate a template that was too large, an alert was displayed. • Updates were made to the Chinese, Korean, and Japanese morphological analyzer. Search&Promote 8.14.0 Release Notes (05/22/2014) Fixes • If sqlite_open fails, the old sqlite database file is moved out of the way and a new one is created from scratch. • Core search results were inconsistent when the same search was repeated. • Performance improvement of template processing when there are many fields being output per search result. • Added Notes to Business Rule History. • Performance of the result-based triggers and actions preview-index regeneration phase, during indexing operations, steadily degraded over time. • Changed Reset SPIN cache option from boolean no/next-run to a tri-state: no/always/next-run. Search&Promote 8.13.0 Release Notes (04/16/2014) New feature and enhancement Description Dynamic Facets with full table Some customers had many "SKU level" attributes that they wanted to select and display by way match support of Dynamic Facets. As such, you can now optionally associate each dynamic facet field with up to one table name in a static account configuration. Those table relationships can then be applied at search-time for any dynamic facet fields involved in the search. See Dynamic Facets. Fixes Release notes 18 • Changed the data view description field to use the tag <search-display-field> instead of the <search-description>. • Added a feature into Index Connector to make the Primary Key the concatenation of two or more fields. • Changed the AttributeLoader-Regen-Enabled script attributeloader-regen.pl to not HTML-encode values. • Matched index-time and search-time whitespace treatment for "range search" queries. • Adding a business rule sometimes resulted in an error when Dynamic Facets was enabled. See About Business Rules. • A Javascript error prevented adding or editing a definition in Settings > SPIN > IndexConnector. • After a Business Rule was saved it appeared that when the time was selected during the Business Rule creation it was defaulting to the GMT time zone. After it was saved it appeared that the Time Zone of the Account then took effect. See About Business Rules. • The sorting of business rules in Stage was not working correctly. See About Business Rules. • Search performance reporting was enhancement by giving you the ability to schedule reports for email delivery. • Business rule fixed schedule was automatically changing to Daylight Saving Time. See About Business Rules. • If a large number of dynamic facet fields were defined, users experienced slow core search response times. • False range index errors were occurring. • Scene7 access in non-North American datacenters was broken. • The SPIN XPath validation function was returning a false-positive error. • After a SPIN enable/disable operation, the user was redirected to the member center login page. Search&Promote 8.12.0 Release Notes (01/16/2014) New features and enhancements Description Stemming dictionaries added Stemming dictionaries were added for Indonesian and Turkish languages. See About Dictionaries. Export reports You can now export data to CSV from the following reports: • Terms Report • Null Search Terms Report • Search Request Report See About the Reports menu. Do not associate You can now control which two words should not be associated together in search results, such as "Sweatshirt" and "Shirt". Release notes 19 New features and enhancements Description Note: This feature is not enabled by default. Contact Adobe Customer Care to activate the feature in Search&Promote for your use. Fixes • You could not add results in a Recommended zone that were outside the currently selected faceting criteria. • You could not save results-based rules for an account with HTTPS-only searching. • Setting up a Business rule for "is not a mobile phone" did not work. See About Business Rules. • Performing an inventory filter search did not return results. • The Size facet order was not getting updated. • Added the option for a "custom" rule definition to the Query Cleaning page. See About Query Cleaning Rules. • The Terms report was repeating entries if there was not enough data. See Viewing the Terms Report or the Null Search Terms Report. • Pushing a single business rule live was working in Staging mode, but failing in Live mode. • Auto-complete edits to Include or Exclude lists were not saved in History and, therefore, could not be reverted. See About Auto-Complete. Search&Promote 8.11.0 Release Notes (10/29/2013) New feature Description Danish de-compounder A mechanism is now provided to allow Adobe Search&Promote to access the language (Danish) detection, decompounding, stemming and segmentor services provided by Adobe. Enhancements and fixes • Enhancements made to the existing Search&Promote table matching capabilities. The enhancements provide better support of customer requirements related to increasingly complex relationships between SKU and product data. Note: This feature is not enabled by default. Contact Adobe Customer Care to activate the feature in Search&Promote for your use. • Added an option that allows Guided Search to sort Facets using the account's language setting. Note: This feature is not enabled by default. Contact Adobe Customer Care to activate the feature in Search&Promote for your use. Release notes 20 • Added an option to increase the number of facet values that a user can specify for multi-select facets. Note: This feature is not enabled by default. Contact Adobe Customer Care to activate the feature in Search&Promote for your use. • Added the checkbox option Only allow searches that use HTTPS to Settings > Searching > Restrictions. See About Restrictions. • Added an option to Settings > Searching > Feeds > Create Feed > Generic Feed to preserve tab characters in the File Submission panel of the wizard. See Creating a feed. • Increased the size of data that is accepted in each of the top and bottom fields for the new facet definition form from 80 characters to 1000. See About Facets. • Guided Search debug parameters now correctly report business rule numbers. • Business rules are now applied on the Live environment. • Proximity search is now functional when searching by longitude/latitude, for accounts configured with Language = "Danish (Denmark)". • Results-based triggers with no schedule assigned are now triggered. • Consistent results are now reported when using the Ignore Apostrophes option in Linguistics > Words & Language. See About Words & Language. • Auto-Complete word list user interface now works on large number of facets. Search&Promote 8.10.1 Release Notes (07/18/2013) New feature Description Dynamic faceting Dynamic faceting is a new enhancement that allows core search to return the set of N-most relevant dynamic-facet-fields for a given search from among a pool of dynamic-facet-fields. If you are interested in this new enhancement, contact consulting. They will perform an assessment to see if you can leverage its benefit. German de-compounder A de-compounder is now available to support German. Fixes and enhancements • Business Rules – Added the ability to assign more than one schedule to a business rule. See About Business Rules. • Guided Search – Fixed an issue where falling back to the XML parser was disabled. • Archive, compressed, and uncompressed files – Added the capability to download and extract information from the following archive, compressed, and uncompressed file types: .zip/tar/tar.gz/tar.bz2/gzip/bzip2 Release notes 21 • Remote control indexing – Added regenerate ability to remote control indexing actions. See About Remote Control for Indexing. See also About Regenerate Index. • Facet rail – Added support for multiple facet rails. See About Facet Rail. Search&Promote 8.9.8 Release Notes (05/23/2013) New feature Description Common phrases exact match support Common phrases contain terms of two or more words that are searched on as a whole–such as "boot cut" or "tank top"–and not as separate parts. A common phrase has a meaning that is unique and different from any of its individual parts. You maintain a dictionary of common phrases related to your business. When a customer performs a search query that contains multiple words, a search is performed on the dictionary for the exact same match. You can add, edit, or delete common phrases. You can also group common phrases similar to domain dictionaries. For example you can group common phrases by apparel, fabric, jewelry, measurements, shopping, and general. See About Common Phrases. Fixes and enhancements • The backend search CGI parameter sp_date_range_# did not work for user-defined fields. See Backend search CGI parameters. • Reverting History version did not update the URL entrypoints field content. See Using the History option. See also About URL Entrypoints. • JSON encoding was not managing wrongly encoded characters. • Support now added that lets you remotely push live a staged index. See About Remote Control for Indexing. Search&Promote 8.9.6 Release Notes (03/21/2013) Fixes and enhancements • The value of 0 was not being removed from Breadcrumbs. See About Breadcrumbs. • When a large list of direct-hits were processed an error occurred. See About Direct Hits. Release notes 22 • Enhancements made when you push one or more Business Rules live. See About Business Rules. See Pushing stage settings live. Search&Promote 8.9.5 Release Notes (02/21/2013) Fixes • You can now reorder facets dynamically. See About Facet Rail. • The backend search CGI parameters sp_d_# and sp_date_range_# were not working for user-defined metadata fields. See table rows 6 and 8 in Backend search CGI parameters. • A de-duplication problem caused the search results count to be unequal to the specified count. See Adding a new search definition and GS Search options. See also Adding a new presentation or transport template file and Presentation template tags Search&Promote 8.9.4 Release Notes (01/17/2013) New features and enhancements Description Rules Added the ability to create inline notes when you create Query Cleaning Rules, Pre-Search Rules, and Post-Search Rules. The notes field lets you document and explain the rules. See About Query Cleaning Rules. See About Pre-Search Rules. See About Post-Search Rules. Guided Search Added Guided Search tags to indicate the total time that a search took. <guided-search-time> - Identifies how long the search took. The returned search time value is specified in ms. <guided-fall-through-searches> - Returns the count of cores searches that are used to build the page of search results. <guided-if-fall-through-search> - Tests if the count of core searches is greater than 1. See also Miscellaneous Language. Fixes • The Terms Report now ignores the asterisk character. See Viewing the Terms Report or the Null Search Terms Report. Release notes 23 • Open Reports > Null Search Terms Report, select a time slot and then view the report. Clicked one word in the report to open the search, and then click View Report again. The search count of the keyword you clicked increased twice. This is now fixed. See Viewing the Terms Report or the Null Search Terms Report. • A performance optimization was made for when you push Business Rules live. See About Business Rules. • The ability to remove in Breadcrumbs did not work all the time. See About Breadcrumbs. • Unless you used Regenerate, the Re-rank feature did not allow any changed Ranking Rules to take effect in search results. See About Ranking Rules. See About Re-Rank Index. Search&Promote 8.9.3 Release Notes (11/01/2012) New features and enhancements Description Facet Rail Added the new Facet Rail option to help give you greater control over the ordering of facet families and facet names (by count, alphabetical). See About Facet Rail. Nested facets Added support for alternate sorting of nested facets. See About Facet Rail. Notes field in ranking Added a multi-line Notes field to the Add Ranking Metric dialog box and the Edit Ranking Metric rules dialog box for ranking rules and rule group definitions. Ranking rule notes are displayed on the Define Ranking Rules page. Rule group notes appear when you edit the definition. See About Ranking Rules. Business rules Improved landing page support by removing natural results in a business rule using the new Remove All Results option. Use this new option in conjunction with other business rule actions to create "canned landing pages." That is, you want to create a page's content by business rule actions exclusively and you need to discard the "natural" results of the search. See Adding a new business rule or Editing a business rule. Banners and business Added a support option where you can conditionally opt out pushing banners live when the business rules rule that references the banner is pushed live. Fixes Release notes 24 • Business rules worked inconsistently when there was a Stage index. • Autoranking rules are now applied to canned landing pages. See Ranking rule options. • promosearch.cgi was not returning promotions. See About Searches. • Pushing rules that referenced many banners sometimes failed. See About Banners. • Did You Mean search query caching is now disabled. See About Did You Mean. Search&Promote 8.9.2 Release Notes (09/13/2012) Fixes and enhancements • You can now automatically push banners live when business rules are pushed live. • Fixed an issue where search counts in parent nested facets were inaccurate. • Fixed an issue where business rules stopped working on either Staging or Live after being edited, pushed live, and then followed with a full live index. • Business rule triggers are now combined to reduce the number of rules. See Business Rule Builder options. • Fixed an issue where edited business rules remained broken for approximately ten seconds after the rule was pushed live. • Fixed an issue where if you pushed business rules live during a live indexing operation, any edited business rules became non-functional after the indexing operation completed. • You can now reset the to rank field value on the Edit Pre-Search Rule page. See Editing a pre-search rule. Search&Promote 8.9.1 Release Notes (08/16/2012) Fixes and enhancements • Fixed search queries that had asterisks at the end and were not expanded with their synonyms. • Fixed date queries that were working incorrectly. • Fixed an error where it was possible to add an empty line to the Auto-complete word list. • Added support for facet sorting that is not case sensitive. • Added an advisory message to tell the user to create a strong Adobe Search&Promote account password. • Added a SSO-Login-Only option to the Support tab in the Member Center. • Fixed an error in scripted filtering that could hang a search crawl. • Fixed an error where nothing would happen when you right-clicked Banner, and then clicked Select Different Banner from visual rule builder. • Fixed various issues with pushing staged business rules live. • Fixed an error in which banner tags are not searched. Release notes 25 Search&Promote 8.9 Release Notes (07/19/2012) New features • Metadata management improvements - Dynamic metadata definition from customer feeds Create a scheme to dynamically re-configure your Search&Promote account based on customer-provided metadata definitions. • Indexing performance improvements - Index Loader Index Loader is a new way to import XML content directly into a Search&Promote index. It is a subset of the existing Index Connector functionality that is designed to quickly import our standard XML feed files. Fixes and enhancements • Added support for changing the sort option by a business rule. • In the Help system <search-description> tag shows the body instead when the meta tag for the description has empty content. • Added ability to track applicable table hits for results that were added by way of results-based actions. • Added support for submitting query parameters via POST • When crawling, a final mirror_account operation can be skipped in some cases. • SiteCatalyst URLs do not include CGI arguments and the Search&Promote code that does SiteCatalyst look-ups needed to similarly strip CGI arguments from URL keys. • Rewrite rules disappeared intermittently from the user interface after they were pushed to live. • Search&Promote accounts with Did You Mean settings that were set to make suggestions due to low results may have intermittent results. • Rewrite rule test output did not have line breaks. • The Search URL Rules page and the Crawl List Store URL Rules page pointed to the wrong History page. • Clicking Edit on some banners did not display the Edit page. • Re-ranking update code could sometimes be extraordinarily slow. • Removing or pushing a facet item did not work if the facet name used mixed case. Search&Promote 8.8.1 Release Notes (05/31/2012) Fixes and enhancements • Pagination was missing the next link when there was more than 1000 results and the totals were comma separated. • Pagination was displaying GSPAGENAVPLACEHOLDER in the search results instead to the actual pagination. • Removed footer from the Visual Rule Builder. • Breadcrumbs now use facet slots display name instead of the abstract slot facet name. • Adobe Scene7: You can now edit a parameter the second time around. • Facet slots display name did not come back properly when the facet is a sticky facet (or multi-select) and is selected. • <search-description> tag showed the body instead when the metatag for the description had empty content. • Exposed Guided Search Requests under Reports > Search Requests. Search&Promote 8.8 Release Notes (04/26/2012) New features • Dynamic faceting Release notes 26 Ability to dynamically facet against a free-form set of attributes associated with each page of site content, that potentially change (new attributes are added, old ones remove or renamed) from index to index. Dynamic faceting automatically maps the slot facets with the real facets. The Guided Search layer helps facilitate this feature with business rules. • Adobe Search&Promote e user interface Implemented Adobe User Interface across all Adobe Search&Promote web pages. • Tighter integration with Adobe's login portal Adobe Search&Promote customers can use the Adobe login portal exclusively. Current Adobe Publish, Adobe SiteSearch, and Atomz customers will continue to use the legacy login. • New morphological analyzer for supporting Chinese and Japanese Morphological analyzer is applied on index and on search time for supporting Chinese and Japanese. • Support for new documents types, such as Microsoft Office 2010 Search can convert various type of documents, such as .doc, .docx, .pdf, and .mp3 into HTML before feeding into the indexer. • New Adobe Search&Promote online Help system Online Help system has a new user interface and is now task-based. Fixes and enhancements • Fixed pushing a banner live using Stage Manager that resulted in broken Scene7 related functionality in live. • Fixed an issue where editing a rule with the trigger "Query Parameter does not exist" was incorrectly translated to "Keyword contains". • Fixed an issue where you were unable to Edit Parameter the second time around. • Fixed an issue with Index Connector where two or more map definitions cannot point to the same metadata/field value. • Fixed problems with crawling some PDF documents. Upgrading to 3.03 solves the recent crashes. • Added the ability for shorter business rules descriptions (for example, not showing field_table in the manager). • The Guided Search navigation menu had a maximum of nine items. Now the maximum is 20. • Performance improvements made to Index Connector. Search&Promote 8.7.2 Release Notes (03/29/2012) Product Fixes and Enhancements • Corrected an issue with Business Rules to return the correct facets. • Fixed an issue with result-based actions that were not working with some staged searches. • Fixed issues with direct hit data that was doubly-encoded on the client side and the server side. • Fixed Visual Rule Builder to now support facet actions on Internet Explorer 7 and 8 for certain customers. • Fixed as issue with Business Rules keyword equality tests with pipe delimiter. • Fixed an issue with editing Scene7 banner parameters. • Added ability to change the size of a Scene7 banner while maintaining its aspect ratio. Search&Promote 8.7.1 Release Notes (02/23/2012) New features • Access Scene7 assets from within Search&Promote. • Configure Scene7 banner parameters from within Search&Promote. Release notes 27 • Apply Scene7 banners to business rules. About Banners Product enhancement Improvement to search time performance through the addition of support for caching HTC presentation templates to both memory and file. Product Fixes • Adding a new user name with leading spaces resulted in an invalid error. • Fixed issues with Suggestions. • Only invalidate template file caches on start-servers and not on every Guided Search Apache reload. • Fixed issues with Did You Mean functionality. • Fixed index crawling issues with xlhtml and ppthtml. • Copy Rule feature displayed name value as garbage characters. • Preservation of time stamps so that template caches are not invalidated. • Some change parameters fields were cut off when the scroll bar appeared in the Scene7 banner dialog box. • Any Business Rule changes you made to Scene7 banner parameters worked in the Staging area, but did not take effect when you pushed live. Search&Promote 8.7 Release Notes (01/19/2012) New features • Access Adobe Scene7 assets from within Search&Promote. • Configure Adobe Scene7 banner parameters from within Search&Promote. • Apply Adobe Scene7 banners to business rules. Software fixes • Boost to Did You Mean response time. • Correct miscalculated SiteCatalyst metrics values. • Search time performance improvement - optimize evaluation of query cleaning, pre-search, and post-search rules. • Obsolete urlblocker service bogging down the URL entrypoint validation. • JSON parser fails to parse result with malformed UTF-8 characters. • Facet undo path broken for multi-select facets with a $ symbol. Getting Started 28 Getting Started If you are new to Target, site search/merchandising and dynamic navigation, start here to get up and running with your account. Among other things, you will learn how to index your website, and customize the look and feel of your search results. Configuring your account Before you begin to customize your account, change the password that was initially assigned to you. See Changing your login password. You should also add or edit your personal settings such as character set encoding, contact information, email address, and preferences. See Configuring your personal user information. See Configuring your preferences. When you have finished with your personal settings, open your account-wide settings. See Configuring your account settings. Review your account name and website address, and then select a time zone to use for reports and scheduling. The website address you enter is the main site "entrypoint" for your site. All pages below the entrypoint are crawled and indexed if they are linked, directly or indirectly, to the specified URL. For example, if the entrypoint is http://www.mysite.com/, the page http://www.mysite.com/news/04.html is indexed, if it is linked from the main index.html page or a page that is linked from that index. If your website contains sections that are not linked from the main entrypoint, such as pages on a second domain, you can specify additional URL entrypoints. See Adding multiple URL entry points that you want indexed. Adding the sample search form code to your web pages You are now ready to add the search code to your web pages. Sample form code is provided for a standard Search form. See Previewing the search form as it would appear on your website. See Copying the HTML code of the search form into the pages of your website. Copy and paste the code into your web pages wherever you want a search form to appear. For example, many websites place a form on their home page, or in a navigation frame. You can edit the form code to suit your design and content needs, or add additional search parameters. Customizing your search results link You can optionally customize your search results link, background colors, and header information. See About Templates. See Adding a new presentation or transport template file. See Editing a presentation or a transport template. When you satisfied with the appearance of the template, save your changes, and then click Push Live. See Running a full index of a live or staged website. Getting Started 29 Indexing your website Your website is indexed when you first create an account. However, if you have added new content or edit existing content, reindex your website. See Running a full index of a live or staged website. You can also schedule regular index times. See Setting the full index schedule for a live website. See Running an incremental index of a live or staged website. If your website is large, or if you want to reindex only a set of frequently changed pages, you can configure and then perform an incremental index instead. See Configuring an incremental index of a staged website. See Running an incremental index of a live or staged website. To perform an incremental index without having to log in, you can create a scripted index. See Configuring a scripted incremental index. Or, you can use a script to pass a remote request for indexing. See Configuring Remote Control for indexing. Viewing search term reports Visitors' search queries are logged and reports are created for you by day, week, and month. These queries let you see what your customers are looking for, how often they succeed, and where your website navigation breaks down. See Viewing the Terms Report or the Null Search Terms Report. Advanced tasks for customizing the search experience There are many additional options that let you completely customize and control your customer's search experience. • Control which portions of your site are, and are not, indexed with URL Masks. See About URL Masks. • Include or exclude files based on their dates. See About Date Masks. • If your website includes PDF documents or files with other content types such as MP3 files or Microsoft Office files, you can choose to index or not index such files. See About Content Types. • You can also provide passwords so that site search/merchandising can access password-protected areas of your website for searching. See About Passwords. • Control the number of connections that are used to index your website. See About Connections. • Provide information about forms that you want crawled and submitted. See About Form Submission. Getting Started 30 • Exclude common words such as "a" or "the" from searches. See About Excluded Words. • Specify certain areas of your website to search, such as "News Section" or "Travel Section". See About Collections. • Customize your search for use with framesets. See Using frames with forms. • Control the locations from which a search is initiated. See About Restrictions. • Specify the values that are used when you test templates internally. See About Preview. • Metadata options let you customize the relevance of the HTML and meta fields (such as keywords or the document body) that are considered when a customer submits a search query. You can customize and define metadata fields. See About Definitions. • Alter the content of pre-defined fields. For example, you can append new content, such as "On Sale Now!") to the desc meta tags of a page or group of pages. Or, you can remove irrelevant content without altering your actual web pages. See About Injections. • Use the options under Settings > Filtering and Settings > Rewrite Rules to "rewrite" page content before it is indexed. • Configure dictionaries to let you specify groups of related words (for example, purchase, buy, and procure). These related words help to return relevant results even when a customer's search query does not exactly match the terminology that is used on your web pages. With the synonym used in the above example, a customer's search query of "purchase" returns pages that contain the word "buy." See About Dictionaries. About Home 31 About Home You can use Home to view a variety of report widgets that give you a quick overview of your Target, site search/merchandising account. You can drag-and-drop report widgets to rearrange your home page without affecting other users who are members of the account. You can also delete report widgets from the home page, or you can add them back using the Add Content drop-down list. The following table describes the report widgets that are available from Home: Widget Description Alerts Displays the last three alerts that were sent to your account. Shows the last three alerts that were sent to your account. You can click an alert for more details. This widget can save you time from having to review missed alerts in the Alerts report on the Reports product menu. Crawl Performance (Bytes Downloaded) Graphs the bytes that are downloaded during the last three days when your site was crawled. The graph provides a profile of your crawl. If the shape of the graph suddenly changes from one day to the next, it means that something on your site has changed. Or, it can mean that the configuration of the crawler has changed, or that there is a problem with the crawl itself. See About the Crawling menu. Index Information Shows the state of your current index and your last index operation. If your last index operation failed or stopped, then your current index is not updated to include that operation. This report informs you if your current index is stale and an index rebuild or index regenerate is necessary. See About Full Index See About Incremental Index See About Regenerate Index. Null Search Terms Report Shows you the top five search terms that customers searched for during the last week, but did not return any search results. Knowing the common null search terms helps you to create content or synonyms for those terms. When you click a search term in the list a search is performed. Recent Changes Shows the last five changes that were made to your account. About Home 32 Widget Description Search Form Lets you test a simple search. You can type a term that you want to test, and then click Search. By default the search form performs a search in the Staging area. Terms Report Shows the top five unique terms that a customer searched for, during the last week, that returned search results. Clicking the search term performs that search. This report shows you what customers are most frequently searching for on your site. Using the History option 33 Using the History option You can use History to review a list of all the revisions that were made to an implemented feature such as a facet, breadcrumb, banner, or template, to name a few. History shows you the following for a given feature: • Version number of the revision. • Email address of the account user who changed the options or settings of a feature. • Date that the change was made. • Type of save that was made. You can also use History to revert to a previously applied change that was made to the feature. The entry with a bold version value represents the current version and is always at the top of the list. Note: The History option is not available for all features. To use the History option 1. Depending on the feature you are currently using, click History in the upper-right corner of the page or window that is currently open. 2. (Optional) In the History window, do any of the following: • Set the number of revisions that you want to show per page from the Show drop-down list. • Click a hyperlinked version number to revert the settings in the feature to a specific date. 3. Click Close. About the Design menu 34 About the Design menu Use the Design menu to construct the presentation for your Search results page. About Facets You can use Facets to customize your presentation layer and provide your users with a Guided Search that lets them drill down into their search results. For example, suppose a visitor to a website that sells tools, performs a search for wrenches. The company could use two facets: one to specify all the brands of wrenches that were found, and the second one to specify all the wrench sizes. The customer can click any brand or size within the appropriate facet to narrow the results and quickly find the correct wrench they need. You can base a facet on any existing metadata definition. If a facet is defined as a Date type in the metadata, it is displayed as a date range facet. The table on the Staged Facets page shows a general overview of the settings that make up each added facet. You can add new facets and edit or delete existing facets. You can revert any changes that you make to facets by using History near the upper-right corner of the page. Facet settings are staged by default to let you test any changes before you push them live. See About Staging. You can use View Live Settings to compare your staged settings to the current live setting. Use View Staged Settings to return to the staging area. For an item that is staged, the live version of the settings is read-only. Therefore, you manipulate it by way of pushing the staged settings live. After you are satisfied with any changes that you have made to the staged facet, click Push Live to push them live. Date Range Facets Facets that are defined as type Date in the metadata are treated differently from other facets. Instead of being treated as a set of values, they are treated as a date range, with a start date, an end date, or both. A date range facet has a value of the start date, followed by "BTW" (for "between"), followed by the end date. Dates are in the following two formats: mm-dd-yyyy mm/dd/yyyy Four-digit years are required. There must be at least one of the start dates or end dates, but both are not required. For example, "12/1/2007BTW1/4/2009" means all dates between December 1, 2007 and January 4, 2009. However, "1-1-2005BTW" means all dates since January 1, 2005. You can use the presentation template tag <guided-facet-value/> to get a date range facet's value, like a normal facet. Currently, JavaScript is required to allow users to enter date ranges to search on. For example, you can take the input from two entry fields for the start and end dates. Then you can validate the input, and append the new facet's value (built from the two input fields) and facet name to the existing URL. See Presentation template tags. The following code sample is an example on how to present a date range on a page. It shows the existing date range if it is selected; otherwise, it presents a simple input form. When the form is submitted, it performs simple validation. It then sends the browser to a new URL that includes two new parameters: About the Design menu 35 • q# – Represents the selected date range assembled from the two input fields. • x# – Names the facet. In this example, the date range facet is named "modified". The replace(/%2F/ig, '~2F') parts in the code are needed because Apache does not allow %2F in URL paths for security reasons, and when using SEO URLs the query is in the URL path. Therefore, / is encoded as ~2F instead of %2F, as it would normally be in a URL. <div class="date_range"> <p>Date Range</p> <guided-if-facet-selected gsname="modified"> <guided-facet-values gsname="modified"> <script> var modified_daterange= '<guided-facet-value />'.split(/BTW/) ; if (modified_daterange[0]=='') modified_daterange[0]= '--/--/----' ; if (modified_daterange[1]=='') modified_daterange[1]= '--/--/----' ; document.write('From: ' + modified_daterange[0]) ; document.write('<br>To: ' + modified_daterange[1]) ; </script> </guided-facet-values> <guided-else-facet-selected> <form action="#"> From: <input name="dateFrom" size=10> <br>To: <input name="dateTo" size=10> <br><input type="button" value="Go" onclick="goClick(this.form)"> </form> <script> function goClick(f) { if (f.dateFrom.value=='' && f.dateTo.value=='') { alert('You must enter either a From: date or a To: date.') ; return ; } if ( f.dateFrom.value!='' && !f.dateFrom.value.match(/^\d+[\/\-]\d+[\/\-]\d\d\d\d$/) ) { alert('From: date must be in "mm/dd/yyyy" or "mm-dd-yyyy" format.') ; return ; } if ( f.dateTo.value!='' && !f.dateTo.value.match(/^\d+[\/\-]\d+[\/\-]\d\d\d\d$/) ) { alert('To: date must be in "mm/dd/yyyy" or "mm-dd-yyyy" format.') ; return ; } // Note that "/" is encoded as "~2F" instead of "%2F" to avoid Apache 404 error. var new_url= '<guided-current-path />&<guided-query-param-name gsname="q#" offset="0" />=' + encodeURIComponent(f.dateFrom.value).replace(/%2F/ig, '~2F') + 'BTW' + encodeURIComponent(f.dateTo .value).replace(/%2F/ig, '~2F') + '&<guided-query-param-name gsname="x#" offset="0" />=modified' ; location.href= new_url ; } </script> </guided-if-facet-selected> </div> About nested facets Nested facets are facets that display multiple levels of categories as in the following: About the Design menu 36 The Womens and Mens categories are in the top or parent facet. The subcategories, such as Accessories and Footwear, are in the lower or child facet. The current supported nested facet depth is two, but it can be anywhere along the drill-down list. The following are the behaviors of various types of nested facets: Behavior of nested facet type Behavior Normal The behavior of a normal nested facet is that it shrinks if other facets narrow the search. If the nested facet is selected, it shrinks down toward its selection. If a parent facet is selected, only that parent appears with all of its remaining children facets. If a child facet is selected, the facet only shows the selected parent facet and the selected child facet. Sticky The behavior of a sticky nested facet is that it tries to keep the facet open as much as possible based on the state of other facets or search criteria. If the child facet is selected, it counts toward the sticky depth. Multi-Select The behavior of a multi-select facet is that it keeps the facet open. Any new selections try to wipe out all other facet selections unless the facet is a "parent" of the category nested facet. In this case, "parent" refers to category facets, not top-level categories of a nested facet. About the Design menu 37 Behavior of nested facet type Behavior Category Multi-Select Like Multi-Select nested facet type with the following exceptions: • Any other facets previously chosen are deselected if this facet is selected for the first time. • Other facets previously chosen are also deselected if the customer drills straight down to the child facet without clicking the parent facet or a sibling of a different parent facet is chosen. • They can have parents in the sense that category facets have parents. Do not confuse this behavior with parent-child relationships found with all nested facets. See also About Facet Rail. Adding a new facet You can add facets to customize your presentation layer and provide your customers with a Guided Search that lets them drill down into their search results. The facets table on the Facets page shows an excerpt of the settings that make up a single facet. You can add new facets and edit or delete existing facets. Any changes you make to facets can be reverted using the History feature. Note: Be sure that you reference the facet in your presentation template so that it is visible on the website. See also About Facet Rail. To add a new facet 1. Before you can add a new facet, make sure that you have already done following before you proceed to the next step: • Have some meta tag fields already defined. See Adding a new meta tag field. • Inject the metadata into your index. See Adding field injection definitions. 2. On the product menu, click Design > Navigation > Facets. 3. On the Facets page, click Add New Facet. 4. On the Add Facet page, set the options that you want. See . 5. Click Add. 6. (Optional) On the Facets page, do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. About the Design menu 38 See Viewing live settings • Click Push Live. See Pushing stage settings live Add Facet or Edit Facet options A table that describes the options that are available on the Add Facet page and the Edit Facet page. The Add Facet page is available from the Facets page. These settings affect both the behavior and the default presentation of a facet. You can override some of these settings by way of the presentation template's settings. If a facet is defined as a Date type in the metadata, it is displayed as a date range. See Date Range Facets. Depending on the facet options that you select, not all options are available. Option Description Facet Name Identifies the name of a given facet. Note: You can only have a facet based on existing user-defined metadata. If there are no facets available in the drop-down list, then you must first define some metadata. See Adding a new meta tag field. To build a facet based on a field table, use the custom facet name and specify your field table name. Display Label Sets the label of a facet which can then be used in a breadcrumb, instead of a metadata fieldname (with the <guided-breadcrumb-label> tag) or a stand-alone value (with the <guided-facet-display-name> tag). Behavior Sets one of three facet behaviors. • Normal When a customer clicks a facet whose behavior is set to Normal, it drills into the search results for that item. From there, the customer can further refine and narrow the number of search results. • Category Category facets act like navigational elements. These facets are top-level facets that customers typically drill through before revealing facets with attribute options. Category facets do not narrow when other facets are selected and remain open. Clicking a different value within a category facet deselects all other facets on the page except for that category facet's parents. • Category Multi-Select About the Design menu Option 39 Description facets are category facets that support the selection of multiple items from the facet where the items are "ORed" together. • Sticky When a customer clicks a facet whose behavior is set to Sticky, the facet with the selected option remains open during the drill-down. This option is useful when you want to let a customer change a previous choice. • Multi-Select Allows the selection of multiple items from a facet, where the items within the facet are "ORed" together. This option is useful for a facet that may show a minor attribute such as colors and you want to let the customer have the ability to build a query that lets them "show shoes in my size that are red or black". Show Always For a normal or sticky facet, sets the facet to remain visible to the customer at all times. This option is only available if you selected Normal, Category, or Sticky from the Behavior drop-down list. Facet's Parents This option is only available if you selected Category or Category Multi-Select from the Behavior drop-down list. Indicates what the category facet's parents are. The selected items in the categories parent facets are used to narrow the choices that are available within the current category facet. Parent facets are not deselected when a customer interacts with the category facet. You can specify multiple comma-delimited parents. Sticky Depth This option is only available if you selected Sticky from the Behavior drop-down list. Sets the number of options to remain open during the drill-down. Length Threshold Sets the vertical length (1-9999) of the facet defined in number of items. If your presentation template is set up appropriately, you can use this setting to provide a "Show more..." link, or determine when to throw the facet into a scrollable div, and so on. Truncate Length Threshold Truncates the number of items in a facet after a given threshold. Some implementations have facets with thousands of items in them. It can be expensive to send all the data over the wire. You can use this setting to trim the facet down to a manageable level. The facet will be truncated after sorting. Max Value Width Specifies a limit to the length of the facet value string (1-999). This option is useful when you want to put a facet in a fixed width layout and keep strings from wrapping. By default, the string is set to 3 characters shorter than the threshold so that an ellipsis can be added. About the Design menu 40 Option Description Value Extension Specifies the string that you want use to indicate that a facet's value is truncated. By default the string "..." is used. Delimiter Specifies the delimiter to use for any delimited separated value list that applies to the facet. The delimiter that is used is the same one that is defined in the metadata on which the facet is based. The default delimiter is a comma. However, you can use any XML-compliant value. Sort Specifies how you want facets sorted on your website. You can have facets sorted by the following. If desired, you can combine up to five sorts. • alpha Sorts the values alphabetically (0-9, A-Z), including punctuation characters. • alpha (alphanumeric only) Sorts the values alphabetically (0-9, A-Z), ignoring punctuation characters. • alpha (not case sensitive) Sorts the values alphabetically (0-9, A-Z), ignoring the case of alphabetic characters, and including punctuation characters. • alpha (not case sensitive, alphanumeric only) Sorts the values alphabetically (0-9, A-Z), ignoring the case of alphabetic characters, and ignoring punctuation characters. • count Sorts by number of results matching each facet value from greatest to least. • numeric Sorts the values numerically. When sorting numbers, this option is superior to an Alpha sort because if you use an Alpha sort, 10 displays before 2. • split Breaks the list into two separate lists by count threshold. Facet values above the threshold are moved to the top. Facet values with counts below the threshold are moved to the bottom. A split-threshold is required when you want to force values of a certain range to always be at the top. • break Forces certain values to the top or the bottom of the list. For example, you may always want the term "Other" to appear at the bottom of the list. Either top-values or bottom-values are required when you use a break sort to identify the explicit values that should be at the top or the bottom of the sort. • ordered About the Design menu Option 41 Description The facet values should always be in a fixed order (a delimiter separated value list defined in the Order option described below). Facet's Alias To support existing search URLs that you may have out in the wild, you can use a facet alias to map legacy parameter name to modified or just create a facet with a different name. The alias is applied to incoming requests only and is not used to create facet links. Facet Rail Name The name of the facet rail if you decide to sort your facets alphabetically, by count, or by a custom method. See About Facet Rail. Order This option is only available if you selected Ordered from the Sort drop-down list. Lets you define a delimited list of values that specifies the order to use. Append Extras This option is only available if you selected Ordered from the Sort drop-down list. If the values are not present in the ordered list, the values are appended to the end. Show Ghosts This option is only available if you selected Ordered from the Sort drop-down list. If the values that are specified by the ordered list are missing, this option flags each missing item in the facet as "ghost" so that the items are displayed differently. Nested Facet A nested facet displays its categories and its children's categories. It can only show a depth of two categories, but it can be anywhere along the drill-down. The data for this facet must follow a convention in describing the two levels of categories. For example, a facet value can be 'shoes:boots' where the parent category is 'shoes' and the child category is 'boots'. The ':' is used as a delimiter to separate them. See Nested Delimiter below for more information about changing the delimiter. To generate the data in this format, you can use a filter script to combine two existing categories. You can combine Normal, Category, and Sticky behaviors with nested facets. Nested Parent Name This drop-down list is only available if you selected Nested Facet. Lets you choose which field represents the parent category. This field is used during search time in matching parent categories. Nested Child Name This drop-down list is only available if you selected Nested Facet. Lets you choose which field represents the child category. This field is used during search time in matching child categories. Nested Facet Delimiter This option is only available if you selected Nested Facet. About the Design menu Option 42 Description The character entered here is used to parse the parent categories and children categories from its data. For example, if ':' is used as a delimiter and the parent is 'shoes' and the child is 'boots', it expects the data to be formatted as 'shoes:boots'. Split Threshold This option is only available if you selected Split from the Sort drop-down list. When using a Split sort, the split-threshold defines the count at which to split the facet into two separate lists. Values with counts greater than or equal to the threshold are kept at the top while values below the threshold are moved to the bottom. Top Values This option is only available if you selected Break from the Sort drop-down list. When using a Break sort, this delimited list of values is always placed at the top of the list. Use of regular expressions is allowed but they should be in curly brackets or braces, for example: {^New .*?},{^Very New .*} Bottom Values This option is only available if you selected Break from the Sort drop-down list. When using a Break sort, this delimited list of values is always placed at the bottom of the list. Use of regular expressions is allowed but they should be in curly brackets or braces, as in the following example: {^Old .*?},{^Very Old .*} See also Editing a facet. Adding a nested facet You can add a nested facet to display multiple levels of categories. Keep the following in mind when you create a nested facet: • Each nested facet requires one user-defined meta tag field. • Nested facets are composed of two other facets, the parent facet and the child facet. They can be single value facets or multi-value facets. The mixing of single-value facets and multi-value facets is not allowed. • You need to determine if this facet will be used in the search field table. The field table requires the nested facet itself and its compositing facets. • Consider using JSON to implement nested facets; it is easier. Note: This topic refers to the nested facet as facet n1. • Task 1 – Add a meta tag • Task 2 – Add a filtering script to generate pre-formatted data • Task 3 – Add a new facet • Task 4 – Edit Guided Search Searching • Task 5 – Create the Transport Template • Task 6 – Create the Presentation Template • Task 7 – Edit the Breadcrumb About the Design menu 43 Editing a facet You can edit the settings of any facet that you have added. Note: Be sure you reference the facet in your presentation template so that it is visible on the website. To edit a facet 1. On the product menu, click Design > Navigation > Facets. 2. On the Facets page, click Edit to the far right of a facet name. 3. On the Edit Facet page, set the options that you want. See Add Facet options. 4. Click Save Changes. 5. (Optional) On the Facets page, • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the changed settings you have made. See Viewing live settings • Click Push Live. See Pushing stage settings live Deleting a facet You can delete any facet that you have added. To delete a facet 1. 2. 3. 4. On the product menu, click Design > Navigation > Facets. On the Facets page, click Delete to the far right of a facet name. In the Confirmation dialog box, click OK. Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the settings you have made. See Viewing live settings • Click Push Live. See Pushing stage settings live. About the Design menu 44 About Facet Rail Use Facet Rail to reorder groups of facets on a web page. A facet is a property or characteristic, It is a way to generally categorize the search results. For example, manufacturer, price, and color could be considered a group of facets. Each facet can have multiple constraints or values. For example, if you had color as a facet, the "facet values" could be red, orange, yellow, green, blue, indigo, and violet. See About Facets. You use Facet Rail to reorder these groups of facets on a web page. For example, suppose that you had a search results section on the left side of a web page. The section listed, top to bottom, a Category facet, a Brand facet, a Price facet, and a Most Popular facet. Using a facet rail, you can, for example, have the Most Popular facet appear above or below the Category facet. The group of facets that you want to reorder together belong to a facet rail tag. A facet can only belong to one facet rail. The facet rail is a Presentation template tag and encloses a single representation of a facet. All facets that belong to this rail share that single facet representation. See About Templates and Facets. Configuring a facet rail You can add a facet rail to customize your presentation layer. Facet rails provide your customers with a Guided Search that lets them drill down into their search results based on the order of the facets on your web page. Any changes you make to facet rails can be reverted using the History feature. To configure a facet rail 1. Before you can configure a facet rail, make sure that you have already added a facet and, as part of that task, specified a facet rail name. See Adding a new facet. 2. On the product menu, click Design > Navigation > Facet Rail. 3. On the Facet Rail page, select the facets that you want to include in the facet rail, and then set the Sort Facets Method option from the drop-down list. See Facet rail options. 4. Click Save Changes. 5. (Optional) On the Facet Rail page, do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click Staging. See Viewing live settings • Click Live. See Pushing stage settings live 6. Edit the Presentation template by doing the following:. • Create a "facet template" on the presentation template. • Surround the "facet template" with the <guided-facet-rail> tags. About the Design menu 45 See Facets. Example: <guided-facet-rail> <guided-facet> <guided-facet-display-name/> ... </guided-facet> </guided-facet-rail> These tags carve out a section of the presentation template to become a repeatable pattern for each facet in the facet rail. Each facet that belongs to the facet rail uses this carved out section to evaluate its output. Only one <guided-facet-rail> tag can appear on the final presentation template. The following tags do not need the gsname attribute inside <guided-facet-rail> because the value is dynamically determined at search time and is properly substituted: • <guided-facet> • <guided-facet-display-name> • <guided-facet-total-count> • <guided-facet-undo-link> • <guided-facet-undo-path> • <guided-facet-behavior> • Save the presentation template and push it live. See Editing a presentation or a transport template. Facet rail options A table that describes the features and options that are available on the Facet Rail page. Feature/Option Description Facet Rail Name Identifies the name of the facet rail. You create the name of the facet rail at the time you add the facet. See Adding a new facet Facets Included A list of possible facets that you can select to add to the facet rail. If you choose to sort facets using Custom, the order that you select facets here determines the order that they appear in the Custom Facet Order text box. Sort Facets Method Choose from one of the following three options in the drop-down list: • Alpha The facets are sorted in alphabetical order with respect to their names, including punctuation characters. About the Design menu Feature/Option 46 Description • Alpha (not case sensitive) The facets are sorted in alphabetical order with respect to their names, ignoring the case of alphabetic characters, and including punctuation characters. • Alpha (alphanumeric only) The facets are sorted in alphabetical order with respect to their names, ignoring punctuation characters. • Alpha (not case sensitive, alphanumeric only) The facets are sorted in alphabetical order with respect to their names, ignoring the case of alphabetic characters, and ignoring punctuation characters. • Count The facets are sorted base on count. • Custom Opens the Custom Facet Order text box which lets you define the order of the facets by entering the exact name of each facet. Any facet labels left out are removed from the Custom Facet Order list. Custom Facet Order This option is only available if you selected Custom from the Sort Facets Method drop-down list. Lets you list facet names, either one per line, or all on one line and comma-separated. If facet labels are defined they are shown in the Facets Included list, enclosed in parentheses. Do not include facet labels in the Custom Facet Order text box. When you select or deselect facets in the Facets Included list, the Custom Facet Order text box is automatically updated. See Configuring a facet rail. About Dynamic Facets Use Dynamic Facets to create new range selections automatically at the time of search. You can optionally associate each dynamic facet field with up to one table name in your Adobe Search&Promote account. You apply those table relationships at search-time for any dynamic facet fields involved in the search. Note: This feature is not enabled in Adobe Search&Promote, by default. Contact Technical Support to activate the feature for your use. About the Design menu 47 Without the use of Dynamic Facets, you had to merge related attributes into "slots", and only display the slots that were homogeneous for a given search. That is, they could only contain one logical attribute's values, such as "shoe size" or "ring size". This method provided adequate search-time performance with a large set of unique attributes. When Dynamic Faceting is used, however, it does not place a limit on the number of facets that core search can efficiently track. You can define hundreds of dynamic facets, from which core search can return the "top N dynamic facets" for a given search, where N is typically a more modest value of 10-20 or fewer. This method eliminates the need for slotting the attributes–you can now create a unique dynamic facet for attributes across your website. What facets should you make dynamic? Facets that are sparsely populated across your website and only appear for a subset of searches are good candidates to make dynamic. For example, a facet named "forefoot width" may only be populated when searching for shoes or boots. Whereas another facet named "Face Numeral Style", with possible values of "Roman" and "Arabic", may only appear when searching for watches or clocks. If your account has a large number of such facets, it enhances search performance to use dynamic facets instead of always selecting the entire set of possible facets for every search. Generic facets such as "SKU" or "brand", which are normally appropriate to display with the results of every search, are typically not appropriate as dynamic facets. Relationship of facets to meta tag fields Facets are built on top of meta tag fields. A meta tag field is a low-level, core search layer feature of Adobe Search&Promote. Facets, on the other hand are part of GS (Guided Search)–the high-level, presentation layer of Adobe Search&Promote. Facets own meta tag fields, however, meta tag fields know nothing about facets. When you configure dynamic facets, you first add facets and then add meta tag fields with the Dynamic Facet option selected to set the identified facet to be dynamic. Note: There is no "Dynamic Facet" setting in Design> Navigation> Facets. What makes a facet "dynamic" is that its underlying "meta tag field" is dynamic as set in Settings > Metadata > Definitions. Examples of dynamic facets in action Example of dynamic facets that are displayed after a search for "boots": About the Design menu 48 Another example of dynamic facets that are displayed after a search for "watches": See also • Backend search CGI parameters • Presentation template tags • Transport template tags Configuring dynamic facets Setting up Dynamic Facets in Search&Promotoe. Note: This feature is not enabled in Adobe Search&Promote, by default. Contact Technical Support to activate the feature for your use. Before the effects of your dynamic facets are visible to customers, you must rebuild your site index. About the Design menu 49 See also • Backend search CGI parameters • Presentation template tags • Transport template tags To configure dynamic facets 1. Make sure you have already added facets. See Adding a new facet. 2. After your facets are added, make sure that you have added the facets to new user-defined meta tag fields. See Adding a new meta tag field. 3. On the product menu, click Settings > Metadata > Definitions. 4. On the Definitions page, in the User-defined fields table, in the Actions column, click the pencil icon (Edit) in the row of the meta tag field name associated with the facet that you want to make dynamic. 5. On the Edit Field page, check Dynamic Facet. See Meta tag field options. 6. Click Save Changes. 7. Click regenerate your staged site index in the blue box to quickly rebuild your staged website index. See also Regenerating the index of a live or staged website. 8. Determine the number of dynamic facets to select for a given search. You accomplish this task by doing either one of the following: • Create a query cleaning rule with any desired conditions, that performs the action set, backend parameter, sp_sfvl_df_count to value X, where X is the desired number of dynamic facets to request at the time of search, and then click Add. See Adding a query cleaning rule. About the Design menu 50 See also Backend search CGI parameters, row 40 in the table for further explanation of sp_sfvl_df_count. • Add a search and set the "custom" sp_sfvl_df_count parameter to the desired value, and click Add. See Adding a new search definition. See also Backend search CGI parameters, row 40 in the table for further explanation of sp_sfvl_df_count. 9. Edit the appropriate transport template to output the dynamic facets that the core search returns. See Editing a presentation or a transport template. For example, suppose that your transport template is named guided.tpl. In such case, on the product menu, click Design> Templates. On the Templates page, locate guided.tpl in the table. and then click Edit to the far right of the name. On the Editing page, add the following code block to the end of </facets>: JSON output: ... }<search-dynamic-facet-fields>, { "name" : "<search-dynamic-facet-field-name>", "dynamic-facet" : 1, "values" : [<search-field-value-list quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />], "counts" : [<search-field-value-list quotes="yes" commas="yes" data="results" sortby="values" />] }</search-dynamic-facet-fields> ... 10. Edit the appropriate presentation template or templates to output the dynamic facets. See Editing a presentation or a transport template. About the Design menu 51 For example, suppose that you have a template named sim.tmpl that is used to output content in the Simulator. To edit that template, on the product menu, click Design> Templates. On the Templates page, locate sim.tmpl in the table. and then click Edit to the far right of the name. On the Editing page, add the following within the facet display area of the template: <h6>DF RAIL</h6> <guided-facet-rail gsname="__dynamic_facets"> <guided-facet ><!-- behavior=Normal --> <div class="facet-block" id="facet"> <p><b><guided-facet-display-name /></b></p> <ul> <guided-facet-values> <guided-if-facet-value-equals-length-threshold> </ul> <ul id="brand" style="display:none"> </guided-if-facet-value-equals-length-threshold> <guided-if-facet-value-selected> <li><guided-facet-value> [<guided-lt>a href="<guided-facet-value-undo-path />"<guided-gt>X</a>]</li> <guided-else-facet-value-selected> <li><guided-facet-link><guided-facet-value></guided-facet-link> (<guided-facet-count>) </li> </guided-if-facet-value-selected> </guided-facet-values> </ul> <guided-if-facet-long> <br /><guided-lt />a href="#" onclick="moreless(this,'brand');return false;" <guided-gt /><button style="font-size:10px;">VIEW MORE</button></a> </guided-if-facet-long> </div> </guided-facet> </guided-facet-rail> <h6>/DF RAIL</h6> You would also make a similar modification to other Presentation templates, as needed, such as json.tmpl. Be sure that you specify __dynamic_facets for the gsname in the guided-facet-rail tag. This tag is a pre-defined facet rail reserved for outputting any dynamic facets that are returned for a given search. You can also optionally edit this special facet rail by way of Rules > Business Rules, and using the Advanced Rule Builder as seen below. About the Design menu 52 See also Adding a new business rule About Breadcrumbs Breadcrumbs are a navigational control that you can add to your website. The breadcrumb gives customers feedback on where they are within a search result set. It also helps them quickly back out to a previous step. The breadcrumbs track the term searched for and the subsequent facets that were selected to narrow down the result set. Use the Breadcrumb settings to customize the breadcrumb control of your search presentation layer. If your presentation layer has more than one set of search results, the breadcrumb control acts on the primary search on the page. You can edit a breadcrumb to change the default behavior, max value width, and value extension, and to select whether to include the query term. Adding a new breadcrumb You can add a breadcrumb bar so that a customer can track where they are on your website. Note: Be sure you reference the breadcrumb in your presentation template so that it is visible on the website. To add a new breadcrumb 1. On the product menu, click Design > Navigation > Breadcrumbs. 2. On the Breadcrumbs page, click Add Breadcrumb. 3. On the Add Breadcrumb page, set the options that you want. See Add Breadcrumb options. 4. Click Add. About the Design menu 53 5. (Optional) On the Breadcrumbs page, do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Add Breadcrumb options A table that describes the options that are available on the Add Breadcrumb page. The Add Breadcrumb page is available from the Breadcrumbs page. These settings affect both the behavior and the default presentation of a breadcrumb. You can override some of these settings by way of the presentation template's settings. Option Description Breadcrumb Name The name of the breadcrumb. Behavior Sets one of the following three breadcrumb behaviors: • Goto Goto removes all the breadcrumbs after the one that is clicked, and starts a new search at that point. • Remove Remove deletes from the path the breadcrumb that the customer clicked and then starts a new search. This behavior is useful when you want to let the customer undo steps in drilling down through the search. • Drop Drop removes all the breadcrumbs. For example, suppose you have a breadcrumb of 1 > 2 > 3 > 4. When a customer clicks on "2", it has the following results, based on the behavior you have chosen: • Go To – 1 > 2 • Remove – 1 > 3 > 4 • Drop – Entire breadcrumb is dropped, taking the customer back to the point before they started to drill down. Max Value Width Specifies the length of each value in the breadcrumb trail. You specify the setting as a number of characters. For example, a setting of 6 means that the breadcrumb trail can be up to 6 characters long, including spaces. About the Design menu 54 Option Description Value Extension Specifies the ellipses to use when a breadcrumb is truncated. By default a "..." (ellipses) is used. Include Query Term Controls the presence of query term in a breadcrumb. Enable User-Defined Crumbs Check to let you use the User-Defined items in breadcrumbs using uX=[name]&[name]=[value] parameters in the URL. You can use processing rules to handle this parameters the way you want. For example, if this feature is enabled and you have the URL, http://search.host.com/?1=category&q1=Clothes&u2= type&type=Men&x3=kind&q3=Sweater in case if you have facets category and kind, your breadcrumb will look like Clothes > Men > Sweater. User-Defined Crumb Names A comma-separated list of all possible names of user-defined breadcrumb items. This option is only available if you check Enable User-Defined Crumbs. See also Editing a breadcrumb. Editing a breadcrumb You can edit the settings of any breadcrumb that you have added. Note: Be sure you reference the breadcrumb in your presentation template so that it is visible on the website. To edit a breadcrumb 1. On the product menu, click Design > Navigation > Breadcrumbs. 2. On the Breadcrumbs page, click Edit to the far right of a breadcrumb name. 3. On the Edit Breadcrumb page, set the options that you want. See Add Breadcrumb options. 4. Click Save Changes. 5. (Optional) On the Breadcrumb page, do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Design menu 55 Deleting a breadcrumb You can delete any breadcrumb that you have added. To delete a breadcrumb 1. 2. 3. 4. On the product menu, click Design > Navigation > Breadcrumbs On the Breadcrumbs page, click Delete to the far right of a breadcrumb name. In the Confirmation dialog box, click OK. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Page Navigation You can use Page Navigation to customize the page navigation control of your search presentation layer. If your presentation layer has more than one set of search results, the page navigation control is for the primary search on the page. Adding web page navigation You can use Page Navigation to customize the page navigation control of your search presentation layer. To add web page navigation 1. On the program menu, click Design > Navigation > Page Navigation. 2. On the Page Navigation page, click Add New Page Navigation. 3. On the Add Page Navigation page, set the options you want. See Page navigation options. 4. Click Add. 5. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Design menu 56 Page navigation options A table that describes the options that are available on the Page Navigation page. Option Description Number of links to pages Specifies the default number of page links that a customer can see. View all threshold Specifies the maximum number of pages that a customer can see if View All is selected. Show link to first page Displays a link to the first page of the search results. Show link to last page Displays a link to the last page of the search results. Highest result Specifies the highest number of results that a search can return. The default is 50000. Show Result Range Shows the number of available pages of search results. The customer can click the links to any page of results within the specified range You can customize the number of results per page when you customize the search that the presentation template uses. Show Page Total Shows the customer the total number of pages found in the search. See also Editing web page navigation. Editing web page navigation You can edit Page Navigation to customize the page navigation control of your search presentation layer. If your presentation layer has more than one set of search results, the page navigation control is for the primary search on the page. To configure Web page navigation 1. On the program menu, click Design > Navigation > Page Navigation. 2. On the Page Navigation page, in the table, click Edit to the far right of the page navigation name. 3. On the Edit Page Navigation page, set the options you want. See Page navigation options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. About the Design menu 57 See Pushing stage settings live. About Menus You can use menus to customize your presentation layer. Add menus that map to settings within your search. Each item within a menu specifies the value for the setting of the menu. You can also customize the menu labels. In your presentation template, you can reference the menus that are defined. You can then put them in any HTML component that you want, such as a select control. This combination enables users to customize their search results. Three menu types are supported: sort, count, and navigation. Adding a new menu You can add menus that map to settings within your search results. Note: Be sure you reference the menu in your presentation template so that it is visible on the website. To add a new menu 1. On the product menu, click Design > Navigation > Menus. 2. On the Menus page, click Add New Menu. 3. On the Add Menu page, set the options that you want. See Add Menu options. 4. Click Add. 5. (Optional) On the Menus page, do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Add Menu options A table that describes the options that are available on the Add Menu page. The Add Menu page is available from the Menus page. These settings affect both the behavior and the default presentation of a breadcrumb. You can override some of these settings by way of the presentation template's settings. See About Menus. About the Design menu 58 Option Description Menu Name Name of the menu. Menu type Sets one of the following three menu types: • Sort Organizes your search by any of your defined metadata types. For example, you might define a sort menu with the following metadata types: three items of relevance; a custom metadata field such as an availability code; and price. The three items can be given the labels "Sort by Relevance", "Sort by Availability", and "Sort by Price", respectively. When you include this in your presentation template, the customer can use this control to sort their search results. • Count Defines the number of search results to show. This menu type maps to the cgi parameter sp_c. See Backend search CGI parameters. • Navigation Specifies a set of static URLs that are associated with menu items. Typically, a navigation menu is used to create a top-level navigation bar on your search results page. For example, you could create a menu that has women, men, boys, and girls where the menu items would be something like the following: /?q1=womens;x1=gender, /?q1=mens;x1=gender Merchandising This option is only available if you chose the menu type Sort. Number of items in menu Specifies the number of items in a menu. Changing this setting adds or deletes fields from the form. Default item Lets you select which menu item is displayed by default. Item value The item value depends on the menu type you have set. • Sort menu type Identifies what the selected item in the menu should sort by. The select items are populated with sortable metadata fields. For a single item you can sort by three metadata fields. The sort is done in the order that is specified. • Count menu type Lets you specify the number of results that you want to return when the customer selects this menu item. About the Design menu 59 Option Description Item label The item label depends on the menu type you have set. • Sort menu type Identifies the custom label that you want your customer to see when they view this item in the menu. • Count menu type Identifies the custom label that you want to have displayed for this menu item. Sort menu code example The following example code includes a sort menu in a presentation template: <select name="sort" onchange="gcGo(this);"> <guided-menu gsname="sort"> <guided-menu-item-option /> </guided-menu> </select> The onchange JavaScript function triggers a re-search whenever the user changes the select control. The following is example code includes a navigation menu in a presentation template: <div class="head_tabs_bar"> <guided-menu gsname="ss_head_nav"> <guided-if-menu-item-selected> <guided-lt/>div id="<guided-menu-item-label/>-tab" class="head_tab_selected"<guided-gt/> <guided-menu-item-link><guided-menu-item-label/></guided-menu-item-link> </div> <guided-else-menu-item-selected> <guided-lt/>div id="<guided-menu-item-label/>-tab" class="head_tab"<guided-gt/> <guided-menu-item-link><guided-menu-item-label/></guided-menu-item-link> </div> </guided-if-menu-item-selected> </guided-menu> </div> See also Add Menu options. Editing a menu You can edit the settings of any menu that you have added. Note: Be sure you reference the menu in your presentation template so that it is visible on the website. To edit a menu 1. On the product menu, click Design > Navigation > Menus. 2. On the Menus page, click Edit to the far right of a menu name. 3. On the Edit Menu page, set the options that you want. See Add Menu options. 4. Click Save Changes. 5. (Optional) On the Menus page, do one of the following: About the Design menu • 60 Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a menu You can delete any menu that you have added. To delete a menu 1. 2. 3. 4. On the product menu, click Design > Navigation > Menus On the Menus page, click Delete to the far right of a menu name. In the Confirmation dialog box, click OK. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Configuring recent searches Recent Searches is a cookie-based system that lets you use a presentation template to display your customer's recent search history. You use the Recent Searches page to configure the behavior of searches. Refer to the presentation template tag reference topic to learn more about the various tags that you can use to display the recent searches on your presentation template. See Presentation template tags. To configure recent searches 1. On the program menu, click Design > Navigation > Recent Searches. 2. On the Recent Searches page, set the options that you want. See Recent searches options. 3. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. About the Design menu • 61 Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Recent searches options A table that describes the options that are available on the Recent Searches page. Option Description Enable recent searches When the Recent Searches module is enabled, the cookie "vsrecentsearches" is set with the outgoing search results. Number of searches to save Configure how many searches to save in the cookie. Expiration Specifies when the cookie expires. About Templates You can use Templates to manage your presentation templates and transport templates. You can add, edit, copy, rename, or delete presentation templates and transport templates. When you click an existing template name in the Templates table, it is opened in an editor (or viewer) window where you can make your changes. You can revert any changes you make to templates using the History feature from the template name's drop-down list in the Templates table. You can reduce the page weight of a presentation template by checking the template's corresponding Minimize checkbox in the template table. By reducing the template's page weight, you dynamically minimize inline JavaScript and CSS. You also remove redundant whitespace in the HTML. Minimizing the page weight of your presentation template can help to deliver your search results faster. You can preview the appearance of the minimized template by clicking the drop-down list next to the filename and then clicking Preview minimized. If you minimize the main presentation template, be sure that you remember to enable minimizing for included (with guided-include tag) templates because this option is not inheritable. Even if you minimize a presentation template, you can still edit the "unminimized" version of the same template. You can use the pre-search rules, post-search rules, and business rules to determine when to use one of your other presentation templates. It is common to have a rule such as "For every search, set the targeted template to xxxx". With such a rule in place, when you change the "Default" template in the Templates table, it appears to have no effect. See About Pre-Search Rules. See About Post-Search Rules. See About Business Rules. About the Design menu 62 About presentation templates Presentation templates are HTML templates that a customer sees when they are viewing the results of their search on your website. In your presentation layer, you can have a single presentation template that presents the results of multiple searches from various sources. You can define as many presentation templates as you want and even define presentation templates that other templates share using include commands. The presentation template is where all of the Design components such as facets, menus, and breadcrumbs, come together. To display the various design components, you must use presentation template tags. See Presentation template tags When you have more than one presentation template, you define under what conditions the various presentation templates are used. You can select which presentation template to use based on the incoming CGI parameters and cookies. Or, you can switch what presentation template you are using based on the outcome of a previous search. When you use multiple presentation templates, be sure that you indicate which template that you want the search results to appear initially. You can do this using the Default column of the Templates table. About transport templates Transport templates can be either XML or JSON templates that pass data from the back-end search to the Guided Search presentation layer. By default, your account is configured to use XML transport templates. However, if you prefer to use JSON to pass your data to Guided Search, contact Adobe Consulting who can assist you. In your presentation layer, you can have a single presentation template that presents the results of multiple searches. Each search can use the same transport template or a custom transport template to pass the data to the presentation layer. Because the transport template is only used to pass data to the presentation layer, it must not have any HTML that is used to display the search results. The template uses transport template tags to pass the results of the search and results for populating the facets. Within these tags, standard search template tags are used to display the actual values. See Search template tags. XML Transport Template-specific tags XML transport template tag Description <guided-xml></guided-xml> These are the root XML tags that the presentation layer uses to detect what it must parse out of the transport template. <general></general> This set of tags surround search template tags that provide summary data based on the result set. Typically, these tags contain search tags for the total number of results, lowest result, and highest result. You can define any number of additional global fields that you want with the general-field tag. Example <general> <total><search-total /></total> <lower><search-lower /></lower> <upper><search-upper /></upper> <general-field About the Design menu XML transport template tag 63 Description name="my_custom_field">Some global content</general-field> </general> <results></results> This set of tags are wrapped around the search results, so that Guided Search knows where to look for them. <result></result> This set of tags are wrapped around each search result, so that Guided Search recognizes where the content for a single search result starts and ends. Example <results> <search-results> <result> <index><search-index /></index> <loc><search-cdata><search-url length="500" /></search-cdata></loc> </result> </search-results> </results> <attribute-table name="tablename"> This tag lets you loop through each item in a multi-value list for a single result. Use the tag only within a result. Its primary purpose is to let you iterate over attributes belonging to a result field. Example <results> <search-results> <result> <index><search-index /></index> <loc><search-url /></loc> <title><search-title /></title> <attribute-table name="downloads"> <field name="download_title"><search-display-field name="download_title" /></field> <field name="download_link" delimiter="|"><search-display-field name="download_link" /></field> </attribute-table> </result> </search-results> </results> <facets></facets> This set of tags pass over the results that populate the facets. <facet name="name"></facet> Each facet must have its own facet tags where the name parameter matches the facet name. Search tags are used within the facet tags for the facet values. About the Design menu XML transport template tag 64 Description See About Facets. Example <facets> <facet name="brand"> <values><search-field-value-list name="brand" quotes="no" commas="yes" data="values" sortby="values" /></values> <counts><search-field-value-list name="brand" quotes="no" commas="yes" data="counts" sortby="values" /></counts> </facet> <facet name="category"> <values><search-field-value-list name="category" quotes="no" commas="yes" data="values" sortby="values" /></values> <counts><search-field-value-list name="category" quotes="no" commas="yes" data="counts" sortby="values" /></counts> </facet> </facets> <suggestions></suggestions> This set of tags wrap your Did You Mean suggestions so that Guided Search recognizes which XML nodes contain suggestions. <suggestion></suggestion> This set of tags wrap each Did You Mean suggestion. Example <search-if-suggestions> <suggestions> <search-suggestions> <suggestion> <value><search-suggestion-text /></value> <count><search-suggestion-result-count /></count> </suggestion> </search-suggestions> </suggestions> </search-if-suggestions> JSON transport template-specific tags Passing JSON versus XML from the search-engine is known to be faster because it is smaller payload and a faster parser. Use care, however, when you use JSON to ensure that what is output is strict JSON because the parser is not forgiving. If you are new to JSON, you can use the following links and examples to help you get started: • An introduction to JSON. See http://www.json.org/. • Test your JSON to ensure that it is valid. See http://jsonlint.com/. Example JSON template { "general": { About the Design menu 65 "total" : "<search-total />", "lower" : "<search-lower />", "upper" : "<search-upper />", "rbt-trigger-list" : "<search-rbta-trigger-id-list>", "fields" : [ { "name" : "seo_search_title", "value" : "<search-include file="seo/seo_search_title.tpl" />" }, { "name" : "seo_search_keywords", "value" : "<search-include file="seo/seo_search_keywords.tpl" />" } ] }, <search-if-suggestions> "suggestions": [ <search-suggestions> { "suggestion":"<search-suggestion-text />", "count": "<search-suggestion-result-count>" }<search-if-not-last-suggestion>,</search-if-not-last-suggestion> </search-suggestions> ], </search-if-suggestions> "facets" : [ { "name" : "leveli", "values" : [ <search-field-value-list name="leveli" quotes="yes" sortby="values" data="values" encoding="json"/>], "counts" : [<search-field-value-list name="leveli" quotes="no" sortby="values" data="results" />] }, { "name" :"levelii", "values" : [<search-field-value-list name="levelii" quotes="yes" sortby="values" data="values" encoding="json"/>], "counts" : [<search-field-value-list name="levelii" quotes="no" sortby="values" data="results" />] }, { "name" : "brand", "values" : [<search-field-value-list name="brand" quotes="yes" sortby="values" data="values" encoding="json"/>], "counts" : [<search-field-value-list name="brand" quotes="no" sortby="values" data="results" />] }, ], "results" : [ <search-results> { "fields" : [ { "name" : "index", "value" : "<search-index />" }, { "name" : "loc", "value" : "<search-display-field name="url" length="500" encoding="json"/>" }, { "name" : "title", About the Design menu "value" : "<search-display-field name="title" encoding="json"/>" }, { "name" : "img_url_thumbnail", "value" : "<search-display-field name="img_url_thumbnail" encoding="json"/>" }, { "name" : "description", "value" : "<search-display-field name="description" encoding="json"/>" }, { "name" : "mdi", "value" : "<SEARCH-RBTA-DISPLAY-MDI-FIELD>" } ] }<search-if-not-last>,</search-if-not-last> </search-results> ] } Example JSON result section with a results attribute table { "results" : [ <search-results> { "fields" : [ { "name" : "index", "value" : "<search-index />" }, { "name" : "loc", "value" : "<search-display-field name="url" length="500" encoding="json"/>" } ], "tables" : [ { "name" : "downloads", "fields" : [ { "name" : "download_title", "value" : <search-display-field name="download_title" encoding="json"/> }, { "name" : "download_link", "value" : <search-display-field name="download_link" encoding="json"/> } ] } ] }<search-if-not-last>,</search-if-not-last> </search-results> ] } Example JSON Facet section for a facet with associated fields { facets" : [ { "name" : "t1", "values" : [<search-field-value-list name="t1" quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />], "counts" : [<search-field-value-list name="t1" quotes="yes" commas="yes" data="results" 66 About the Design menu 67 sortby="values" />], "custom-fields" : [ { "name" : "taxonmyId", "value" : [<search-field-value-list name="tax1" quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />] } ] } ] } Example JSON Facet section for slotted facets { "facets" : [ { "name" : "fvalue0", "dynamic" : 1, "display-names" : [<search-field-value-list name="fname0" quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />], "values" : [<search-field-value-list name="fvalue0" quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />], "counts" : [<search-field-value-list name="fvalue0" quotes="no" commas="yes" data="results" sortby="values" />] } ] } Adding a new presentation or transport template file You can use Add Template to add presentation templates (.tmpl) or transport templates (.tpl) to the Templates page. To add a new presentation or transport template file 1. On the product menu, click Design > Templates. 2. On the Templates page, click Add New Template. 3. In the Add Template dialog box, set the options that you want. See Template options. 4. Click Add. 5. (Optional) On the Templates page, do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. On the Templates page, click View Live Settings. See Viewing live settings. • On the Templates page, click Push Live. See Pushing stage settings live. Template options A table that describes the options that are available on the Add Template, Copy Template, and Rename Template dialog boxes. About the Design menu 68 Option Description New file name Specifies the name of the template that you want to add. The proper file extension is automatically added to the file name, based on the template type you select. Presentation templates have a .tmpl file extension; Transport templates have a .tpl file extension. New template type Lets you choose a presentation or a transport template that you want to add. See About Templates. See also Editing a presentation or a transport template. Editing a presentation or a transport template You can use the Template Editor to view and edit the content of your presentation and transport template files. You can edit and test your staged presentation and transport templates, while your website visitors continue to use the live versions of your templates. You test your staged template using the staged version of your search domain URL. For example, you can test your staged transport template by running a staged query (sp_staged=1) with sp_t that is set to the name of your transport template. When you are satisfied with how the layout appears, you can use Push Live from within the template editor to push the template live. After the template is live, site visitors begin to use it. Use the presentation template tag reference to learn how to hook up your presentation template to Guided Search components such as facets, breadcrumbs, and menus. See Presentation template tags Use the transport template tag reference to learn more about the tags to use in transport templates. See Transport template tags To edit a presentation or a transport template 1. On the product menu, click Design > Templates. 2. On the Templates page, click a presentation or a transport template file name. 3. On the Template Editor page, make the changes you want to the tags and coding. Be careful about the changes you make in the Template Editor; there is no Undo feature. If you make an undesired change and want to go back to the previous version of the file, you can click Cancel to return to the table of templates (assuming you did not save any of your changes up to that point). If you have already saved your changes, you can use History in the editor to revert those changes. 4. (Optional) Click Insert Symbol to enter special characters and symbols that do not have corresponding keys on US English keyboards. 5. Click Save Changes. 6. (Optional) Do one of the following: • • On the Template Editor page, click History to revert any saved changes that you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. About the Design menu 69 See Pushing stage settings live. 7. Close the Template Editor page when you are finished; you are returned to the Templates page. Copying a presentation or a transport template file You can use Copy Template to save time by duplicating an existing Presentation template (.tmpl) or Transport template (.tpl) and add it to the Templates page. You must change the template name, the template type, or both. If you make no changes, the template is not copied. You must have a template already added to be able to copy a template. SeeAdding a new presentation or transport template file To copy a presentation or a transport template file 1. On the product menu, click Design > Templates. 2. On the Templates page, in the drop-down list next to a template name that you want to copy, click Copy. 3. In the Copy Template dialog box, set one or more of the options that you want. See Template options. 4. Click Copy. 5. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Renaming a presentation or a transport template file You can use Rename Template to change the name of an existing presentation template (.tmpl) or a transport template (.tpl). You can also change the template type, if desired. You must have a template already added to rename a template. SeeAdding a new presentation or transport template file. To rename a presentation or a transport template file 1. On the product menu, click Design > Templates. 2. On the Templates page, in the drop-down list next to a template name that you want to rename, click Rename. 3. In the Rename Template dialog box, set one or more of the options that you want. See Template options. 4. Click Rename. 5. (Optional) Do one of the following: About the Design menu • • 70 In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a presentation or a transport template file You can use Delete Template to remove an existing presentation template (.tmpl) or a transport template (.tpl). You may already have a corresponding version of the staged template that is pushed live. If so, be sure you push the deleted template live using Staging so that it is also deleted from the live environment. Or, you can use Push Live on the Templates page. See About Staging See Pushing stage settings live You must have a template already added to be able to delete a template. SeeAdding a new presentation or transport template file To delete a presentation or a transport template file 1. 2. 3. 4. On the product menu, click Design > Templates. On the Templates page, in the drop-down list next to a template name that you want to delete, click Delete. In the Delete Template dialog box, click Delete. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Previewing the presentation template minimized You can use Preview minimized to see what the reduced page weight of a presentation template would look like if you choose to minimize it. If you minimize the main presentation template, be sure that you remember to enable minimizing for included (with guided-include tag) templates because this option is not inheritable. See Reducing the page weight of a presentation template on your website You must have a template already added to preview the template minimized. SeeAdding a new presentation or transport template file You can preview the XML code of a transport template file. About the Design menu 71 See Previewing the XML of a transport template file To preview the presentation template minimized 1. On the product menu, click Design > Templates. 2. On the Templates page, in the drop-down list next to a presentation template name, click Preview minimized. Use the Type column in the Templates table to sort the templates by Presentation and Transport. 3. (Optional) On the Preview Minimized Template page, check Wrap lines to read the tags within the defined window. 4. Click Close. 5. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Reducing the page weight of a presentation template on your website You can reduce the page weight of a presentation template by using the Minimize option in the template table. By reducing the template's page weight, you dynamically minimize inline JavaScript and CSS. You also remove redundant whitespace in the HTML. Minimizing the page weight of your presentation template can help to deliver your search results faster. You can also preview the appearance of the minimized presentation template by using Preview minimized. See Previewing the presentation template minimized To reduce the page weight of a presentation template on your website 1. On the product menu, click Design > Templates. 2. On the Templates page, under the Minimize column, check the box for one or more presentation template files that you want to push as minimize on your website. Use the Type column in the Templates table to sort the templates by Presentation and Transport. 3. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Setting the default presentation template file to use on your website When you have multiple presentation templates, you can indicate what template is initially be used to display search results. About the Design menu 72 You can use the pre-search rules, post-search rules, and business rules to determine when one of your other presentation templates should be used. See About Pre-Search Rules. See About Post-Search Rules. See About Business Rules. It is common to have a rule such as "For every search, set the targeted presentation template to xxxx." With such a rule in place, changing the "default" template on the Templates page will appear to have no effect. To set the default presentation template file to use on your website 1. On the product menu, click Design > Templates. 2. On the Templates page, under the Default column, click the radio button to the corresponding presentation template file that you want to serve as the default. Use the Type column in the Templates table to sort the templates by Presentation and Transport. 3. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Previewing the XML of a transport template file You can use Preview to review the XML of a transport template that you have added. You must have a transport template already added to preview the template's XML. SeeAdding a new presentation or transport template file You can preview minimized presentation template files to view their reduced page weight. See Previewing the presentation template minimized To preview the XML of a transport template file 1. On the product menu, click Design > Templates. 2. On the Templates page, in the drop-down list next to a transport template name, click Preview. Use the Type column in the Templates table to sort the templates by Presentation and Transport. 3. Close the viewing window and return to site search/merchandising. 4. (Optional) Do one of the following: • • In the table of templates, in the drop-down list next to a template's name, click History to revert any changes you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Design menu 73 About Banners You can use Banners to manage the banner ads on your website. There are two methods you can use to add banner ads to your website. The first method is to add banners by way of Target, site search/merchandising. The banners are HTML code snippets that are displayed at the time that a customer searches your website. Your banner can include text or an image in GIF, JPEG, or PNG format, or a combination of both. You can select from preset sizes or define your own custom dimensions to fit your page. The HTML code that you use to display the banner can also specify such things as the font style to use, and the border. This method of adding a banner offers basic functionality and does not require additional software. The second method is to use Adobe Scene7, a dynamic media management and publishing service. A valid Adobe Scene7 account lets you manage and deliver banner content directly to Target, site search/merchandising, using Scene7. In site search/merchandising, you configure access to your Scene7 account. Then you open the Scene7 media browser and pick a dynamic media asset that you want to serve as your banner. Note: Before you can use dynamic media assets as banners in site search/merchandising, the assets are first uploaded and prepared for publishing in the Scene7 Publishing System. You can upload assets from within site search/merchandising and have them automatically prepared for publishing by Scene7 Publishing System. Or, you can upload and publish assets all from within Scene7 Publishing System. Integration of Banners with Adobe Scene7 Publishing System You can use Scene7 asset types as banners in site search/merchandising including images, dynamic banners, and templates, such as image templates or Flash templates. Templates are dynamically created and addressable layered image files like layered files in image-editing applications such as Adobe Photoshop®. Unlike a static image file, a template can include parameters. Through parameters, you can customize variable image properties and image content. Note: You can also create templates from layout-based designs by using Template Publishing in Scene7 Publishing System and files from Adobe Illustrator and Adobe InDesign. See Template Publishing in the Scene7 Publishing System User Guide. A template can contain any number of image layers and text layers. You can convert a static file containing layers, such as a layered PSD file, into a template, or create templates in Scene7. You can create text layers in templates using fonts that you uploaded into Scene7 Publishing System. After you add text to a template, you can format it by changing its justification, fonts, font size, and color. Using the Parameters screen in Scene7, you can convert any aspect of a template to an addressable parameter. In so doing, you can change which layered image to use or what text value to use in your template. Parameters are passed with the URL string, allowing you to change any parameter to dynamically customize the reply image generated from the image server. You can learn more about how to use Scene7 to create templates and parameterize the properties on the layers so you can use them in banners. See Template Basics in the Scene7 Publishing System User Guide. Uploading and publishing of assets About the Design menu 74 You must upload and publish assets in Scene7 before you can use them for banners in site search/merchandising. This prerequisite also includes any assets that an image template or a Flash template uses. Use your Scene7 account to upload and publish digital assets. Or, you can use site search/merchandising to upload a digital asset and then have Scene7 automatically publish it for you based on your upload settings. If you attempt to pick an asset that is not yet uploaded and published, you are notified in the user interface and given the option of uploading it before proceeding. You can learn more about uploading and publishing of digital assets using Scene7 Publishing System. See Upload and Publish Assets in the Scene7 Publishing System User Guide. Note: To use the upload functionality in the Scene7 asset viewer, be sure that the Scene7 account you use has the role of "SPS Company Admin" already set. See Administration Setup in the Scene7 Publishing System User Guide. Changing Scene7 Template Parameters in a Banner using Business Rules If you added a Scene7 asset as a banner, you can use Visual Rule Builder in Business Rules to add it to any banner area on your website. For example, you add the banner to your search results pages, just as you would any other banner. You can also override the default parameter values in Scene7 templates by customizing them to your specific needs. This kind of functionality lets you customize Scene7 templates with different marketing messages and hyperlinks to different endpoints. See also Adding a new business rule. See also Editing a business rule. Adding a banner You can use Banners to manage the banner ads and where they are placed on your website. When you add a banner you are externally referencing the image by way of HTML code snippets that are displayed at search time. If you have a valid Adobe Scene7 account, you can add banner ads by way of the Scene7 Publishing System. See Adding a banner using Adobe Scene7. See Configuring access to your Adobe Scene7 account. To add a banner 1. On the product menu, click Design > Banners. 2. On the Banners page, in the Add Banner drop-down list, select HTML code. 3. In the Add Banner dialog box, set the options that you want. See Banner options. 4. Click Save. 5. (Optional) Do one of the following: • On the Banners page, click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live About the Design menu 75 Banner options A table that describes the options that are available on the Add Banner and Edit Banner dialog boxes. Option Description Name Required. Identifies the name of your banner. The name is used to refer to the banner when you add it in the Visual Rule Builder in Business Rules. The name does not appear in the banner itself. See Adding a new business rule. Banner HTML Lets you paste the HTML code that is associated with the banner. Any HTML code is acceptable, including CSS code that is surrounded by <style> tags, or JavaScript code that is surrounded by <script> tags. For example, the following block of code is for a text banner of the type Horizontal top : <div style="width: 684px; background-image: url('http://www.brough.com/blackb.gif'); padding-top: 10px; padding-bottom: 10px; color: white; font-family: verdana; text-align: center; font-size: 20px;"> Sound Study ships free! </div> In the following example, the block of code is for a full splash image: <img src='http://geometrixx.com/images/GEOAds/geometrixx-beauty-home-01.jpg' border="0" /> Type Specifies the following types of banners: • [new type] Lets you specify the type of banner you want, including the dimensions and the name. • Full splash The set dimension of this type of banner is 680 pixels wide, and 650 pixels high. You can optionally specify the name of the type, or accept the default name which is the name of the banner type itself. • Horizontal top The banner is positioned across the top area of your website. This type is useful if you intend to add hyperlinks to the left or to the right of the banner. The set dimension of this type of banner is 468 pixels wide, and 60 pixels high. You can optionally specify the name of the type, or accept the default name which is the name of the banner type itself. • Horizontal top - Full width This type is the default when you add a new banner. The banner is positioned across the top area of your website and takes up the full width of the page. The set dimension of this type of banner is 670 pixels wide, and 150 pixels high. You can optionally specify the name of the type, or accept the default name which is the name of the banner type itself. Tags Adds tags or "keywords" that you want to associate with the banner. If you use many banners, adding tags can help you to refine your banner search so you can quickly locate just the right banner for your needs. You can also delete any tags that you have added. About the Design menu 76 See also Editing a banner. Editing a banner Use Edit Banner to change such things as the banner name, banner HTML, the banner type, and any associated tags. If you added a banner using site search/merchandising, you also edit the banner using Adobe Scene7. See alsoEditing a banner using Adobe Scene7. To edit a banner 1. On the product menu, click Design > Banners. 2. On the Banners page, click above a banner thumbnail that you want to edit. 3. On the Edit Banner page, set the options that you want. See Banner options. 4. When you are finished editing the banner, click Save. 5. (Optional) Do one of the following: • On the Banners page, click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Adding a banner using Adobe Scene7 You can use Banners to manage the banner ads on your website. When you add a banner using Adobe Scene7, you can choose from any digital asset that you have uploaded to the Scene7 Publishing System. To add a banner using Adobe Scene7, be sure that you have configured access to your valid Scene7 account. See Configuring access to your Adobe Scene7 account. To add a banner using Adobe Scene7 1. On the product menu, click Design > Banners. 2. On the Banners page, in the Add Banner drop-down list, click Adobe Scene7. 3. In the Pick an Asset dialog box, in the left pane, use the navigation options in the user interface to locate the folder that contains the digital asset that you want to use for a banner. See Pick an Asset options and Change Parameter options. (Optional) If the digital asset that you want to use for a banner is not available in the selected folder, you may need to upload it. Click Upload, and then select the file and options that you want. The file is uploaded to the selected folder. See Upload options. Note: If you want to use the upload functionality in the Scene7 asset viewer, be sure that the Scene7 account you use has the role of "SPS Company Admin" already set. About the Design menu 77 See Administration Setup in the Scene7 Publishing System User Guide. 4. In the right pane, click the image, template, or Flash file that you want. The Pick An Asset pop-up window appears. 5. (Optional) In the Pick An Asset pop-up window, in Actions drop-down list, do any one of the following: • Click Move. In the Select a folder to move to dialog box, select the folder where you want to move the digital asset. Click Move. You can also select multiple digital assets that you want to move to another folder. • Click Delete. In the Delete Selected Assets dialog box, click Delete. You can also select multiple digital assets that you want to delete from the folder. • Click Rename. In the Enter a new name for dialog box, in the text field, type a new name for the digital asset. Click Rename. 6. (Optional) Depending on the digital asset that you selected, in the left pane of the Pick an Asset pop-up window, set the options that you want. See Pick an Asset options and Change Parameter options. 7. Click the asset to select it for use as a banner. 8. (Optional) Do one of the following: • On the Banners page, click History to revert any changes you have made. • Click View Live Settings. • Click Push Live. Pick an Asset options and Change Parameter options Tables that describe the navigation and digital asset options on the Pick an Asset dialog box and the Change Parameters dialog box when you add or edit a banner using Adobe Scene7, respectively. With the exception of asset navigation options, all other options are dependent on the digital asset that you selected to add or edit. • Asset navigation options • Properties options • Banner Link options • Modify Links option • Replace Text options • Parameters options • Toggle Layer Visibility options Asset navigation options Use the asset navigation options to locate an asset that you want to use for a new banner in site search/merchandising. The navigation options apply to all types of selected digital assets. Note: The asset navigation options do not appear when you edit the banner in the Change Parameters dialog box. See Editing a banner using Adobe Scene7. About the Design menu Navigation option 78 Description Lets you select the Scene7 account for your particular company from the drop-down list and also navigate the digital asset folders within that account. When you select a folder, the right pane of the Pick an Asset dialog box shows you all the available digital assets that are contained within that folder. Lets you move forward or backward through your folder navigation history. Refreshes the list of digital assets that are displayed for a selected folder. You may need to click this control if you move, delete, or rename a selected asset using the Actions drop-down list. Displays digital assets in a list view. The list displays each asset's associated icon or thumbnail image, file name, digital asset type, dimensions, (where applicable), and the date it was last edited. The grid view displays digital assets in the selected folder as icons, thumbnails, or both. In the list view, you can move, delete, or rename a selected digital asset. In the grid view, you can move or delete one or more selected digital assets. Opens the Upload dialog box where you can upload a selected digital asset from your desktop or from an external server so that you can use it as a banner. After you upload the asset, a publish job is automatically schedule for you in Scene7 Publishing System. See Upload options. About the Design menu Navigation option 79 Description You can learn more about uploading and publishing of digital assets using Scene7 Publishing System. See Upload and Publish Assets in the Scene7 Publishing System User Guide. Lets you search for a digital asset by keyword or search by file location within the selected folder and its associated sub-folders. When you click the search field, it automatically adds an optional filter field for you. Adds another asset filter so you can further refine the list of displayed digital assets by type or by a specific date. Refine the list of displayed digital assets to show only those by a certain type such as Flash, Image, Template, or Any. Click to delete the filter from the search. Refine the list of displayed digital assets to show only those created or edit before a certain date or after a certain date. Click to delete the filter from the search. Lets you drag the slider left or right to reduce or enlarge the entire view of the digital assets pane, respectively. Properties options The Properties options appear if you chose a Flash template, image template, or an image. Depending on the digital asset you chose, not all options are available. Properties option Description Name The descriptive name of the template or image, without any blank spaces. You may want to optionally include the image-size specification in the name to help users further identify the asset. Format Identifies the format of the image, or image template. You can choose from the following formats: • jpeg • png • png-alpha • gif About the Design menu Properties option 80 Description • gif-alpha This option does not apply to Flash templates. Quality Controls the compression level of JPEG or GIF format images. This setting affects both file size and image quality. The quality scale is 1–100. When you drag the slider left or right, the image in the preview window is updated to reflect the change in quality. This option does not apply to Flash templates. Width Specifies the width of the digital asset, in pixels. This dimension is the width at which the asset is seen by customers who visit your website. This option does not apply to Flash templates. Height Specifies the height of the digital asset, in pixels. This dimension is the height at which the asset is seen by customers who visit your website. This option does not apply to Flash templates. Banner Link options The Banner Link options appear only if you chose an image or an image template for your banner. Banner Link option Description Link URL Specifies the URL address that you want the banner to link to when a customer clicks the image. If you do not want the banner to link to anything, leave the Link URL field blank. Target Specifies where to open the linked banner such as a new browser window or a new tab. Modify Links option The Modify Links option appears only if you chose a Flash template for your banner. Modify Links option Description Lets you edit the URL link field that is used in the Flash template. About the Design menu 81 Replace Text options The Replace Text options appear only if you chose a Flash template for your banner that has editable text layers. Any changes you make to text in the Flash template are reflected in the Preview window. Note: If you add a search and replace command to replace "cow" with "apple", and then create a second command to replace "apple" with "orange", the second command does not take affect. Replace Text option Description Adds a search and replace field. Deletes a Search and Replace field and restores the previously used text. Search Lets you enter a search term for non-linked text within the layers of the Flash template. Replace Lets you specify the text that you want to insert in place of the text you are searching for. When you press Enter in this field, the preview window is updated with your replacement text. Parameters options Parameters options appear only if you chose an image template or a Flash template for your banner. The actual parameter options vary depending on how the template was created and parameterized in Scene7 Publishing System. For example, your template may parameterized fields that let you change such things as text, font style, price, special codes used for free shipping, the size of the image within the banner, or even browse for a different image to use. Note: Be aware that any changes you make to parameters can be overridden by business rules. The parameters only serve as defaults when no business rules are created that would otherwise change the parameters. See Adding a new business rule. See Editing a business rule. Toggle Layer Visibility options The Toggle Layer Visibility option applies only if you chose a Flash template for your banner. Toggle Layer Visibility option Description Lets you turn on or off the visibility of the various layers that make up the Flash template file. About the Design menu 82 Toggle Layer Visibility option Description Each time you turn the visibility of a layer on or off, the preview window is refreshed to update the display. Upload options A table that describes the basic and advanced options that are available when you upload a digital asset for use as a banner. Note: If you want to use the upload functionality in the Scene7 asset viewer, be sure that the Scene7 account you use has the role of "SPS Company Admin" already set. See Administration Setup in the Scene7 Publishing System User Guide. • Basic options • Advanced options Basic options Option Description Browse Lets you browse to the file that you want to upload, publish, and then select for use as a banner. Overwrite Files that you upload replace existing files with the same filename, within the selected folder. E-mail Preference Lets you choose what email notification you get for the upload, or you can choose to not be notified for anything related to the upload job. Advanced options When you upload PostScript (EPS) or Illustrator (AI) image files, you can format them in various ways. You can rasterize the files, convert them to FXG for Template Publishing, maintain the transparent background, choose a resolution, and choose a color space. PSD (Photoshop Document files) are most often used in Scene7 to create templates. When you upload a PSD file, you can create a Scene7 template automatically from the file (select the Create Template option). Scene7 Publishing System creates multiple images from a PSD file with layers if you use the file to create a template; it creates one image for each layer. Option group name Option Description Color Profile Options Color Profile Lets you choose from the following options: • Convert to SRGB Converts to SRGB (Standard Red Green Blue). SRGB is the recommended color space for displaying images on web pages. • Keep Original Color Space About the Design menu Option group name 83 Option Description Retains the original color space. Image Editing Options Create Mask From Clipping Path Create a mask for the image based on its clipping path information. This option applies to images created with image-editing applications in which a clipping path was created. PostScript Options Processing Rasterize option converts vector graphics in the file to bitmap format. Resolution Determines the resolution setting. This setting determines how many pixels are displayed per inch in the file. The default is 150. Color Space Lets you choose a color space for the Illustrator file. The RGB color space is preferable for online viewing. Illustrator Options Postscript Options Illustrator Options PostScript Options Illustrator Options You can choose from the following color space options: • Detect Automatically Retains the color space of the PDF file. • Force as RGB Converts to the RGB color space. • Force as CMYK Converts to the CMYK color space. • Force as Grayscale Converts to the Grayscale color space. PostScript Options Maintain transparent background Maintains the background transparency of the file. Photoshop Options Maintain layers Rips the layers in the PSD, if any, into individual assets. The asset layers remain associated with the PSD. Photoshop Options Create Template Creates a template from the layers in the PSD file. Photoshop Options Extract Text Extracts the text so that customers can search for keywords within a banner. Photoshop Options Extend Layers Extends the size of ripped image layers to the size of the background layer. Illustrator Options About the Design menu 84 Option group name Option Description Photoshop Options Layer Naming Layers in the PSD file are uploaded as separate images. You can select from the following options to decide how you want to name these images in the Scene7 Publishing System: • Use layer name from PSD file Names the images after their layer names in the PSD file. For example, a layer named Price Tag in the original PSD file becomes an image named Price Tag. However, if the layer names in the PSD file are default Photoshop layer names (Background, Layer 1, Layer 2, and so on), the images are named after their layer numbers in the PSD file, not their default layer names. • Use PSD file name and append number Names the images after their layer numbers in the PSD file, ignoring original layer names. Images are named with the Photoshop filename and an appended layer number. For example, the second layer of a file called Spring Ad.psd is named Spring Ad_2 even if it had a non-default name in Photoshop. • Use PSD filename and layer name or number Names the images after the PSD file followed by the layer name or layer number. The layer number is used if the layer names in the PSD file are default Photoshop layer names. For example, a layer named Price Tag in a PSD file named SpringAd is named Spring Ad_Price Tag. A layer with the default name Layer 2 is named Spring Ad_2. • Create folder based on the PSD filename Creates a folder for the layer images using the filename of the PSD. Photoshop Options Anchor Specify how images are anchored in templates that are generated from the layered composition produced from the PSD file. By default, the anchor is the center. A center anchor allows replacement images to best fill the same space, no matter the aspect ratio of the replacement image. Images with a different aspect that replace this image, when referencing the template and using parameter substitution, effectively occupy the same space. Change to a different setting if your application requires the replacement images to fill the allocated space in the template. PDF Options Processing Rasterize option rips the pages in the PDF file and converts vector graphics to bitmap images. PDF Options Resolution Determines the resolution setting. This setting determines how many pixels are displayed per inch in the PDF file. The default is 150. About the Design menu 85 Option group name Option Description PDF Options Color Space Lets you choose a color space for the PDF file. Most PDF files have both RGB and CMYK color images. The RGB color space is preferable for online viewing. You can choose from the following color space options: • Detect Automatically Retains the color space of the PDF file. • Force as RGB Converts to the RGB color space. • Force as CMYK Converts to the CMYK color space. • Force as Grayscale Converts to the Grayscale color space. PDF Options Auto-Generate eCatalog Automatically creates an eCatalog from the PDF file. The eCatalog is named from multiple page PDF after the PDF file you uploaded. PDF Options Extract keywords Extracts words from the PDF file so that the file is searchable by keywords. See also Pick an Asset options and Change Parameter options. Editing a banner using Adobe Scene7 Use Edit Banner to change the properties and parameters of a banner that you have added using Adobe Scene7. If you added a banner by adding HTML code, you edit the banner using site search/merchandisng instead. See also Editing a banner. To edit a banner using Adobe Scene7 1. On the product menu, click Design > Banners. 2. On the Banners page, click above a banner thumbnail that has a S7 icon in the lower-left corner of the banner window. 3. On the Change Parameter page, set the options that you want. See Pick an Asset options and Change Parameter options. 4. When you are finished editing the banner, click Save. 5. (Optional) Do one of the following: • On the Banners page, click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. About the Design menu 86 See Pushing stage settings live. Deleting banners You can delete staged banners that you no longer need or want to use either one at a time, or as a group. To delete banners 1. On the product menu, click Design > Banners. 2. (Optional) Do one or more of the following: • • • On the Banners page, select the banner type you want to find from the Find banner of type drop-down list. If desired, specify a tag name in the with tag text field, or a banner type name in the with name text field. Click Find. On the Sort drop-down list, select how you want the list of banners ordered. On the Show drop-down list, select the number of banners that you want to load into the current page that you are viewing. 3. Do one of the following: • • In the upper-left corner of any banner box, click the checkbox of each banner that you want to delete. On the upper-bar of the Banners page, check Select all to select every banner that is loaded on the currently displayed page. 4. On the Bulk Actions drop-down list, click Delete. 5. In the Confirmation Action dialog box, click OK. 6. (Optional) Do one of the following: • On the Banners page, click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live Previewing banners You can browse banners that you have added to the Banners page to view their full-size. Any CSS in the template that affects the banner is not shown. To preview banners 1. On the product menu, click Design > Banners. 2. (Optional) Do one or more of the following: • • • On the Banners page, select the banner type you want to find from the Find banner of type drop-down list. If desired, specify a tag name in the with tag text field, or a banner type name in the with name text field. Click Find. On the Sort drop-down list, select how you want the list of banners ordered. On the Show drop-down list, select the number of banners that you want to load into the current page that you are viewing. 3. On the Banners page, click a banner thumbnail to view its full size. About the Design menu 87 4. Do one of the following: • • In the banner preview dialog box, click the left or right arrow to navigate and view the full-size banners that you have added. Click the close button to dismiss the banner preview dialog box, and return to the Banners page. Pushing banners live You can push one or more selected banners live to your website. Or, if you prefer, you can push live all changes to any banner, using the Push Live option near the bottom of the Banners page. See Pushing stage settings live. To push banners live 1. On the product menu, click Design > Banners. 2. (Optional) Do one or more of the following: • • • On the Banners page, select the banner type you want to find from the Find banner of type drop-down list. If desired, specify a tag name in the with tag text field, or a banner type name in the with name text field. Click Find. On the Sort drop-down list, select how you want the list of banners ordered. On the Show drop-down list, select the number of banners that you want to load into the current page that you are viewing. 3. Do one of the following: • • In the upper-left corner of any banner box, click the checkbox of each banner that you want to delete. On the upper-bar of the Banner page, check Select all to select every banner that is loaded on the currently displayed page. 4. On the Bulk Actions drop-down list, click Push live. 5. In the Confirmation Action dialog box, click OK. 6. (Optional) On the Banners page, click History to revert any changes you have made. See Using the History option. About Auto-Complete You can configure various areas of Auto-Complete to control the generation of the auto-complete enabled search form, and the file autocomplete_data.js, which is included as a part of the auto-complete enabled search form. The file autocomplete_data.js is regenerated and published to the search content network each time there are changes that the Auto-Complete Setup page has saved. Configuring Auto-Complete You can configure and setup the options that control the generation of the auto-complete enabled search form, and the file autocomplete_data.js. After you configure auto-complete, you can view the resulting HTML source for review. The HTML source is what you copy and paste into the pages of your website. See Previewing the search form as it would appear on your website. About the Design menu 88 See Configuring Auto-Complete Word List. See Configuring Auto-Complete CSS. To configure Auto-Complete 1. On the product menu, click Design > Auto-Complete > Auto-Complete Setup. 2. On the Auto-Complete Setup page, set the options that you want. See Auto-Complete Setup options. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Auto-Complete Setup options A table that describes the options that are available on the Auto-Complete Setup page. See Configuring Auto-Complete. See Previewing the search form as it would appear on your website. Option Description Maximum suggestions Specifies the maximum number of items to display in the auto-complete suggestions list. Minimum input characters Specifies the number of characters that a customer must type into the auto-complete search form before it displays suggestions. Maximum cache entries Specifies the maximum number of previously requested auto-complete suggestions to cache in the customer's browser. Generally, you should leave this setting at the default of 1000. While you can completely disable browser caching by setting this option to 0, it is not recommended. Display shadow Adds a cosmetic drop-shadow to the auto-complete suggestions list. Form name Specifies the "name" attribute of the auto-complete enabled search form's "form" tag. For example, <form name="SiteSearch" method="get" action="http://sp1004337c.guided.t1.atomz.com" target="_blank"> About the Design menu Option 89 Description where SiteSearch is the name attribute of the form tag. Div tag ID Specifies the ID attribute of the auto-complete enabled search form's "div" tag. For example, <div id="autocomplete"> where autocomplete is the attribute of the div tag. Input tag ID Specifies the ID attribute of the auto-complete enabled search form's "input" tag. For example, <input type="text" id="q" name="q" /> whereq is the id attribute of the input tag. Configuring Auto-Complete Word List Configure the list of words and phrases that Auto-Complete displays to a customer as suggestions. See Configuring Auto-Complete. See Configuring Auto-Complete CSS. To configure Auto-Complete Word List 1. On the product menu, click Design > Auto-Complete > Auto-Complete Word List. 2. On the Auto-Complete Word List page, set the options that you want. See Auto-Complete Word List options. 3. Click Save Changes. 4. (Optional) Do any of the following: • • Click History to revert any changes that you have made. Click Preview Word List to save any changes you have made, and then open Auto-Complete Word List Preview page where you can review the auto-complete suggestions list. Use the navigation options near the top of the page to review and refine the displayed list. When you are done, click Close to return to the Auto-Complete Word List page. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Auto-Complete Word List options A table that describes the options that are available on the Auto-Complete Setup page. See Configuring Auto-Complete Word List. See Previewing the search form as it would appear on your website. About the Design menu 90 Option Description Popular Searches Period Controls the time period for the inclusion of words and phrases from a customer's recent searches. Maximum Search Count Controls the maximum number of searched words and phrases to include in the auto-complete word list. The top words and phrases, which are also the most popular, are included. Field Name Each field name defines the name of one field for which to include indexed values. Use + and - to add or remove field names. Maximum Value Count Defines the maximum count of field values that are allowed for the selected field name. The top values, which are also the most referenced, are included. Add these words and phrases The auto-complete word list is populated with the words and phrases that are listed in this area. Click Edit to see the list or to add word and phrases to the list. When you are finished, click Save Changes. Remove these words and phrases Entries in this area are not displayed in the auto-complete word list. Click Edit to see the list or to add word and phrases to the list. When you are finished, click Save Changes. Regular expressions are allowed in this list. To specify a regular expression in this list, start the line with regexp followed by a single space, followed by the regular expression. Any lines in the word list that match the regular expression are removed. Important: You should only use regular expressions only if you have previously worked with them in other applications. See Regular Expressions. Ignore Case Duplicate entries in the auto-complete word list that differ only by alphabetic uppercase/lowercase are removed; all word list entries are forced to lowercase. If you want the Auto-Complete suggestions to appear "first letter capitalized" or "all caps", add the text-transform : capitalize; or text-transform : uppercase; CSS text properties to the Auto-Complete CSS content, under "/* styles for result item */". See Configuring Auto-Complete CSS. Update on Re-Index Auto-complete word list is automatically regenerated after each successful account re-index. About the Design menu 91 Configuring Auto-Complete CSS Use Auto-Complete CSS to configure the auto-complete cascading style sheet that you want to use. Auto-Complete CSS controls the content of autocomplete_styles.css, which is included as a part of the auto-complete enabled search form. The CSS you specify here controls the visual presentation of the auto-complete suggestion list. For an example of the visual presentation ideas that are possible, see the following: http://developer.yahoo.com/yui/examples/autocomplete/ac_skinning.html. Configuring Auto-Complete Word List. Configuring Auto-Complete. When you are finished configuring Auto-Complete CSS, you can preview the search form to see if the CSS that you specified is acceptable in appearance and layout. See Previewing the search form as it would appear on your website. Important: To apply your custom auto-complete CSS, you need to remove the comment tags from the second line that appears in the HTML code. Then you move the same line to within the head section of the page that contains the search form. See Copying the HTML code of the search form into the pages of your website. To configure Auto-Complete CSS 1. On the product menu, click Design > Auto-Complete > Auto-Complete CSS. 2. In the Auto-Complete CSS text field, paste or type the cascading style sheet information that you want to associate with the auto-complete suggestion list. 3. Click Save Changes. 4. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Previewing the search form as it would appear on your website Based on your configuration of Auto-Complete and Auto-Complete CSS, you can preview how the search form appears if you were to add the HTML code to your website. See Configuring Auto-Complete. See Configuring Auto-Complete CSS. See Copying the HTML code of the search form into the pages of your website. See Using collections in search forms. See Using frames with forms. About the Design menu 92 See Sample advanced search form. See Advanced search form HTML code. See Advanced search form template code. To preview the search form as it would appear on your website 1. On the product menu, click Design > Auto-Complete > Search Form. 2. (Optional) Click HTML code to see the HTML that you copy and paste into the pages of your website. Copying the HTML code of the search form into the pages of your website Based on your configuration of Auto-Complete and Auto-Complete CSS, you can preview how the search form appears if you were to add the HTML code to your website. See Configuring Auto-Complete. See Configuring Auto-Complete CSS. See Copying the HTML code of the search form into the pages of your website. See Using collections in search forms. See Using frames with forms. See Sample advanced search form. See Advanced search form HTML code. See Advanced search form template code. To copy the HTML code of the search form into the pages of your website 1. On the product menu, click Design > Auto-Complete > Form Source. Note: Do not change the form name= value in the form source. 2. (Optional) Do any of the following: • If you configured auto-complete CSS and want the styles applied to the search form, remove the comment tags from the second line that appears in the HTML code. Next, move the same line to within the head section of the page that contains the search form. • For maximum performance, move the tags that are listed at the bottom of the HTML code and place them at the bottom of the body section of each page that contains the search form. 3. Copy the code and paste it in the web pages of your website where you want the search form to appear. About the Rules Menu 93 About the Rules Menu Use the Rules menu to create rules that transform your customers' Search experience. About Query Cleaning Rules Use Query Cleaning Rules to analyze and modify the incoming query. This feature is often used when you want to modify site search/merchandising behavior. For example, you could change a blank search to a popular keyword instead of a "*" search, thus promoting a popular product. You can also use query cleaning rules to perform a direct hit, where you redirect to a URL. This can be particularly useful when you detect that someone is searching for a product SKU and you want to skip the search and redirect to that product's page. Query Cleaning can also mine the query and set custom variables that can be used in later processing flow steps. Query cleaning rules are executed in sequence for every query. To alter the order of your rules you can use drag-and-drop. The actual order is not changed until you save it. The query cleaning rules in a query cleaning module are examined to determine if any of the query parameters must be modified or if any custom variables must be set. Each query cleaning rule consists of two main elements: the rule's actions and optional conditions. An unlimited number of rules and conditions can be specified. The order of these rules is important, as site search/merchandising loops through the rule set rule by rule. When a rule's conditions match, all the associated actions are performed. After query cleaning is completed, the resulting CGI parameters are used going forward. Any custom variables that were set are available for use by later stages in the processing flow. By default, the system automatically removes leading and trailing white space from the query term. About Query Cleaning Conditions Conditions are optional. If you decide that actions are specified for every query, the actions are always taken. Conditions can be based on any CGI query parameter, existing cookie, or custom variable that a previous rule has set. It is considered "best practice" for the first query cleaning rule to run for every query, where it defines and initializes all of the custom variables you plan to use. About Query Cleaning Actions All of the actions within a query cleaning rule that has matching conditions are exercised. Actions typically consist of an operation, the data on which to perform the operation, and the value to use. See Query Cleaning Rule options. About Redirects The Direct-Hits interface lets you define a set of redirects based on the incoming query term. Redirects within Query Cleaning extends this idea. However, redirects give you finer granularity on when a redirect takes place via specifying conditions and lets you redirect to a dynamic URL rather than a static URL. When you select the redirect action, the row is updated to have a text box where you specify the URL you would like to redirect to. In the URL, you can specify variables or parameters that you would like to substitute via enclosing them in double curly brackets. Custom variables are of higher precedence than CGI parameters in the substitution. About the Rules Menu 94 About Last Rule Examples Assume you have a clothing retail store with a website. If the user clicks Search without any search terms, you want to return a search against jeans, because that's what you are internationally known for. You also want to parse the query term for a gender so that you can create a pre-search rule later, based on the custom variable that uses a different presentation template for each gender. On condition: query q equal Perform the following actions: Set query parameter q to value jeans On condition: Query q matches regular expression wom[e|a]n[s]|girl[s] Perform the following actions: Add custom variable gender Set custom variable gender to value female On condition: Query q matches regular expression men[s]|boy[s] Perform the following actions: Add custom variable gender Set custom variable gender to value male MegaElectronic is a large electronics store. From analyzing their search data, MegaElectronic has noticed that many their savvy customers often search for a product using the product's SKU, rather than returning a search result for the single product, MegaElectronic would like to redirect to the web page associated with that SKU. On condition: query q matches regular expression ^\D\D\D-\d\d\d\d$ Perform the following actions: redirect to http://www.megaelectronic.com/?sku={{q}} Adding a query cleaning rule You can define rules that clean-up or edit the incoming search query from a customer. You can only select templates that currently exist. If you do not have any templates, you must first define them. See About Templates. To add a query cleaning rule 1. 2. 3. 4. On the product menu, click Rules > Query Cleaning. On the Query Cleaning Rules page, click Add New Rule. In the Name field, type the name of the new query cleaning rule. On the Add Query Cleaning Rule page, use the drop-down lists and text fields to build out your query. See Query Cleaning Rule options. 5. Click Add. 6. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. About the Rules Menu • 95 Click Push Live. See Pushing stage settings live. Query Cleaning Rule options A table that describes the options that are available on the Add Query Cleaning Rule page and the Edit Query Cleaning Rule page. Option Description Cookie An HTTP cookie. You can define conditions based on cookies that are associated with your domain. Or, you can set a cookie that is written with outgoing search results. Cookies name and values must be Uniform Resource Identifier encoded. Custom Variable A user-defined variable. Add, delete, or set an unlimited amount of user-defined variables. You can reference any user-defined variables here within Pre-Search Rules and Post-Search Rules. System Variable Read-only variables set by the internal system that you can check. The following system variables are supported: • hostname The name of the server host. • uri The requested uri without the query string. • args The entire query string. • environment "Stage" or "live" depending on whether the incoming query was sent to your staged or live environment. • referrer The URL that the customer came from. • user agent The "user-agent" string of the customer's browser. Query Parameter CGI parameters passed to the query. Backend Parameter Incoming query parameters eventually get translated into backend parameters that are used to perform the search. See Backend search CGI parameters. About the Rules Menu Option 96 Description Backend parameters do not show up on navigation elements. As a result, you can hide any additional parameters that you want to apply to a search from your customers. Actions on backend parameters are late-binding; that is, they are applied just before the search is sent. Facet Special CGI parameters associated with a given facet. Rank Lets you specify which ranking rule to use in the search. This option only appears when you have some ranking fields and ranking rules defined. Store The search engine automatically detects what store the user is in based on the host name or the gs_store query parameter, with the latter having precedence. You can create conditions off of the store. In query cleaning only, you can also use an action to over-ride the current store. Last Rule When the conditions are met for a rule that has last rule set, the query cleaning processing module does not perform any additional rules after the action of the matching rule. This is useful when you have set actions that will cause a later rule to match but you do not want the later rule to fire. Note that, if a rule's action is to perform a redirect, the redirect takes place immediately, so it essentially acts as if the last rule were set. Suspend Turns off the running of the rule but does not delete the rule. Editing a query cleaning rule You can edit existing query cleaning rules that you have added to the Query Cleaning Rules page. To edit a query cleaning rule 1. On the product menu, click Rules > Query Cleaning. 2. On the Query Cleaning Rules page, under the Actions column of the table, click Edit for the associated rule that you want to edit. 3. On the Edit Query Cleaning Rule page, use the drop-down lists and text fields to build out your query. See Query Cleaning Rule options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. About the Rules Menu • 97 Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a query cleaning rule You can delete query cleaning rules that you no longer need or use. When you delete a rule, the order that the remaining rules run is adjusted automatically to account for the deletion. To delete a query cleaning rule 1. On the product menu, click Rules > Query Cleaning. 2. On the Query Cleaning Rules page, under the Actions column of the table, click Delete for the associated rule that you want to delete. 3. In the Confirmation dialog box, click OK. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Changing the order that query cleaning rules run You can reorder query cleaning rules to change the order in which they run on presentation templates. Query cleaning rules run in the order that they were defined. The higher a rule's order number, the later it runs in the process, trumping earlier rules. You reorder rules by entering a new number in the Order column of the table on the Query Cleaning Rules page. You can also use drag-and-drop on rules to change their run order. To change the order that query cleaning rules run 1. On the product menu, click Rules > Query Cleaning. 2. On the Query Cleaning Rules page, do one of the following: • • • Click the Order column header to sort the rules in ascending or descending order. In the Order column, in the text field to the left of a query cleaning rule name, type the order number that you want the rule to run. Drag-and-drop a table row to the position that you want the rule to run. All the order numbers are updated to reflect the new order in which the rules run. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. About the Rules Menu 98 See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Direct Hits Direct hits let you redirect a customer to a specified URL when the customer searches for a matching term. This kind of functionality lets you improve the navigation of the search of your website. Direct hits consist of two main elements: the URL of your website, and one or more comma-delimited search terms. Direct hits are specified as follows: website_URL: term website_URL: term, term, term For example, suppose that you have a corporate website with a page that specifies all of your terms and conditions. When a customer searches for your terms and conditions, rather than showing the results, you can redirect the customer to your terms and conditions page. http://www.mycompany.com/policies.asp?article=terms: terms and conditions, terms, conditions, security http://www.mycompany.com/press/news.asp: press releases, press If the query term does not match any direct hits, search results are returned in the usual manner. Configuring direct hits You can specify search terms that redirect a web browser to a URI instead of returning search results. Blank lines and comment lines beginning with a '#' (hash) character are permitted. To configure direct hits 1. 2. 3. 4. On the product menu, click Rules > Direct Hits. In the Direct Hits field, enter the URL of your website, and one or more comma-delimited search terms. Click Save Changes. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Rules Menu 99 Testing direct hits Before you push direct hit rules live, you can test direct hits by entering a term. If you test a term that is not covered by a direct hit rule, a message is displayed letting you know. Under such a scenario, if the direct hit rule was live on your website, search results would be returned as usual. If you test a term that is covered by a direct hit rule, a message is displayed letting you know that a redirect to the specified URL has occurred. To test direct hits 1. On the product menu, click Rules > Direct Hits. 2. In the Test Direct Hits field, enter a search term, and then click Test. 3. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Pre-Search Rules Use Pre-Search Rules to analyze the incoming query and determine which presentation template to use. Pre-Search Rules are executed in sequence for every query. To alter the order of your rules you can use drag-and-drop. The actual order does not change until you save it. Pre-Search Rules are typically used to select which presentation template displays the results based on the incoming query. More advanced features can be used to alter the query that is used for a search that is being done for a presentation template. You can add, delete, or change the value of query parameters as needed. For every incoming query a pre-search-processing module examines the pre-search rules to determine if the query is modified and what presentation template is used. Each Pre-Search Rule consists of two main elements: the rule's actions and optional conditions. You can specify an unlimited number of rules and conditions. The order of these rules is important, because the rule set is looped through rule by rule. When a rule's conditions is matched, all the associated actions are performed. In the Pre-Search Processing module all defined templates and their associated named searches are instantiated where each search is given a local copy of the cgi parameters. As a result, you can customize a search by adding, deleting, or altering one of the cgi parameters that search uses without altering any other named search the template uses or affecting any of the other templates. As a result, if you have a presentation template that displays more than one result set, you can customize each search individually. If you want to perform changes on the global CGI parameters before they are copied to each search for each template, use the Query Cleaning module. Pre-Search Rule Conditions Conditions are optional. If you choose to have actions specified for every query then the actions are always taken. It is considered best practice for your first rule to run for every query, where it selects your default presentation template. This way you can be assured that, regardless what the incoming query is, you have selected a worst-case scenario presentation template to use. Conditions can be based on any CGI query parameter, cookie, or custom variable that a previous rule has set or a system variable. About the Rules Menu 100 Pre-Search Rule Actions All of the actions within a Pre-Search Rule that has matching conditions are exercised. Actions typically consist of an operation, the data to perform the operation on, and the value to use. The simplest action is to specify which presentation template to use when the query matches the Pre-Search Rule's conditions. Then set the targeted template to the name of the presentation template. More complicated actions can be used to change the search that is being used for a given template via performing an operation on a template's search parameter. When performing an operation on a template's search parameter, you specify a presentation template and search. Generic Rules When performing operations on a template's search parameter, two special values exist: *targeted and *primary for the presentation template and the named search respectively. With these values, you can build rules based on the current targeted template's primary search. These constructs allow for building generic rules where you do not have to worry about what the current targeted template or primary search are called. Obviously, a previous Pre-Search Rule defines what the current targeted template is. Otherwise, an initial presentation template is selected for you, which produces undesired results. Examples Set the default template to guided.tmpl, when the user passes in a cgi parameter called lang, set to a known language, use that language's template. On condition: Every Query Perform the following actions: Set targeted template to guided On condition: Query lang matches regular expression fr Perform the following actions: Set targeted template to guided_french On condition: Query lang matches regular expression de Perform the following actions: Set targeted template to guided_german Best Practices • The first rule selects a default template for every query. • Data mining of the query is done within query cleaning rules. You can reference them in the pre-search processing. • Add any new custom variables that you introduced in Pre-Search Rules to a pre-search rule that is run for every query before any other Pre-Search Rules reference them. Adding a new pre-search rule You can use Pre-Search Rules to select which presentation template is used to display the search results based on the incoming query. To add a new pre-search rule 1. 2. 3. 4. On the product menu, click Rules > Pre-Search Rules. On the Pre-Search Rules page, click Add New Rule. In the Name field, type the name of the new query cleaning rule. On the Add Pre-Search Rule page, use the drop-down lists and text fields to build out your query. About the Rules Menu 101 See Pre-Search Rule options. 5. Click Add. 6. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Pre-Search Rule options A table that describes the options that are available on the Add Pre-Search Rule page and the Edit Pre-Search Rule page. Option Description Cookie An HTTP cookie. Cookies name and values must be Uniform Resource Identifier encoded. Custom Variable A user-defined variable. Add, delete, or set an unlimited amount of user-defined variables. You can reference any variables that you defined in the Query Cleaning module within the Pre-Search Rules. System Variable Read-only variables set by the internal system that you can check. The following system variables are supported: • hostname The name of the server host. • uri The requested uri without the query string. • args The entire query string. • environment "Stage" or "live" depending on whether the incoming query was sent to your staged or live environment. • referrer The URL that the customer came from. About the Rules Menu 102 Option Description Facet Special CGI Parameters in the global collection that are associated with a particular facet. All CGI parameters are copied to each named search within a template after Query Cleaning. Query Parameter CGI Parameter in the global collection. These parameters are copied to each named search within a template after Query Cleaning. Template's Search Parameter A CGI parameter that is local to a named search associated with a presentation template. Template's Backend Parameter Incoming query parameters eventually get translated into backend parameters that are used to perform the search. See Backend search CGI parameters. Backend parameters do not show up on navigation elements. As a result, you can hide any additional parameters that you want to apply to a search from your customers. The parameter is local to a specific search within a presentation template. Actions on backend parameters are late-binding; that is, they are applied just before the search is sent. Targeted Template A special instance of a system-defined custom variable that cannot be deleted. This variable contains the current targeted presentation template. You can read or set this variable by specifying the custom variable "targeted_template". Rank Lets you specify which ranking rule to use in the search. This option only appears when you have defined ranking fields and ranking rules. Store The search engine automatically detects what store the customer is in based on the host name or the gs_store query parameter, with the latter having precedence. You can create conditions off of the store. In query cleaning only, you can also use an action to over-ride the current store. Last Rule When checked, the pre-search processing module does not perform any additional rules after the action of the matching rule. This action is useful for when you have set actions that cause a later rule to match but you do not want the later rule to run. About the Rules Menu 103 Option Description Suspend Turns off the running of the rule but does not delete the rule. See also Editing a pre-search rule. Editing a pre-search rule You can edit existing pre-search rules that you have added to the Pre-Search Rules page. To edit a pre-search rule 1. On the product menu, click Rules > Pre-Search Rules. 2. On the Pre-Search Rules page, under the Actions column of the table, click Edit for the associated rule that you want to edit. 3. On the Edit Pre-Search Rule page, use the drop-down lists and text fields to build out your query. See Pre-Search Rule options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a pre-search rule You can delete pre-search rules that you no longer need or use. When you delete a rule, the order that the remaining rules run is adjusted automatically to account for the deletion. To delete a pre-search rule 1. On the product menu, click Rules > Pre-Search Rules. 2. On the Pre-Search Rules page, under the Actions column of the table, click Delete for the associated rule that you want to delete. 3. In the Confirmation dialog box, click OK. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. About the Rules Menu 104 See Pushing stage settings live. Changing the order that pre-search rules run You can reorder pre-search rules to change the order in which they run on presentation templates. Pre-search rules run in the order that they were defined. The higher a rule's order number, the later it runs in the process, trumping earlier rules. You reorder rules by entering a new number in the Order column of the table on the Pre-Search Rules page. You can also use drag-and-drop on rules to change their run order. To change the order that pre-search rules run 1. On the product menu, click Rules > Pre-Search Rules. 2. On the Pre-Search Rules page, do one of the following: • • • Click the Order column header to sort the rules in ascending or descending order. In the Order column, in the text field to the left of a pre-search rule name, type the order number that you want the rule to run. Drag-and-drop a table row to the position that you want the rule to run. All the order numbers are updated to reflect the new order in which the rules run. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Post-Search Rules You can use Post-Search Rules to examine the results of a search and determine how the search affects the displayed content. For example, if a search has no results, a Post-Search Rule can perform a search for a similar item. Or, it can display a web page that recommends other items to customers who search for the item that was not found. Each Post-Search Rule consists of two main elements: the rule's actions, and its optional conditions. You can specify an unlimited number of rules and conditions. The order of these rules is important because the rule set is looped through rule-by-rule. When a rule's conditions match, all the associated actions are performed. You can refine the set of search results for a maximum of three rounds of searching. After this, whatever is currently available is used. This limit prevents infinite loops and ensures that the customer receives an efficient response. The more times you redo a search the longer it takes to return your search results. If none of the matching rules alter one of the searches for the currently used presentation template or switch the template, the set of search results is considered finalized and post-search exits. Post-search processing builds upon the earlier processing modules Query Cleaning and Pre-Search processing. Therefore, any custom variables set in those modules are available for use in the post-search processing rules. Similarly, pre-search processing About the Rules Menu 105 has instantiated all of the templates where each named search associated with the presentation template has its own local copy of the CGI parameters. In turn, you can customize each search individually. See About Query Cleaning Rules. See About Pre-Search Rules. About Post-Search Rule conditions Conditions are optional. If you specify that actions are specified for every query, then the actions are always taken. You can base conditions on any CGI query parameter, cookie, search result, or custom variable that a previous rule has set. Or, you can base it on a system condition such as what the currently selected template is or if it is the last search. When you build a condition on the results of a search or a CGI parameter, you specify the template and the name of the search. About Post-Search Rule actions All of the actions in a Post-Search Rule that have matching conditions are exercised. Actions typically consist of an operation, the data to perform the operation on, and the value to use. The simplest action is to switch which Presentation template to use based on the Post-Search Rule's conditions. You can use more advanced actions to change the parameters for a search that results in the search being redone. When performing an operation on a template's search parameter, specify a Presentation template and search. General Rules When performing operations on a template's search parameter, two special values exist, *targeted and *primary for the Presentation template and the named search respectively. Use these values to build rules based on the current targeted template's primary search. These constructs let you build generic rules where you do not need to worry about what the current targeted template or primary search are called. If this pass is the first through the post-search processing, the targeted template is whatever pre-search processing sets it to. Redirects Direct Hits and redirects within Query Cleaning let you redirect to a URL based on the incoming search terms. Redirects within post-search rules extend this idea, except that it lets you check how many results that the search returned before deciding if you want a redirect to take place. With Post-Search Rules, you can redirect to a URL, where you can substitute custom variables or query parameters. Or, you can redirect to a field within the first result. When you redirect to a result's field, you define the field in the Transport template, and it must contain a valid, explicit URL, otherwise the redirect is skipped. When you use the redirect mechanism within Post-Search Rules , you can detect when a search returns a single result. Rather than returning such a result, you can redirect to the web page that is associated with the result. See the redirect example below for an example of using redirects with Post-Search Rules. Last Rule When the conditions are met for a rule that has the option Last Rule set, the post search processing module does not perform any additional rules after the action of the matching rule. This situation is useful when you have set actions that cause a later rule to match but you want the processing to stop. And, for that later rule to potentially match after the next round of searching. Examples In the following example, assume that you have two presentation templates. One template is used to display many search results and the other template is used to display a single result and an additional search for accessories related to the main search. You About the Rules Menu 106 want to detect when you have a single result and switch to your other presentation template. To accomplish this task, you can use the following rules: On condition: targeted template is default targeted template primary results equal 1 not last search Perform the following actions: Set targeted template to product_spotlight MegaElectronic is a large electronics store. After analyzing their search data, MegaElectronic notices that many of their customers perform a product search using a product's part number. In such cases, MegaElectronic wants to redirect to the web page that is associated with the product, if the customer searched for it directly and only a single product was found. To achieve this result, you can use a single rule with three conditions. The first condition checks that the returned search has only a single result. The second condition ensures that the query term matches MegaElectronic's part number format for the results that they want to cause the redirect. The third condition ensures that the customer did not use any facets to drill down to one result, given that the part number might be a partial part number and return more than one result. The action redirects to a field within the result. On condition: targeted template's primary results equal 1 query q matches regular expression ^\D\D\D-\d+ no facet selected ^\D\D\D-\d+ Perform the following actions: redirect to result field "loc" in template *targeted for search *primary Best Practices • Any set of rules that trigger a new round of searching should always have a conditional clause to check that this is not the last pass through the module. If you have already performed the maximum number of searches, you cannot redo any searches. • If you are on the last pass through the module and the results are still poor, you can switch to a "no results" template. • You should base changing a presentation template on the result of a search that potentially has other parameters. If you want to select a template that is based only on the incoming query, a pre-search rule is more efficient. • Data mining of the query is done in the Query Cleaning module. You can reference the custom variables in the post-search processing. • When you do redirects, always check that the customer has not selected any facets. The reason why is because it is inconvenient when a customer drills into a facet and is suddenly taken away from the search results. The customer may want to deselect the facet when they see that the single result is not want they were looking for. Adding a new post-search rule You can use Post-Search Rules to select which presentation template is used to display the search results based on the incoming query. To add a new post-search rule 1. 2. 3. 4. On the product menu, click Rules > Post-Search Rules. On the Post-Search Rules page, click Add New Rule. In the Name field, type the name of the new query cleaning rule. On the Add Post-Search Rule page, use the drop-down lists and text fields to build out your query. See Post-Search Rule options. 5. Click Add. 6. (Optional) Do one of the following: About the Rules Menu • 107 Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Post-Search Rule options A table that describes the options that are available on the Add Post-Search Rule page and the Edit Post-Search Rule page. Option Description Cookie An HTTP cookie. Cookie names and values must be Uniform Resource Identifier encoded. Custom Variable A user-defined variable. You can add, delete, or set an unlimited number of custom variables. You can reference any custom variables that you defined in Query Cleaning and in Pre-Search Rules modules, within Post-Search Rules. System Variable Read-only variables set by the internal system that you can check. The following system variables are supported: • hostname The name of the server host. • uri The requested Uniform Resource Identifier without the query string. • args The entire query string. • environment "Stage" or "live" depending on whether the incoming query was sent to your staged environment or your live environment. • referrer The Uniform Resource Locator that the customer came from. System Variable Read-only variables that you can use in conditions to determine the current state. About the Rules Menu 108 Option Description Template's Search Facet A facet that is local to a named search associated with a presentation template. A facet is essentially special CGI parameters used to indicate which value within a facet a customer has selected. Template's Search Parameter A CGI parameter that is local to a named search associated with a presentation template. Template's Backend Parameter Incoming query parameters eventually get translated into backend parameters that are used to perform the search. See Backend search CGI parameters. Backend parameters do not show up on navigation elements. As a result, you can hide any additional parameters that you want to apply to a search from your customers. The parameter is local to a specific search within a presentation template. Actions on backend parameters are late-binding; that is, they are applied just before the search is sent. Targeted Template A special instance of a system-defined custom variable that cannot be deleted. This variable contains the current targeted presentation template. Rank Lets you specify which ranking rule to use in the search. This option only appears when you have defined ranking fields and ranking rules. Last Rule When checked, the post-search processing module does not perform any additional rules after the action of the matching rule. This action is useful for when you have set actions that cause a later rule to match but you do not want the later rule to run. Suspend Turns off the running of the rule but does not delete the rule. See also Editing a post-search rule. Editing a post-search rule You can edit existing post-search rules that you have added to the Post-Search Rules page. To edit a post-search rule 1. On the product menu, click Rules > Pre-Search Rules. About the Rules Menu 109 2. On the Post-Search Rules page, under the Actions column of the table, click Edit for the associated rule that you want to edit. 3. On the Edit Post-Search Rule page, use the drop-down lists and text fields to build out your query. See Post-Search Rule options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a post-search rule You can delete post-search rules that you no longer need or use. When you delete a rule, the order that the remaining rules run is adjusted automatically to account for the deletion. To delete a post-search rule 1. On the product menu, click Rules > Post-Search Rules. 2. On the Post-Search Rules page, under the Actions column of the table, click Delete for the associated rule that you want to delete. 3. In the Confirmation dialog box, click OK. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Changing the order that post-search rules run You can reorder post-search rules to change the order in which they run on presentation templates. Post-search rules run in the order that they were defined. The higher a rule's order number, the later it runs in the process, trumping earlier rules. You reorder rules by entering a new number in the Order column of the table on the Post-Search Rules page. You can also use drag-and-drop on rules to change their run order. To change the order that post-search rules run 1. On the product menu, click Rules > Post-Search Rules. About the Rules Menu 110 2. On the Post-Search Rules page, do one of the following: • • • Click the Order column header to sort the rules in ascending or descending order. In the Order column, in the text field to the left of a pre-search rule name, type the order number that you want the rule to run. Drag-and-drop a table row to the position that you want the rule to run. All the order numbers are updated to reflect the new order in which the rules run. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Business Rules You can use Business Rules to merchandise your search. For example, you can configure when banners appear, or what results appear and in what order. You can also configure the position of an item in your facet, and what template is used for a given search. The rules run in the order they were defined; the higher a rule's order number, the later it runs in the process, trumping earlier rules. You can drag-and-drop the rules to change their order, or you can reorder them by entering a new number in the rules order text box. Each business rule is made up of triggers and actions. The trigger defines when the rule runs. For example, when the query term is "mens" or when the results are mostly hats. The trigger consists of multiple conditions that have to be either all, or any of them be true to make the overall trigger be true. You can specify the precedence by changing the trigger operator. The action defines what happens when the trigger condition is met. For example, setting the banner to display or moving a given result to position 1. The table of rules shows summary information about the rule. You can click a rule name to open it and see additional information. The table of rules shows a list of all your business rules. By default, the table shows the last ten rules that were added, in descending order. You can click the column headers in the table to sort the rules in ascending or descending order. Business rules can have one of three states: Approved, Suspended, or WIP (Work In Progress) State of the business rule Description Approved Approved business rules run in your live environment and in your staged environment. You approve a business rule in the Advanced Rule Builder. About the Rules Menu 111 State of the business rule Description Suspended Suspended business rules never run in your staged environment or your live environment. WIP WIP (Work In Progress) are business rules that are neither approved nor suspended. That is, you may still be working on them or you may want to test them first before approving them. Business rules in a state of WIP run only in your staged environment. You approve business rules and push them live so that they run in your live environment. Currently, you can only push all rules live. However, you can change a rule's status to have control over which rules run and do not run in your live environment. By default rules run whenever their associated triggers are met. However, you can optionally schedule a rule to run for a specific date and time range. Also, by default, rules run whenever their associate triggers are met for all stores. If you want the rule to only apply for certain stores then you can use the Stores panel to select one or more stores that the rule is applied to. About business rules and Test&Target campaigns If you have a Test&Target account, you can leverage Test&Target to do A-B tests on your rules. After your account is configured to link to your Test&Target account, the Test&Target panel appears on the Business Rule Builder page when you add a business rule. The panel lets you select what campaign-experience a rule is in or add a new Test&Target campaign. A business rule cannot be in more than one campaign at a time. You can configure your Test&Target login credentials. See Configuring access to your Adobe Target account. Which rule builder interface do I use? There are two different user interfaces that you can use to add business rules: Visual Rule Builder and Advanced Rule Builder. Using Visual Rule Builder you can search or browse by way of your navigation or facets, for the triggers or actions that you want to create. The four drop-down lists show the respective triggers, actions, and schedule information for the business rule that you are building. When the drop-down list is open for Triggers, the user interface switches to a mode that lets you build multiple triggers. Similarly, when you open the Actions panel the user interface lets you build new actions. You can build triggers and actions that are based on the search that you have performed in the presentation template area of the Business Rule Builder page. Or, you can right-click on search results for rule building options. Visual Rule Builder is the default business rule builder. However, you can change your default preference to Advanced Rule Builder in Settings > My Profile > My Preferences. You can switch between using the two business rule builders at any time without losing any rule settings that you have already set. Adding a new business rule You can use Visual Rule Builder or Advanced Rule Builder to add business rules that tailor your customer's search experience. At the time you create a new business rule, you can choose to set a Test&Target campaign with the rule. Or, you can wait and set a Test&Target campaign for multiple business rules at once. About the Rules Menu 112 To add a new business rule The following steps assume you are using the Visual Rule Builder. 1. Do one of the following: • • On the product menu, click Rules > Business Rules. On the Business Rules page, click Add New Rule. On the product menu, click Simulator. On the Simulator for Today page, click Add New Rule to the right of the Options drop-down menu. If the Add New Rule option is not visible on the page, on the Options drop-down menu, click Simulate Staged. 2. In the Name text field, type the new name of the business rule. Do not click Save Rule yet. 3. (Optional) If you manage a large number of business rules, you can tag business rules with specific labels. In the Tags field, enter one or more tag labels, Use a comma, Tab, or Enter as a delimiter. On the Business Rules page, use the Filter by tag feature to filter for rules that match a given label. 4. On the Business Rule Builder page, set the triggers and actions that you want to use. See Business Rule Builder options. Depending on the rule builder panel that is active (unfolded), you can also do the following to set triggers and actions. • When the Triggers panel is unfolded – In the presentation template area of the Business Rule Builder page, right-click on any search result or search facet, and then click Add "result present" trigger. In the Triggers panel click the "X" to the left of a trigger to remove it from the list of triggers. • When the Actions panel is unfolded – In the presentation template area of the Business Rule Builder page, right-click on a search result. Click Add Result, Remove Result, Push to bottom, or Push to #<n> (where <n> is a numeral). 5. (Optional) In any Business Rule Builder panel (Triggers, Actions, Schedule, or Test&Target), do one of the following: • In the presentation template area of the Business Rule Builder page area, right-click a banner, and then click Select different banner. On the Pick Banner page, click Pick this banner below the banner thumbnail to add it to your presentation template. Only banners that match the size and area of the original banner on the presentation template are available for you to pick. The add banner action is added to the Actions panel. • In the presentation template area of the Business Rule Builder page, right-click on an Adobe Scene7 template banner whose parameters you want to change, and then click Add banner commands. In the Change Parameters dialog box, set the parameter options that you want. See Pick an Asset options and Change Parameter options. About the Rules Menu 113 Click Save. The parameter changes are added to the Actions panel. See also Editing a banner using Adobe Scene7. • In the presentation template area of the Business Rule Builder page, right-click on a banner that you want to delete from the page, and then click Remove banner. The remove banner action is added to the Actions panel. 6. (Optional) In the Schedule panel, do one of the following: • • Click Run Indefinitely to have the rule run whenever its associated triggers are met. This option is the default. Click Fixed Schedule, and then specify the start date and time, and the end date and time for the rule to run whenever its associated trigger is met. 7. (Optional) In the Test&Target panel, do one of the following: • In the Campaign drop-down list, select a Test&Target campaign that you want to associate with the rule. In the Experience drop-down list, select the campaign experience. • Click Add New Campaign. If necessary, login to Test&Target. On the Test&TargetCreate a Campaign page, create your campaign as usual. The offer uses the following fixed nomenclature: <input type="hidden" name="tnt.[campaign-name]" value="[experience-name]" /> For example, suppose you have a "mens winter sweaters" campaign and you want to test if a banner's background should be red or blue. You could set up the campaign as follows: • Campaign Name: mens winter sweaters • Experience: blue • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="blue" /> • Experience: red • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="red" /> In Test&Target, when you click Save & Approve or Save the Test&Target page closes and your campaign-experience is added to the Test&Target panel in the Business Rules Builder page. 8. Click Save Rule. 9. (Optional) On the Business Rules page, do one of the following: • Click History to revert any changes that you have made. • Click View Live Settings. • Click Push Live. Business Rule Builder options Two tables that describe the Triggers panel options and the Actions panel options that are available on the Business Rule Builder page (also known as Visual Rule Builder). About the Rules Menu 114 Triggers options Triggers are the conditions that must be met for a business rule to run. When a business rule has multiple triggers, you can configure how triggers respond using one of the following three methods: • A response where all of the triggers must be true (the default setting) as in the following example: if a AND b AND c then ... • A response where any of the triggers must be true as in the following example: if a OR b OR c then ... • A response where a custom combination of triggers is specified. That is, you combine individual triggers or "conditions" with AND operators and OR operators. You can also alter the evaluation precedence by adding left- and right-parenthesis combinations as in the following example: if (a OR b) AND c then ... Note: If you combine AND operators with OR operators in a Custom business rule set, be sure that you specify parentheses appropriately to ensure that the triggers are evaluated in the correct order. This particular feature of being able to customize a combination of triggers is not enabled by default. Contact Technical Support to activate this feature for your use. Triggers option Description Keyword Matches Trigger is true when the search term matches the given case-sensitive keyword. The trigger is true for both the keyword and all of its synonyms, as defined in the Linguistics dictionary. Query Matches Trigger is true when all the search parameters match. Result Group is Dominant Trigger is true when the group of results defined by the given search dominates the result set. By default, dominance is set at 50%. This setting is a merchandising preference that you can set. The entire group must be present within the result set for this trigger to be true. The group of results is dynamic. They can change after index operations, depending on what results match the original search criteria. Result Group is Present Trigger is true when the group of results defined by the given search is present in the result set. The entire group must be present within the result set for this trigger to be met (the results can present on any page). The group of results is dynamic and may change after index operations dependent on what results match the original search criteria. About the Rules Menu 115 Triggers option Description Result Present Trigger is true when the individual result is found within the result set. The result can be anywhere in the result set, it does not have to be on the page the user is currently viewing. Actions options When a business rule's triggers are met, the actions that are associated with the rule are performed. While Visual Rule Builder lets you create the following actions, you can use Advanced Rule Builder to create additional types of actions. The Remove Facet Item, Reveal Facet Item, Reveal Facet, Remove Facet, Push Facet Item actions in the following table require a facet. The interface for choosing a facet depends on how your account is configured. For example, a normal account uses a drop-down list for choosing facets. However, if your account has slotted facets, an autocomplete text box appears where you can enter the name of any facet. The autocomplete suggests facets in a drop-down list as you type the name of the facet. The suggestions include currently defined facets. If your account has a slot map, it also suggests slotted facets. Actions option Description Push Group Pushes the group of search results as defined by the specified search criteria to a specific position. Pushing a group of search results does not implicitly add the group. Add Group Add the group of search results as defined by the specified search criteria. Remove Group Remove the group of search results defined by the specified search criteria. Push Single Pushes the individual search result to the selected position. Add Single Adds an individual search result to the selected position. Remove Single Removes an individual search result from the search result set. Remove All Results Removes all results from the search result set. Select different banner Changes the banner in the selected banner area. This option is available when you right-click on a banner in the web page viewing area. Add banner commands Applies to Adobe Scene7 templates only. About the Rules Menu Actions option 116 Description Lets you change the default parameters that are used in the banner template. See Pick an Asset options and Change Parameter options. See also Editing a banner using Adobe Scene7. Remove banner Removes the banner from the selected banner area; no banner is displayed unless another rule that sets a banner, overrides this rule. This option is available when you right-click on a banner in the web page viewing area. Push Facet Item Pushes an item within a facet to the selected position. Remove Zone Removes a zone from the search results page. See also the Remove Facet action below. Reveal Zone Reveals a zone in the search results page. See also the Reveal Facet action below. Remove Facet Item Removes a facet item from a facet. Reveal Facet Item Reveals a specific facet item. Reveal Facet Reveals a specific facet. This action is preferred over the Reveal Zone action. Remove Facet Removes a specific facet. This action is preferred over the Remove Zone action. See also Adding a new business rule. See also Editing a business rule. Editing a business rule You can use Visual Rule Builder or Advanced Rule Builder to edit business rules that you have added. To edit a new business rule 1. On the product menu, click Rules > Business Rules. 2. On the Business Rules page, do one of the following: • Under the Name column, click the name of a business rule that you want to change. The business rule is opened in the default interface that is specified in Settings > My Profile > My Preferences. About the Rules Menu • 117 In the drop-down list, next to a business rule name that you want to edit, click Edit in advanced mode or Edit in visual mode. 3. In the Name text field, type the new name of the business rule. Do not click Save Rule yet. 4. On the Business Rule Builder page, set the triggers and actions that you want to use. See Business Rule Builder options. Depending on the rule builder panel that is active (unfolded), you can also do the following to set triggers and actions. • When the Triggers panel is unfolded – In the presentation template area of the Business Rule Builder page, right-click on a search result, and then click Add "result present" trigger. In the Triggers panel click the "X" to the left of a trigger to remove it from the list of triggers. • When the Actions panel is unfolded – In the presentation template area of the Business Rule Builder page, right-click on a search result, and then click Add Result, Remove Result, Push to bottom, or Push to #<n> (where <n> is a numeral). 5. (Optional) In any Business Rule Builder panel (Triggers, Actions, Schedule, or Test&Target), do any of the following: • In the presentation template area of the Business Rule Builder page, right-click a banner, and then click Select different banner. On the Pick Banner page, click Pick this banner below the banner thumbnail to add it to your presentation template. Only banners that match the size and area of the original banner on the presentation template are available for you to pick. The add banner action is added to the Actions panel. • In the presentation template area of the Business Rule Builder page, right-click on an Adobe Scene7 template banner whose parameters you want to change, and then click Add banner commands. In the Change Parameters dialog box, set the parameter options that you want. See Pick an Asset options and Change Parameter options. Click Save. The parameter changes are added to the Actions panel. See also Editing a banner using Adobe Scene7. • In the presentation template area of the Business Rule Builder page, right-click on a banner that you want to delete from the page, and then click Remove banner. The remove banner action is added to the Actions panel. 6. (Optional) In the Schedule panel, do one of the following: • • Click Run Indefinitely to have the rule run whenever its associated triggers are met. This option is the default. Click Fixed Schedule, and then specify the start date and time, and the end date and time for the rule to run whenever its associated trigger are met. 7. (Optional) In the Test&Target panel, do one of the following: • In the Campaign drop-down list, select a Test&Target campaign that you want to associate with the rule. In the Experience drop-down list, select the campaign experience. • Click Add New Campaign. If necessary, login to Test&Target. On the Test&Target Create a Campaign page, create your campaign as usual. The offer should use the following fixed nomenclature: <input type="hidden" name="tnt.[campaign-name]" value="[experience-name]" /> About the Rules Menu 118 For example, suppose you have a "mens winter sweaters" campaign and you want to test if a banner's background should be red or blue. You could setup the campaign as follows: • Campaign Name: mens winter sweaters • Experience: blue • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="blue" /> • Experience: red • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="red" /> In Test&Target, when you click Save & Approve or Save, the Test&Target page closes and your campaign-experience is added to the Test&Target panel in the Business Rules Builder page. 8. Click Save Rule. The Business Rule Builder page closes, and you are returned to the Business Rule page. Your rules appear in the table. Click the Modified column header to sort the rules by edit date. 9. (Optional) Do one of the following: • Click History to revert any changes that you have made. • Click View Live Settings. • Click Push Live. Copying a business rule You can copy an existing business rule to use as the basis for a new business rule that you want to create. To copy a business rule 1. On the product menu, click Rules > Business Rules. 2. On the Business Rules page, in the drop-down list next to a business rule name that you want to copy, click Copy rule. 3. Edit the copied business rule as usual. See Editing a business rule. Approving business rules You can activate business rules that have either a status of WIP (Work In Progress) or suspended. To approve business rules 1. On the product menu, click Rule > Business Rules. 2. On the Business Rules page, using the status column header in the Status column of the business rules table, sort the rules that have a status of WIP or suspended. Use the check box column header on the left side of the table to check all the rules that are currently displayed on the page or check only those that have a status of WIP or suspended. 3. On the menu bar near the top of the page, click Approve. 4. In the Confirm Action dialog box, click OK. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. About the Rules Menu 119 See Viewing live settings. • Click Push Live. See Pushing stage settings live. Suspending business rules You can suspend business rules that have either a status of WIP (Work In Progress) or approved. When you suspended a rule you are indicating in the user interface that you have temporarily made it inactive and you are deferring any work on it for another time. You can, however, still edit a suspended rule. To suspend business rules 1. On the product menu, click Rule > Business Rules. 2. On the Business Rules page, using the status in the Status column of the business rules table, in the far left column of the table, check the rules that have a status of WIP, or approved. 3. On the menu bar near the top of the page, click Suspend. 4. In the Confirm Action dialog box, click OK. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Resume business rules You can resume business rules to reactivate a suspended rule. After you resume the business rule, its status is set to WIP (Work In Progress). To resume business rules 1. On the product menu, click Rule > Business Rules. 2. On the Business Rules page, using the status in the Status column of the business rules table, in the far left column of the table, check the rules that have a status of suspended. 3. On the menu bar near the top of the page, click Resume. 4. In the Confirm Action dialog box, click OK. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings • Click Push Live. About the Rules Menu 120 See Pushing stage settings live Changing the order that business rules run You can reorder business rules to change the order in which they run on presentation templates. Business rules run in the order that they were defined; the higher a rule's order number, the later it runs in the process, trumping earlier rules. You reorder rules by entering a new number in the Order column of the table on the Business Rules page. You can also use drag-and-drop on rules to change their run order. To change the order that business rules run 1. On the product menu, click Rule > Business Rules. 2. On the Business Rules page, in the table, do any one of the following: • • • Click the Order column header to sort the rules in ascending or descending order. In the Order column, in the text field to the left of a business rule name, type the order number that you want the rule to run. Drag-and-drop a table row to the position that you want the rule to run. All the order numbers are updated to reflect the new order in which the rules run. 3. Click Save Changes. Your business rules will now run in the order that you specified. The exception is if there is a redirect business rule specified. If and when the redirect business rule is triggered or hit, business rule processing stops to allow for the redirect. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting business rules You can delete business rules whose status is WIP, suspended, or approved, by using the Bulk Actions drop-down menu. To delete business rules 1. On the product menu, click Rules > Business Rules. 2. On the Business Rules page, do one of the following: • • Use the check box column header to check all the rules that are currently displayed on the page. Check only those business rules that you want to delete, based on the status in the Status column of the table. 3. On the Bulk Actions drop-down list, click Delete. 4. In the Confirm Action dialog box, click OK. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. About the Rules Menu 121 See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Applying a Target campaign to multiple business rules You can quickly set a Target campaign and have it applied to multiple business rules, using the Buik Actions drop-down menu on the Business Rules page. If there is no Target campaign to select from, you can always add a new campaign directly from the Business Rules page. See Adding a new Target campaign. See Configuring access to your Adobe Target account. To apply a Target campaign to multiple business rules 1. On the product menu, click Rules > Business Rules. 2. On the Business Rules page, do one of the following: • • Use the check box column header to check all the rules that are currently displayed on the page. Check only those business rules that you want to assign to a particular campaign. 3. On the Bulk Actions drop-down list, click Set Target Campaign. 4. In the Set rules Target campaign dialog box, in the Campaign drop-down list, select the campaign that you want to set with the checked rules. 5. In the Experience drop-down list, select the experience you want to target. 6. In the Confirm Action dialog box, click OK. 7. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Adding a new Target campaign You can add a new Test&Target campaign from the Business Rules page. After you add a Test&Target campaign, you can apply it to a single business rule that you add or you can apply it to multiple business rules at once. See Adding a new business rule. See Applying a Target campaign to multiple business rules. About the Rules Menu 122 See Configuring access to your Adobe Target account. To add a new Target campaign 1. On the product menu, click Rule > Business Rules. 2. On the Business Rules page, click Add New Target Campaign. If necessary, login to Test&Target. See Configuring access to your Adobe Target account. 3. Click Add New Campaign. On the Target Create a Campaign page, create your campaign as usual. The offer uses the following fixed nomenclature: <input type="hidden" name="tnt.[campaign-name]" value="[experience-name]" /> For example, suppose you have a "mens winter sweaters" campaign and you want to test if a banner's background should be red or blue. You could set up the campaign as follows: • Campaign Name: mens winter sweaters • Experience: blue • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="blue" /> • Experience: red • Offer: <input type="hidden" name="tnt.mens winter sweaters" value="red" /> In Target, when you click Save & Approve or Save the Target page closes and your campaign-experience is added to the Target panel in the Business Rules Builder page of site search/merchandising. About Target Campaigns On the Target Campaigns page you can see all of your active Target campaigns that were created from site search/merchandising. You can also view the Target report for a selected campaign or select a winning experience. Viewing a Target Campaign Summary Report You can view a campaign's corresponding Target summary report. Each time you view a summary report for a campaign a new window or tab is opened in the web browser. For optimizing campaigns, the Summary Report displays different information. The Summary Report for optimizing campaigns shows the aggregate tested traffic versus the aggregate targeted traffic. This kind of high-level information helps you understand how showing content targeted to different segments is performing compared to random content shown to those segments. You can expand the sections in the report to show how each targeted experience compares to the tested traffic. To avoid orphaned business rules, select the winning experience from within site search/merchandising and not Target. To view a Target Campaign summary report 1. On the product menu, click Rules > Target Campaigns. 2. On the Target Campaigns page, click the name of a campaign under the Name column. If necessary, you may need to login to Test&Target to view the report. See Configuring access to your Adobe Target account. About the Rules Menu 123 Selecting a Target Winning Experience You can select a Target Campaign's winning experience. When you select a winning experience, the following actions occur: • Losing rules that are associated with the campaign are suspended. • All rules that are associated with the campaign have their reference to that campaign removed. The result is all users seeing the winning experience. • The Target campaign is de-activated. To avoid orphaned business rules, select the winning experience from within site search/merchandising and not Target. Be aware that there is no History feature on the Target Campaign page; you cannot revert any changes that you make to this page. To select a Target Winning Experience 1. On the product menu, click Rules > Target Campaigns. 2. In the Experiences column of a Target campaign, in the associated drop-down list, select one of the following: • • Select winner, suspend losers Select winner, delete losers About Ranking Rules You can use Ranking Rules to control the relative positioning or ranking of a customer's search results based on contained meta tag content and related SiteCatalyst metrics. You define ranking rules to affect the relative placement of the documents within your search results, based on the contents of each document. You can base ranking rules either on meta tag content, SiteCatalyst metrics (if your account is configured to work with SiteCatalyst), or SiteCatalyst HBX metrics (if your account is configured to work with SiteCatalyst HBX). You can set web pages that contain meta tags with desired characteristics, such as a certain brand name or price, or web pages that have desirable SiteCatalyst analytics, such as unique viewers, to receive a higher ranking than web pages that do not. The "desirable" characteristics are easily updated by adding or editing Ranking Rules and then re-indexing your website. If you have more than one meta tag of type "rank" defined, you can create separate collections of rules to use in calculating the various rank fields. You can add a ranking rule group, which you can then assign to one of your defined Rank fields. Rule groups normally contain one or more rule definitions, but can also refer to other Rule groups, so you can create one or more groups of commonly used rules that are shared during the calculation of your multiple ranks. See Adding a ranking rule group. A positive rank value promotes search results towards the top; a negative rank value demotes search results towards the bottom of the search results. The normal range for ranking values is 1.0 which is the maximum promotion within the search results, while -1.0 is the maximum demotion. While you can customize this range by editing the Rank field in metadata definitions, this type of customization is usually unnecessary. See About Definitions. If you have defined more than one rank field under Settings > Metadata > Definitions, you have the option to create additional sets of ranking rules, one for each rank field. You can defined additional sets of ranking rules without being directly associated About the Rules Menu 124 with a rank field. This flexibility lets you create sets of common Rules that can be shared in the calculation of one or more rank value. Important: Before you can use Ranking Rules, there are several account configuration steps that you must complete. See Configuring ranking Configuring ranking Before you can use ranking rules, there are several account configuration steps that you must complete. To configure ranking 1. Choose from the following: Task Configuration To create ranking rules that are based on meta tags 1. On the product menu, click Settings > Metadata > Definitions. 2. On the Definitions page, click Add New Field. 3. On the Add Field page, in the Field Name text field, type rank; in the Meta Tag Name text field, type rank; in the Data Type drop-down list, select Rank. Leave all other field options as-is. See the query parameter sp_sr in Backend search CGI parameters. 4. Click Add. To create ranking rules that are based on SiteCatalyst metrics 1. Make sure you have set up SiteCatalyst authentication from within site search/merchandising. See Setting up SiteCatalyst metrics authentication. 2. Select and add an available report suite. See Adding a SiteCatalyst Report Suite. 3. Configure the list of SiteCatalyst metrics that you want to be available for the creation of new Ranking Rules. See Editing the SiteCatalyst metrics of a Report Suite. 4. Load the initial SiteCatalyst metrics for your website pages. See Loading SiteCatalyst data. 2. Add one or more Ranking Rules. See Adding a ranking rule. 3. Click regenerate your staged site index to perform a full-reindex of your website (from Index > Full Index). See Running a full index of a live or staged website. About the Rules Menu 125 See Running an incremental index of a live or staged website. 4. Check the values in the Rank column in Settings > Metadata > Definitions to verify that your Ranking Rules were applied correctly. About ranking documents by age You can rank an HTML document by its age with an exponential decay function. The rate of decay is specified with a chosen half-life constant, the amount of time that must pass before the value drops to one half of its initial value. Age ranking is based on the following two equations: K = -ln(2) / H RANK = e^(K * T) Variables H and T are inputs to this function: H is the desired half-life period and T is the document's age, expressed in seconds. K is the calculated half-life, and RANK is the exponential decay of the specified age value. The resulting value is from 0 through 1. A more recent document has a rank value closer to 1 compared to an older document. In theory, documents should never reach the value of 0, but rounding errors can cause a result to become 0. Requirements for using age ranking • Your account should already be configured correctly for ranking. If it is not configured, see Configuring Ranking. • The HTML document must have an HTML meta tag field that represents its birth date, or inception as a time stamp, or some other meaningful date value. • The special built-in function, search_get_age_rank(), as specified in the Add or Edit Ranking Rule pages, is used to calculate a document's age rank. The next sections describe in detail the general use of the age-ranking function. An example is also presented that demonstrates the age-ranking feature. Using search_get_age_rank () on the Add Ranking Rule page or the Edit Ranking Rule page Specify search_get_age_rank() as follows: search_get_age_rank( Birthdate, Half_Life, Default_Rank ) • Birthdate - The birth date or inception date of the file must be a date formatted string in accordance to the field's date formats. This date formatted string is usually a field reference, as in {field_name}. • Half_Life - The half life is the amount of time that must pass before the value drops to one half of its initial value. This value is expressed in the number of days and it is an integer or a floating point number. • Default_Rank - The default rank is used as a safety net in case the birth date is invalid or the date is in the future. You cannot use this default value if its associated metadata field has a valid default value too. The value here is a floating point number or an integer. See below for suggestions if you run into problems with which default value is being used. See Adding a ranking rule. See Editing a ranking rule. Example In the following example, search_get_age_rank({birthdate},28,0.20) About the Rules Menu 126 the date contained in the document's birthdate field is passed in as the time-stamp. The half life is 28 days. The default ranking value is 0.20 if the date is invalid. See Ranking rule options. In the Values/Ranks section of the Add Ranking Rule page or the Edit Ranking Rule page, you can only use search_get_age_rank with custom-made rules. Therefore, be sure that you choose Custom from the Values/Ranks drop-down list. When the rule uses the age-ranking function, no spaces are allowed in the values part of the rule. Be sure that there are no spaces in the function arguments or in between them. And, there are no spaces between any mathematical or conditional operators. The following is an example of a values/ranks rule—a rule associated with a text field: regexp .* search_get_age_rank({other_field},365,0.20) This example assumes that other_field contains a date value. If this field is not itself a date-type field, this value is interpreted using the date formats associated with the pre-defined Date field. Otherwise, this field's date formats are used. This values/ranks entry is used whenever the document's field, that the Rule's Data Source identifies, is non-empty, and the function's return value (from 0 through 1) is the assigned rank. For a Rule associated with a Numeric field, specifically a Date field: 9999999999 search_get_age_rank({other_field},365,0.20) As each document is processed, the value in other_field is converted to the Unix "epoch" form, using the field's date format definitions. This value is used in the search_get_age_rank() call. As every "epoch" value is less than 9999999999 (for now at least), the Rule simply supplies the function's return value (from 0 through 1) as the rank. In both of the preceding examples, it is typical that the Rule's Data Source is the same field that is used in the search_get_age_rank() function - other_field in this case. An example of integrating age ranking into ranking rules The following is an example of how you can integrate age ranking into ranking rules. The example also shows you the raw results from the age-ranking function and the results from the ranking rules. The example assumes the following: • The web pages that are crawled have HTML meta tag named "birthdate". The content of this tag is a time-stamp related to the document. • The metadata definitions have a defined metatag field for the birthdate tag. This field is set to type "date." Ranking rules See Adding a new meta tag field. Now you add a new ranking rule. The rule is defined to use the "birthdate" field on the document. A new ranking rule is added with the following properties set: • Data Source Type: Meta Tag • Data Source Name: birthdate • Weights/Conditions: 10 - Maximum Importance • Values/Ranks: 9999999999 search_get_age_rank({birthdate},14,0.10) • Default Rank: -1 About the Rules Menu 127 The rule does several things. The weight of the rule is set to 10. The rank value is simply the result of the age-rank function, a value from 0 through 1. You cannot use spaces with search_get_age_rank(). Also, notice that the field "birthdate" is enclosed in braces. Finally, when you save this rule, the commas in the Values/Ranks definition are replaced with # characters; this behavior is normal. Viewing the results Use the Data View feature to quickly see the results of the age-rank function. Add the appropriate Metadata fields. In the example, age_val and myrank are the two Metadata fields that should be added to the Data View. The myrank field shows how age ranking affects the ranking values. The age_val field shows the raw output of the exponential-decay function for that document. Default values The following are three default values involved with the function search_get_age_rank(): • The default value that you can enter into the search_get_age_rank() function itself. • The default rank value from the Ranking rule. • The default value from the Metadata definition. Depending on where the failure occurs, you may get different default values. For example, the default value from the Metadata definition should never happen if Ranking and Filtering is properly implemented. This default value is the last resort value when no valid or known content for that Metadata field exists. The default value from the ranking rules may appear when search_get_age_rank() is referencing its own associated tag and the tag is missing in the document. In this case, this rule goes straight to the rule's default value. If the age-ranking function references another ranking rule's tag, it is possible that the default value passed into that age-ranking function is used if the referenced tag is missing or invalid. Adding a ranking rule You can add Ranking Rules to affect the relative placement of the web pages within your Search results, based on the contents of each web page. See Configuring ranking. To add a ranking rule 1. On the product menu, click Rules > Ranking Rules > Edit Rules. 2. (Optional) If you have created a rules group and added rules to the group, on the Define Ranking Rules page, in the Select Rule Group drop-down list, select a rule group that contains the rules you want to edit. See Adding a ranking rule group. 3. On the Define Ranking Rules page, click Add Rule to add a new Ranking Rule, or to add a reference to a Rule set. 4. On the Add Ranking Rule page, set the options you want. Fields that are marked with an asterisk (*) are required. See Ranking rule options. 5. Click Add. 6. To preview the results of the rule addition, click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 7. (Optional) Do one of the following: About the Rules Menu • 128 Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Ranking rule options A table that describes the options that are available on the Add Ranking Rule page and the Edit Ranking Rule page. The Data Source Type that you select affects the choices that are available on the Data Source Name drop-down list. For example, if you selected Meta Tag as the Data Source Type, the Data Source Name refers to the name of a meta tag on your website pages. If you selected SiteCatalyst Metric (Number), the Data Source Name refers to one of the SiteCatalyst metric names that you selected in a Report Suite as found on the Edit SiteCatalyst Metrics page in site search/merchandising. See Editing the SiteCatalyst metrics of a Report Suite. Option Description Data Source Type Determines the characteristics of the data source that is used as the input to this ranking rule. Data source types that you can select from include the following: • Meta Tag Bases this rule on numeric data or textual data that is stored within a named meta tag on your website pages. • SiteCatalyst Metric (Number) Bases this rule on a numeric SiteCatalyst metric that is associated with your site pages. Data Source Name If you chose Meta Tag as the Data Source Type, this is the name of a meta tag that is found within the pages of your website. The names in the drop-down menu come from the list of defined metadata values that were configured in Settings > Metadata > Definitions. See Adding a new meta tag field. If you chose SiteCatalyst Metric (Number) as the Data Source Type, this is the name of a SiteCatalyst metric. The names in the drop-down menu, come from the list defined available SiteCatalyst metrics that were configured in Settings > SiteCatalyst > Metrics > Edit. About the Rules Menu Option 129 Description See Editing the SiteCatalyst metrics of a Report Suite. If the SiteCatalyst metric name that you selected is not already defined in Settings > Metadata > Definitions, a text field and an Add button are displayed. Enter the name of the Metadata Field Name (the metadata field name cannot exceed 20 characters), and then click Add. When pages are encountered with multiple SiteCatalyst keys, as with a product page displaying multiple products, Composite Scheme specifies how to deal with the multiple SiteCatalyst metric values associated with that page. Select one of the following: • Sum Returns the sum of the metric values. • Average Returns the average of the values (the sum divided by the number of values). • Maximum Returns the largest of the values. • First Returns the value corresponding to the first key. • Last Return the value corresponding to the last key. Weights/Conditions Contains either a simple, single rule weight number, or a paired list of rules weight numbers and test conditions. A rule weight number is a value from 1-10 that indicates how important this ranking rule is relative to the other ranking rules in determining the overall rank of a document. A higher rule weight indicates higher importance. A weight of zero (0) ignores the rule. Choose Custom from the drop-down list to customize the rule weight for various pages by defining a list of rule weight/test conditions pairs. Test conditions are fragments of Perl that are used to test Data Source Values, or global variables that are defined within your custom filter script (for example, price, brand, season, or page views as in the following example). If a test condition evaluates to "true," the associated rule weight About the Rules Menu Option 130 Description value is applied. If a test condition evaluates to "false,", the next condition in the list is evaluated. 0 ({price} > 50.00) && ({brand}=~/Kuhl/) 5 {season} =~ /Fall/ 10 {pageviews} > 100000 5 In the custom created weight/condition example above, the rule weight 0 is applied if the first test condition evaluates to "true." That is, the price contains a value greater than 50 and the brand contains "Kuhl"). If the first test condition evaluates to "false," the next condition is evaluated. If none of the previous conditions are met, the rule weight 5 is assigned. You should always provide a rule weight with no condition at the end of the list. If you do not do this, the rule gets a weight of 0 in the case where none of the condition tests evaluate to "true." Values/Ranks Consists of either one of the built-in ranking functions, or possible Data Source content along with desired ranks. If you chose SiteCatalyst Metric (Number) as the Data Source Type, you are presented with a drop-down list with the following options: • Auto-Rank by Order (default) Calculates a rank that is based on the document's relative position, according to its SiteCatalyst Metric. For example, the closer the document's position to the top-ranked document, the higher its rank. • Auto-Rank by Value Calculates a rank based on the document's relative value, according to its SiteCatalyst Metric. For example, the closer the document's value to the top-ranked document's value, the higher its rank. • Custom Specifies custom settings. For example, a Data Source with the name of "brand" might contain the brand name for a particular product. You can specify the relative importance of each brand by listing it along with its rank. The rank values returned from the Auto-Rank calculations are in the range 0.0 (lowest) to 1.0 (highest). They are not adjusted according to the ranges that are defined for the Rank field under Settings > Metadata > Definitions. About the Rules Menu Option 131 Description In the following example, if the brand Data Source for a particular search result exactly matches "DKNY," the applied rank for that result is 0.5. Otherwise, if the brand is "Levis," the applied rank is 0.1. The Data Source content must match the set value. In other words, If the Data Source content is "Levis Corp.", it will not match the value "Levis". Case is ignored, so "DKNY" matches "dkny" and "Dkny". DKNY 0.5 Levis 0.1 Lee 0.2 As a more advanced option, you can specify values as regular expressions. For example, suppose some of your site pages contain a brand value of "Levis" and other site pages contain a brand value of "Levis jeans." You can use a regular expression specified with the keyword regexp. See Regular Expressions. In the following example, a search result document containing brand content "Levis jeans" is assigned a rank of 0.1. As with standard comparison, case is ignored for regular expressions. DKNY 0.5 regexp Levis.* 0.1 Lee 0.2 Default Rank Specifies the rank to apply for search result documents that do not match any of the specified values. In the above example, a search results document with a "brand" Data Source containing "the gap" is assigned the default rank value because "the gap" does not match any of the defined values. Notes Add information that pertains to the ranking rule definition or the rule group definition that you created. The range of valid rank values is normally -1.0 to 1.0 as in the following: • -1.0 is "Minimum Rank (display lower in the search results)." • 0.0 is "Neutral rank (do not change search results order)." • 1.0 is "Maximum rank (display higher in the search results." Defined ranks should be within the same range for every rule. The rank ranges must also match the ranges that are defined for the Rank field under Settings > Metadata > Definitions. See Adding a new meta tag field. See also Editing a ranking rule. About the Rules Menu 132 Editing a ranking rule You can edit an existing ranking rule that you have already added. See Configuring ranking. To edit a ranking rule 1. On the product menu, click Rules > Ranking Rules > Edit Rules. 2. (Optional) If you have created a rules group and added any rules to the group, on the Define Ranking Rules page, in the Select Rule Group drop-down list, select a rule group that contains the rules you want to edit. See Adding a ranking rule group. 3. In the table, under the Actions column header, click Edit for the data source name you want to change. 4. On the Edit Ranking Rule page, set the options that you want. Fields that are marked with an asterisk (*) are required. See Ranking rule options. 5. Click Save Changes. 6. Rebuild your staged website index to preview the results of the rule edit. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 7. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a ranking rule You can delete ranking rules that you no longer need to use. See Configuring ranking. See Adding a ranking rule group. To delete a ranking rule 1. On the product menu, click Rules > Ranking Rules > Edit Rules. 2. (Optional) If you have created a rules group and added any rules to the group, on the Define Ranking Rules page, in the Select Rule Group drop-down list, select a rule group that contains rules that you want to delete. 3. In the table, under the Actions column header, click Delete for the data source name you want to change. 4. On the Delete Ranking Rule page, click Delete. You are returned to the Define Ranking Rules page. 5. Rebuild your staged website index to preview the results of the rule deletion. See Running a full index of a live or staged website. About the Rules Menu 133 See Running an incremental index of a live or staged website. 6. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Adding a ranking rule group If you have defined more than one meta tag of type "rank", you can create separate collections of rules to use in calculating the various rank fields. You can add a ranking rule group, which you can then assign to one of your defined Rank fields. Rule groups usually contain one or more rules that you have added. However, Rule groups can also refer to other Rule groups. For example, you can create one or more rules groups and then add commonly used rules to each one. Those rules are then shared during the calculation of your multiple ranks. See Editing a ranking rule group. See Deleting a ranking rule group. See Reviewing ranking rule groups. To add a ranking rule group 1. 2. 3. 4. On the product menu, click Rules > Ranking Rules > Edit Rules. On the Define Ranking Rules page, to the right of the Select Rule Group drop-down list, click Add. On the Add Ranking Rule Group page, in the Rule Group Name field, type a unique name for the new rule group. In the Rank Field Name drop-down list, select a rank metadata field name that you want to associate with the new rule group. Select None if you do not want to assign a rank. The list of rank field names comes from metadata definitions that were added in Settings > Metadata > Definitions. See Meta tag field options. 5. Click Add. 6. Rebuild your staged website index to preview the results of the rule addition. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 7. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. About the Rules Menu 134 See Pushing stage settings live. Editing a ranking rule group You can edit the settings of an existing ranking rule group. See Adding a ranking rule group. To edit a ranking rule group 1. 2. 3. 4. On the product menu, click Rules > Ranking Rules > Edit Rules. On the Define Ranking Rules page, to the right of the Select Rule Group drop-down list, click Edit. On the Edit Ranking Rule Group page, in the Rule Group Name field, type a unique name for the rule group. In the Rank Field Name drop-down list, select a rank metadata field name that you want to associate with the rule group. Select None if you do not want to assign a rank. The list of rank field names comes from metadata definitions that were added in Settings > Metadata > Definitions. See Meta tag field options. 5. Click Save Changes. 6. Rebuild your staged website index to preview the results of the rule addition. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 7. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a ranking rule group You can delete a Ranking Rule Group that you no longer need or use. When you delete a group, any Rules that were added to the group, are also deleted. You cannot delete the default "Ranking Rules" group. The contents of any Rule Groups that are contained in the delete group are not deleted; only the references to these groups are removed. Be sure you reindex your website so that the change is properly reflected in the search results. See Adding a ranking rule group. To delete a ranking rule group 1. On the product menu, click Rules > Ranking Rules > Edit Rules. 2. On the Define Ranking Rules page, in the Select Rule Group drop-down list, select a group that you want to delete. 3. To the right of the Select Rule Group drop-down list, click Delete. About the Rules Menu 135 4. On the Delete Ranking Rule Group page, click Delete. 5. Rebuild your staged website index to preview the results of the rule addition. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 6. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Reviewing ranking rule groups You can use Ranking Rule Groups Overview to see each groups Rank Field name, and associated data source and weighting. See Adding a ranking rule group. To review ranking rule groups 1. 2. 3. 4. On the product menu, click Rules > Ranking Rules > Edit Rules. On the Define Ranking Rules page, to the right of the Select Rule Group drop-down list, click Overview. On the Ranking Rule Groups Overview page, click Close to return to the Define Ranking Rules page. (Optional) Do one of the following: • Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Testing ranking rules You can provide a suitable URL test the Ranking Rule definitions that you have set up. The metrics used in the calculations are displayed, along with the calculated Rank value. See About Ranking Rules. To test ranking rules 1. 2. 3. 4. On the product menu, click Rules > Ranking Rules > Edit Rules. On the Define Ranking Rules page, in the Test URL area, type the URL to a web page that is on your website. Click Test. (Optional) Do one of the following: About the Rules Menu • 136 Click History to revert any changes you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Adjusting the weight associated with ranking rules You can change the relative contributions of your individual Ranking Rules, and the contribution of Ranking to the final search results. When Ranking is not defined, the search results are 100% on the Natural Relevance side of the Rules & Relevance slider bar on the Adjust Ranking Weights page. This balance simply means that the search results are ordered based solely on search terms. When Ranking is defined, the associated Rank metadata field is assigned a Relevance value, ranging from 1-10. A value of 1 means that the calculated Rank makes up 10% of the search result ordering, and Natural Relevance the remaining 90%. If you have more than one Rule defined in a Rule group, each Rule's Weight value determines how much that Rule's result contributes to the total calculated Rank. For example, suppose you have a Natural Relevance of 80%, meaning that the associated Rank field's relevance is 2. You also have defined two Rules: one with a weight of 3, and the second with a weight of 7. In such case, the first Rule's contribution to the final result is 6% ((3 / (3+7)) * 20%). The second Rule's contribution to the final result is 14% ((7 / (3+7)) * 20%). To adjust the weight associated with ranking rules 1. On the product menu, click Rules > Ranking Rules > Adjust Weights. 2. On the Adjust Ranking Weights page, in the Select Rule Group drop-down list, select a group whose ranking weights you want to adjust. 3. Drag the sliders to change the corresponding contribution values. The pie chart reflects your changes graphically. 4. Click Save Changes. 5. Rebuild your staged website index to preview the results of the rule addition. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 6. (Optional) Do one of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Linguistics menu 137 About the Linguistics menu Use the Linguistics menu to manage your various linguistic settings that affect your search results. About Dictionaries You can use Dictionaries to manage a collection of dictionaries and their associated synonyms and hyponyms. Synonyms are words that have the same or similar meaning such as pants, jeans, trousers, and slacks, or buy, purchase, acquire, and order. Hyponyms are one-way synonyms, and provide a solution when synonyms would be inappropriate. For example, an apparel retail site’s top search term is “pants”. However, jeans do not appear in the search results. In such case, you can use a hyponym to associate jeans with pants, but to allow a search for jeans to return only jeans. Use hyponyms to also provide a match for discontinued products or competitive terms. This strategy ensures minimal impact on other search results. For example, if the “S2000” product is discontinued and the “S3000” is its successor, use a hyponym instead of a synonym to ensure that the search results for “S3000” do not include any stray “S2000” results. Synonyms and hyponyms help customers find relevant search results when they enter non-exact matching terms that do not exist on the web pages. For example, if the word "pants" is used throughout your website, you can create a synonym that bind "pants" and "trousers" together. In turn, when customers search for "trousers," search results are returned that are related to pants. Synonyms and hyponyms are grouped together as Domain Dictionaries. These are special dictionaries that you create for a specific theme or purpose. The Dictionary Menu page lists all the domain dictionaries that your account currently has defined. From this main page, you can rename, edit, delete, or enable and disable domain dictionaries. Understanding synonym and hyponym notation The following image is an example of a group of terms with both synonym and hyponym relationships. About the Linguistics menu 138 Six main synonym relationships are explicitly defined. Each term is separated by equal signs (=). • "Car" is a synonym of automobile. • "Sedan" is a synonym of saloon. • "Station wagon" is a synonym of estate. • "ASP" is a synonym of Active Server Pages and Application Service Provider. • "Purchase", "buy", and "procure" are synonyms of each other. • "US", "USA", and "United States of America" are synonyms of each other. Rows that contain a single word are plain synonyms. Rows with expandable trees form hyponym relationships. In the example, the second tree defines sedan, saloon, station wagon, and estate as hyponyms of car and automobile. Conversely, car and automobiles are hypernyms of the rest of the terms in the tree. The third tree defines car and motorcycle as hyponyms of vehicle. You can include more than one acronym and/or multi-word expansion in each synonym, as seen in the "US" synonym example above. When a word or acronym has several meanings, create a synonym for each meaning, as in the "ASP" example above. By adding multiple synonyms you ensure that a search for "Application Service Provider", for example, does not return search results for "Active Server Pages". Hyponyms do not expand with other hyponyms. Hyponyms do expand, at most, one level with their synonyms. For example, a search for "vehicle" returns results for "car" and "automobile", but it does not return results for "sedan" and "station wagon". About searching for terms across dictionaries You can search for hyponyms and synonyms across all the dictionaries that you add. This feature is useful is you want to edit or delete a specific term that may exist in multiple dictionaries. Every dictionary with matching results appears with their matching word sets. If the query returns more than 1000 sets, or trees, only the first 1000 are presented. See Searching across dictionaries. About the Linguistics menu 139 See Editing a dictionary. About configuring a dictionary as a stemming dictionary Stemming, which is the ability to search on the root of a word that can have multiple endings, can operate in one of three modes: Domain Dictionaries, Default Alternate Word Forms, and None. See About Words & Language. The following information assumes that your account has Alternative Word Forms set to Domain Dictionaries, so that you can configure specific domain dictionaries as your source of stems. You can turn any domain dictionary into a "stemming dictionary." Its synonyms and hyponyms continue to expand as expected, but with additional side effects. With any terms in common found in another dictionary, or even itself, it merges its group of words with those synonyms or hyponyms. You can think of this as a another level of word expansion. Without stemming, synonyms, and hyponyms must be verbose and complete, listing each relevant word as a member. The following is an example of synonyms and no stemming: • Synonyms: jog = running • A query for "jog" yields documents with the words "running" and "jog". • A query for "running" yields the same documents as "jog". • Web pages without "jog" and "running," but have other word forms such as "runs" and "run," are missing from the query result. In this example, a query word does not expand unless it is a member of a specific synonym or hyponym. The following is an example of synonyms and stemming: • Synonyms: jog = running • Synonym entry from a stemming dictionary: running = runs = run • A query for "jog" or "running" returns all web pages with the words "runs", "running", "run", and "jog." • A query for "runs" and "run" returns the same, or similar, results. In this example, a synonym from a stemming dictionary has the ability to merge its group of equivalent words with any other synonym or hyponym in any other dictionary that has at least one term in common. Designating too many dictionaries with too many words can have performance ramifications. You should designate domain dictionaries as stemming dictionaries sparingly. Stemming can also create unanticipated word expansions during search time and complicate the process of debugging and tracing word expansions. See Configuring a dictionary as a stemming dictionary. Adding a new dictionary You can add a new dictionary of synonyms and hyponyms to help your customers find relevant search results. This feature is particularly useful when customers enter non-exact matching terms which might not exist on your web pages. See also Business Rule Builder options. To add a new dictionary 1. 2. 3. 4. On the product menu, click Linguistics > Dictionaries. On the Dictionary Menu page, click Add New Dictionary. On the Dictionary page, in the Name field, enter the name of the new dictionary. Click Add Synonyms. About the Linguistics menu 140 5. In the Add Terms dialog box, do one of the following: • • To add synonyms, enter two or more terms in the main text field, separating each word or phrase with an equals sign (=). For example, pants = trousers = slacks. To add hyponyms, enter a hypernym term in the main text field. Click Add Hyponym, and then enter a hyponym that relates to the hypernym that you entered. For example, "sedan", "saloon", "station wagon", and "estate" could be hyponyms of "car" and "automobile" (both hypernyms) as seen below. Hyponym entries can also form synonyms such as "sedan" and "saloon". 6. Click Save. 7. Do one of the following: • • Repeat steps 4-6 to add more synonyms and hyponyms. Continue to the next step. 8. To preview the results of your changes, click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 9. (Optional) On the product menu, click Linguistics > Dictionaries, and then do one of the following: • • On the Dictionary Menu page, click History to revert any changes that you have made. On the Dictionary Menu page, click View Live Settings. See Viewing live settings. • On the Dictionary Menu page, click Push Live. See Pushing stage settings live. Enabling or disabling a dictionary The relationships of each word are generated at the time that you index your website. Before the next indexing operation, you can turn on or off any dictionary that you have added. To enable or disable a dictionary 1. On the product menu, click Linguistics > Dictionaries. 2. On the Dictionary Menu page, under the Enabled column of the table, do one of the following: • • Check the box of a dictionary that you want to turn on and have indexed. Uncheck the box of a dictionary that you want to turn off and not have indexed. 3. Click Save Changes. 4. To preview the results of your changes, click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. About the Linguistics menu 141 See Running an incremental index of a live or staged website. 5. (Optional) On the product menu, click Linguistics > Dictionaries, and then do one of the following: • • On the Dictionary Menu page, click History to revert any changes that you have made. On the Dictionary Menu page, click View Live Settings. See Viewing live settings. • On the Dictionary Menu page, click Push Live. See Pushing stage settings live. Editing a dictionary You can edit or delete synonym and hyponym groups that make up a specific dictionary. You can also use Find to locate specific synonyms and hyponyms that you want to edit or delete across all of your dictionaries. To edit a dictionary 1. On the product menu, click Linguistics > Dictionaries. 2. Do one of the following: • • On the Dictionary Menu page, in the table, click the hyperlinked name of a single dictionary whose terms you want to edit or delete. On the Dictionary Menu page, in the Find text field, type a term that you want to locate across all dictionaries, and then click Find. On the Find in Dictionaries page, use the accompanying drop-down lists to set the refinement options that you want. See Find in Dictionaries options. 3. In the table, do either one of the following: • Click that is associated with the term that you want to update. In the Edit Terms dialog box, change the terms that you want. When you finish, click Save. • Click that is associated with the term that you want to remove. In the Delete Terms dialog box, click Delete. Be sure that you delete the correct term; there is no delete confirmation dialog box. 4. To preview the results of your changes, click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 5. (Optional) On the product menu, click Linguistics > Dictionaries, and then do one of the following: • • On the Dictionary Menu page, click History to revert any changes that you have made. On the Dictionary Menu page, click View Live Settings. See Viewing live settings. • On the Dictionary Menu page, click Push Live. See Pushing stage settings live. About the Linguistics menu 142 Find in Dictionaries options A table that shows the options that are available on the Find in Dictionaries page. Option Description Find Lets you enter the term that you want to search for across all dictionaries. Match drop-down list Lets you select from the following four types of matching: • Exact Match The query must have an exact match with a hyponym or synonym. • Contains Text The query only needs a substring match; a match inside a hyponym or synonym. • Starts With The query is only matched against the beginning of each hyponym and synonym. • Word Match The query is compared to each word from a synonym or hyponym, but the word must match exactly. Enabled/Disabled Dictionary drop-down list Lets you select from the following options: • Enabled and Disabled Dictionaries Search for the specified term in both enabled and disabled dictionaries. • Enabled Dictionaries only Searching enabled dictionaries only is helpful for debugging the current index. See Enabling or disabling a dictionary. Staged/Live drop-down list Lets you select from the following options: • Staged/Live Dictionaries Searches for the specified term across staged and live dictionaries. However, it only searches the staged version of the dictionary if it exists. If the staged version does not exist, it searches the live version of the dictionary. • Live Dictionaries About the Linguistics menu Option 143 Description Search for the specified term in the live dictionaries only. Renaming a dictionary You can change the name of a dictionary that you have added. If you set the Alternate Word Forms option to Domain Dictionaries in Words & Language, the option Configure is used instead of Rename. See About Words & Language. To rename a dictionary 1. On the product menu, click Linguistics > Dictionaries. 2. On the Dictionary Menu page, under the Actions column of the table, do one of the following: • Click Rename for the associated dictionary whose name you want to change. In the Rename Dictionary dialog box. in the Name field, enter the new name of the dictionary. Click Rename File. • Click Configure for the associated dictionary whose name you want to change. In the Configure Dictionary dialog box. in the Name field, enter the new name of the dictionary. Click Save Configuration. 3. (Optional) Do one of the following: • • Click History for a particular dictionary to revert any changes that you have made to it. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Configuring a dictionary as a stemming dictionary You can set a dictionary to advanced stemming mode to take advantage of word stemming in searches. Such a mode returns web pages that match variants of what your customers are searching on. See About Dictionaries. See About Words & Language. To configure a dictionary as a stemming dictionary 1. On the product menu, click Linguistics > Words & Language. 2. On the Words & Languages page, in the Alternate Words Forms drop-down list, select Domain Dictionaries. Any domain dictionary that is set as a stemming dictionary (see step 7 below) is used a source of alternate word forms. About the Linguistics menu 144 3. Click Save Changes. 4. On the product menu, click Linguistics > Dictionaries. 5. On the Dictionaries Menu page, under the Actions column in the table, click Configure for an associated dictionary that you want to set as a stemming dictionary. 6. In the Configure Dictionary dialog box, in the Advanced Stemming Mode drop-down list, select Yes. 7. Click Save Configuration. 8. Click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 9. (Optional) On the product menu, click Linguistics > Dictionaries, and then do one of the following: • • On the Dictionary Menu page, click History to revert any changes that you have made. On the Dictionary Menu page, click View Live Settings. See Viewing live settings. • On the Dictionary Menu page, click Push Live. See Pushing stage settings live. Searching across dictionaries You can search for hyponyms and synonyms across all the dictionaries that are added to site search/merchandising. This feature is useful is you want to edit or delete a specific term that may exist in multiple dictionaries. Every dictionary with matching results appears with their matching word sets. If the query returns more than 1000 sets, or trees, only the first 1000 are presented. See Editing a dictionary. To search across dictionaries 1. On the product menu, click Linguistics > Dictionaries. 2. On the Dictionary Menu page, in the Find text field, type a term that you want to locate across all dictionaries, and then click Find. 3. On the Find in Dictionaries page, use the accompanying drop-down lists to set any refinement options that you want. See Find in Dictionaries options. 4. (Optional) Use the Show drop-down to specify the maximum number of results that you want to display per page. Deleting a dictionary You can delete dictionaries that you no longer need or use. If you delete a dictionary that is live, it is staged for deletion. If you delete a dictionary that is staged, it is deleted immediately. Be sure you are deleting a dictionary that you know longer need; there is no history feature available to revert the deletion. To delete a dictionary 1. On the product menu, click Linguistics > Dictionaries. 2. On the Dictionary Menu page, under the Actions column of the table, click Delete for the associated dictionary that you want to remove. About the Linguistics menu 145 3. In the Delete Dictionary dialog box. click Yes to confirm the deletion. 4. (Optional) If you deleted a live dictionary, do one of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Words & Language You can use Words & Language to determine how search terms are matched to the content of your web pages. Before the effects of Words & Language settings are available to site visitors, including any changes you make to those settings, you must regenerate your site index. Regenerating, unlike indexing, does not involve crawling your web pages and takes only a few seconds. Configuring how search terms are matched to your web content You can use Words & Language to determine how site search/merchandising matches search terms to the content of your web pages. To configure how search terms are matched to your web content 1. On the product menu, click Linguistics > Words & Language. 2. On the Words & Languages page, set the options that you want. See Words & Language options. 3. Click Save Settings. 4. To preview the results of your changes, click regenerate your staged site index to rebuild your staged website index. 5. (Optional) Do one of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Words & Language options A table that describes the options that are available on the Words & Language page. Option Description Case Sensitivity Not selected by default. Determines whether uppercase letters are distinguished from lowercase letters. For example, when selected, "Succeed" is distinguished from "succeed", and the search results can vary between the two. About the Linguistics menu 146 Option Description Diacritic Sensitivity Selected by default. Determines whether words that contain diacritic characters are distinguished from words that do not. For example, when selected, "pagina" is distinguished from "página". Deselect this option if you have a website that uses non-English languages. Numbers Selected by default. Determines whether words that contain digits are indexed. Ignore Apostrophes Not selected by default. Apostrophes are removed from queries. For example, a search for "Tree's" would return the same results as a search for "Trees". Ignore Hyphens Not selected by default. Hyphens are removed from queries. For example, a search for "blue-bell" would return the same results as a search for "bluebell". Partial Alphanumeric Not selected by default. Matching When selected, this option lets you split tokens on alphabetical–numerical transitions to allow free-text matches on part or product tokens. For example, suppose that you have a product identifier of 910XT in the body content of one or more pages on a website. When this option is not selected, Adobe Search&Promote finds matches for this product identifier when searching for 910XT. And, with Search Concat-Div-Enable turned on, Adobe Search&Promote would also find 910 XT. However, it would not find instances of 910 or XT exclusively. When you select Partial Alphanumeric Matching, the indexer breaks these mixed alphanumeric tokens into multiple tokens. For example, a product identifier such as XYZ123 is indexed into three tokens: XYZ123, XYZ, and 123. Such functionality allows for search-time free-text matching on any of these variants. In another example, suppose that you have the product identifier AB910XT. If you select Partial Alphanumeric Matching and have Search Concat-Div-Enable turned on, Adobe Search&Promote indexes it as AB910XT, AB, 910, and XT. Then, when a user searches for 910XT, for example, the search expands to also find instances of 910XT, 910, or XT. Note: Search Concat-Div-Enable is not enabled by default. Contact Technical Support to activate the feature for your use. Note: Partial Alphanumeric Matching is applied globally to all indexed fields. However, it only affects free-text matching; it does not affect exact matching or range matching. About the Linguistics menu 147 Option Description Sound-Alike Matching Selected by default. Alternate Word Forms Default is Default Alternate Word Forms. Words that sound alike are matched such as "health" and "helth". This feature allows your customer to easily search despite misspelling a word. You can select from the following options in the Alternate Word Forms drop-down list: • None No stemming or alternative word forms are applied during indexing. • Default Alternate Word Forms Stemming is automatically done during indexing. • Domain Dictionary Any domain dictionary that you set as a stemming dictionary is used a source of alternate word forms. See About Dictionaries. See Configuring a dictionary as a stemming dictionary. If phrase stemming is enabled in Adobe Search&Promote, be aware that alternate word forms also occur within phrases. See Search&Promote 8.15.0 Release Notes (6/19/2014). Language Default is English (United States). The selected language ensures that date and numeric values are parsed according to the conventions used in the selected part of the world. When Alternate Word Forms is set to Default Alternate Word Forms or to Domain Dictionary, word forms and word endings change according to the linguistic rules for the selected language. By default, the Language setting is not used to determine the language of pages read from your website. The language for a read page is determined from its HTTP headers or from metatags within the page itself. Your website could contain pages in many different languages. Each page is correctly read and indexed, regardless of the language that is selected here. If you use a Unicode character set encoding such as UTF-8 for some pages on your website, make sure that the language for each of those pages is correctly specified. If the appropriate HTTP headers or metatags do not exist for your Unicode documents, you can use Settings > Metadata > Injections to specify the appropriate language. Check Apply to documents with no specified language? to use the Language setting for pages read from your website that have no explicit setting. Use this setting when only some of your documents do not have language settings. Use Settings > Metadata > Injections if either none of your documents have language settings, or the set of affected documents is a well-known and manageably small list. See About Injections. About the Linguistics menu Option 148 Description Use Decompounder? Note: This feature is only used for Danish and German. Also, this feature is not enabled by default. Contact Technical Support to activate the feature for your use. After it is enabled, the Use Decompounder? option only appears in the user interface if you select Danish or German from the Language drop-down list described earlier in this table. When you select Use Decompounder?, the service breaks down Danish or German compound words, which allow the indexing of component words along with the original compound words. To see how this feature works, enter words into the text field, and then click Test. About Did You Mean You can configure Did You Mean so that customers are given suggestions for valid search terms when they have tried searches that have failed. Suggestions are formed by looking for spelling and typing corrections to the search terms that result in a valid search. Configuring Did You Mean You can tailor how site search/merchandising makes search suggestions when a customer's query returns no, or minimal, search results. To configure Did You Mean 1. On the product menu, click Linguistics > Did You Mean. 2. On the Did You Mean page, in the Remove these Words from Suggestions text field, enter space or line separated words to filter undesirable suggestions. These are words in your search index that do not show up as recommended alternative search terms. You can exclude any word matching a pattern through the use of regular expressions. Otherwise, just the exact word is removed. 3. Set the Did You Mean options that you want. See Did You Mean options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History to revert any changes you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Linguistics menu 149 Did You Mean options A table that describes the options that are available on the Did You Mean page. Option Description Suggestion Algorithm Adjusts how far the software goes to find suggestions. If a user makes a one-letter mistake, all of the algorithms come up with the same suggestions. The reason why is because it only takes one edit to arrive at a working suggestion, and all algorithms find words that are close to the original. But when the original search terms are not similar to existing terms in the index, the Deep and Bad Spellers Suggestion Algorithms continue to search for possible suggestions. This scenario is useful if a customer tries a proper name that is hard to type, and they sound out the names. However, if you only want similar suggestions to appear, you can choose the Quick algorithm. Default count of suggestions to show Specifies the number of Did You Mean term suggestions (0-20) that you want to show when a customer's search returns no results. The default is 3. Minimal suggestion word length Prunes Did You Mean terms by specifying the minimal number of letters for a suggested word. For example, if you set the value to 4, the software does not suggest a word that is 1, 2, or 3 characters long. If you specify a value of 0, no short words are removed from the term suggestions. If you specify a high value, it usually results in no term suggestions. The default value is 3. Minimum index frequency Specifies the minimum number of times a word has to appear in the index before it is included in the Did You Mean dictionary. You cannot specify a negative number in the field. Search for suggest term if no results Automatically re-searches for the first suggested term when a customer's search yields no results and there is at least one Did You Mean term suggestion. You can use the following tags in your presentation template to indicate that site search/merchandising is automatically searching for a different term: <guided-if-suggestion-autosearch> Search for <guided-param gsname="q" /> instead of guided-suggestion-original-query /> </guided-if-suggestion-autosearch> About the Linguistics menu Option 150 Description You can also show other suggestions here. <guided-if-suggestion-autosearch> There was 0 matches for <guided-suggestion-original-query /> Did You Mean <guided-param gsname="q">? Here are the results for that search. Or Did You Mean <guided-suggestions> <guided-suggestion-link><guided-suggestion /></guided-suggestion-link> </guided-suggestions> </guided-if-suggestion-autosearch> Make suggestions due to low results If a customer searches for a term that yields less than ten results, the search engine checks to see if it has a suggestion that can yield more than 100 results. If it does, you can use the following tags to indicate to the user that while they have results, they may have wanted to search for something else: <guided-if-suggestion-low-results> You have a low result count for <Search for guided-param gsname="q">. Did you mean: <guided-suggestion><guided-suggestion-link><guided-suggestion /></guided-suggestion-link><guided-if-not-last>, </guided-if-not-last></guided-suggestions> </guided-if-suggestion-low-results> In the above scenario, the number of suggestions is controlled by the value that is specified in Default count of suggestions to show. The low and high threshold are configurable by the options below. Make suggestions when the initial results are fewer than Controls the number of results when the system starts to offer suggestions. This option appears only when you check Make suggestions due to low results. The default is 10. A suggestion must generate at least this many results Filters suggestions that are made due to low results in primary search by their result count. This option appears only when you check Make suggestions due to low results. The default is 100. About the Linguistics menu 151 About Query Expansion Overrides You can override the expansion of search query results. When you configure a query expansion override, you create a set of "rules". Each rule says, essentially, "Do not expand <this> into <that> at the time of search" where <this> is a simple text word or phrase, and <that> is text word or phrase, or a classification. Note: This feature is not enabled in Search&Promote, by default. Contact Technical Support to activate the feature for your use. After the Query Expansion Overrides feature is enabled, you must "turn it on" in the user interface. How a Query Expansion Override works When a Text and Term value is specified in the Query Expansion Overrides Add page, the code acts on the specific pairing. When a classification type is specified as a Term, such as Dictionaries or Alternate Word Forms, the Do Not Expand value is not converted into any form created by the indicated classification. For example, suppose that you have the following definition: Do Not Expand = "dog" Type = Text Term = "dogs" A search query for "dog", which expands to include "dog's" and "dogs" by way of Alternate Word Forms, would not include "dogs". However, if the definition was the following: Do Not Expand = "dog" Type = Alternate Word Forms The query does not include "dog's" or "dogs" (the available Alternate Word Forms for "dog".) You can specify multiple terms, multiple classifications, or both. However, if you select All as the Type, any multiple-term list is collapsed to just a single "All" entry. If Text and classification entries are mixed in any rule, they are reorganized in the user interface to show text values first. However, this does not imply or affect the order of evaluation at the time of search. Text terms are validated to remove meaningless references. That is, it compares the term with the Do Not Expand value and removes the term if there is a match. Additionally, duplicate Term values, either text or classification, are removed. If you add a new rule with a Do Not Expand value replicating an earlier definition, the new definition's Terms are added to the original. Configuring Query Expansion Overrides Defining and adding a Query Expansion override in Search&Promote. Note: This feature is not enabled in Search&Promote, by default. Contact Technical Support to activate the feature for your use. After the Query Expansion Overrides feature is enabled, you must "turn it on" in the user interface. The first few steps below outline how to do that. About the Linguistics menu 152 To configure Query Expansion Overrides 1. In Search&Promote, click Settings > User > View Roles. 2. On the View Roles page, in the Actions column of the table, click Edit to the right of the role whom you want to give access to Query Expansion Overrides on the Linguistics menu. 3. On the Edit Role page, expand the Linguistics tree. 4. Check Query Expansion Overrides, and then click Save Changes. 5. Click Linguistics > Query Expansion Overrides. 6. Click Add Query Expansion Overrides. 7. In the Query Expansion Overrides Add page, set the options you want. See Query Expansion Overrides Definition options. 8. When you are finished, click Add. From the Query Expansion Overrides Definitions page, you can edit or delete the definitions you have added. 9. To preview the results of your additions, click regenerate your staged site index in the blue box to quickly rebuild your staged website index. 10. (Optional) Do one of the following: • Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live Query Expansion Overrides Definition options A table that describes the options that are available on the Query Expansion Overrides Add page. Option Description Do Not Expand Specifies the word or phrase that you do not want to expand. Type Select Text to specify a specific word or phrase pairing. Or, select a classification to specify that the Do Not Expand word or phrase is not converted by way of the selected classification. Term Only available if you selected Text as the Type. Specifies the word or phrase to exclude from the search expansion. Action Click + or - to add or delete Terms, respectively, to the definition. About the Linguistics menu 153 About Excluded Words You can use Excluded Words to specify frequently used phrases and common words, such as "a" and "the", that you want to leave out of search results. See also About Searches. Without Excluded Words, searches that contain these words may identify numerous irrelevant results. When you exclude words and phrases, search results are omitted that match only the excluded terms that you have specified. If a search query contains an excluded word, only the non-excluded words are used to find documents. Excluded search words are not highlighted in the search results. However, the relevance score of each result is influenced by the excluded words. In other words, excluded words are ignored when finding documents, but they are still used when ranking the documents on the search results page. Before the effects of the Excluded Words settings (or changes to these settings) are available to customers, be sure you regenerate your site index. When you enter words to exclude from the search results, you separate words or phrases from each other with commas. You can enter one or more exclude words per line. The following is an example of excluded words on separate lines and divided by commas. Using the example list of excluded words above, if your customer searches for "the united states of america", the word "the" and the word "of" are excluded from the search. Instead, the search finds all pages that contain the words "united", "states", and "america". Pages that contain only the word "of" or "the" are not shown. Some sites contain specific phrases on most, or all, pages. For example, a website about tourism in New York City could contain the words New York in the title of every page. Consider adding this phrase, and others like it, to the exclude list: When a phrase is excluded, the individual words that make it up are still used as search terms. Only when a visitor searches for the exact words, in the exact order of an excluded phrase, is the phrase excluded from the search results. Using the example above, If a customer searched for the "new york ballet", the word "the" and the phrase "new york" are excluded; only pages that contain the word "ballet" are returned as a search result. On the other hand, a search for "new buildings" or "duke of york" still finds pages that contain the word "new" or "york", respectively. About the Linguistics menu 154 Configuring Excluded Words You can exclude frequently used phrases and common words from your search results. You can enter one or more words per line. Separate each word with commas as in the following example: You can choose to show search results when all the words in the customer's search are excluded words. For example, if you have excluded the word "the" and a customer chooses to search only for "the", the search results show any page that contains the word "the". This result is true even though the word "the" is excluded. If you do not check this option, the customer does not get any search results. This setting has no effect if the search contains at least one non-excluded word. To configure excluded words 1. On the product menu, click Linguistics > Excluded Words. 2. On the Excluded Words page, in the Words and Phrases text field, enter the words that you want to exclude from search results. 3. (Optional) Click Show results when all words in the query are excluded words. When all words in the customer's search are excluded words, all of the words are used together to perform the search. 4. Click Save Changes. 5. To preview the results of your changes, click regenerate your staged site index to rebuild your staged website index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. 6. (Optional) On the product menu, click Linguistics > Excluded Words, and then do one of the following: • On the Excluded Words page, click History to revert any changes that you have made. Using the History option. • On the Excluded Words page, click View Live Settings. See Viewing live settings. • On the Excluded Words page, click Push Live. See Pushing stage settings live. About Common Phrases You can define Common Phrases that are used on your website so that when a customer enters a search query, they do not need to enter quotes around any of the phrases you have defined. Note: The Common Phrase feature does not appear in the user interface because it is not enabled by default. Contact Technical Support to activate this feature for your use. About the Linguistics menu 155 Common Phrases are a collection of multiple-word phrases that are recognized during a customer's search. It treats the phrases as a combined group of words instead of individual words. When a customer enters a search query on your website, they can identify phrases by surrounding the terms with double-quotes, such as "Pacific Ocean". However, when you add groups of common phrases, the quoting steps are performed automatically for the customer as it finds matching phrases in the search query. For example, suppose a customer to your website enters the following search query: hotels near the pacific ocean Without the addition of quotation marks around pacific ocean, the customer's search returns results for hotels near any ocean in the world, which is not what the customer intended. However, when you add the common phrase "Pacific Ocean," their search query is automatically converted to the following: hotels near the "pacific ocean" The use of Common Phrases does not preclude your customers from explicitly using quotation marks around phrases of words, Instead, it simply adds quotes, when those defined phrases are found in their search query. This search query expansion applies to backend search CGI parameters sp_q and sp_q_#, See table rows 25, 26, and 32 in Backend search CGI parameters. Adding a Common Phrase Group You can add Common Phrase Groups to ensure that search queries accurately return web pages that have all the words, in the exact order and proximity, that a customer typed. As you add Common Phrase Groups, you can use the Find feature on the main Common Phrase Group page. The Find feature lets you search for an existing phrase and find out in which group it resides. See Finding groups that contain particular words in a phrase. To add a Common Phrase Group 1. On the product menu, click Linguistics > Common Phrases. 2. On the Common Phrases Groups page, click Add Phrase Group. 3. On the Add Common Phrase Group page, set the options that you want and add all the phrases that make up the group. See Adding or Editing Common Phrase Group options. 4. Click Add. 5. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the changed settings you have made. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Linguistics menu 156 Adding or Editing Common Phrase Group options A table that describes the options that are available on the Add Common Phrase Group and the Edit Common Phrase Group options page. See also Editing a Common Phrase Group. Option Description Group Name Required. The unique name of the Common Phrase Group. If you edit a Common Phrase Group later, note that you cannot change the Group Name. To change the Group Name, use the Rename feature. See Renaming a Common Phrase Group. Notes Optional. Add information that pertains to the Common Phrase Group. Phrases Required. Lets you specify a phrase up to a maximum of five words. To adjust the maximum word setting, contact Technical Support. Each phrase that you enter must be unique within any Common Phrase Group. Use the plus (+) and minus (-) icons in the Action column to add the entered phrase or to delete a phrase. Testing a Common Phrase If you selected metadata fields to associate with a phrase group, you can test a particular phrase's expansion. When you test a phrase's expansion, you search for an exact phrase against the metadata fields that you associated with the phrase group. The phrase is searched as if it had quotation marks around it. All other metadata fields search for only the words within the phrase, without the quotation marks. For example, suppose you tested the phrase audi TT. The returned results could appear as follows: title|body|field3:"Audi TT" url|desc|keys|target|alt:Audi TT To test a common phrase 1. On the product menu, click Linguistics > Common Phrases. 2. On the Common Phrases Groups page, in the Test phrase that contains text field, enter the phrase whose metadata expansion you want to test. 3. Click Test. The expansion results are displayed in the text box. 4. (Optional) Drag the lower right-corner of the text box to expand the display region. About the Linguistics menu 157 Finding groups that contain particular words in a phrase You can use Find to search for specific words in a phrase among all existing groups that you have added. When you use Find, it locates the following: • Where the exact same phrase is found among all the groups. • Any of the words in the phrase among all the groups, regardless of the word order and proximity in the phrase. See also Editing a Common Phrase Group. To find groups that contain particular words in a phrase 1. On the product menu, click Linguistics > Common Phrases. 2. On the Common Phrases Groups page, in the Find groups with phrases that contain text field, enter a phrase. 3. Click Find. The results are displayed in the text box. 4. (Optional) Do one or more of the following: • Drag the lower right-corner of the text box to expand the display region. • In the results window, click a hyperlinked phrase to open the Edit Common Phrase Group page of the associated group. Editing a Common Phrase Group You can edit the existing Fields, Notes, and Phrases of a common phrase group that you have added. However, to edit the Group Name, you must use the Rename feature. See Renaming a Common Phrase Group. To edit a Common Phrase Group 1. On the product menu, click Linguistics > Common Phrases. 2. On the Common Phrases Groups page, click Edit to the far right of a group name. 3. On the Edit Common Phrase Group page, set the options that you want. See Adding or Editing Common Phrase Group options. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the changed settings you have made. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Linguistics menu 158 Renaming a Common Phrase Group You can change the name of an existing Common Phrase Group. However, if you want to change the existing Fields, Notes, and Phrases of a common phrase group, you must use the Edit feature. SeeEditing a Common Phrase Group . To rename a Common Phrase Group 1. 2. 3. 4. 5. On the product menu, click Linguistics > Common Phrases. On the Common Phrases Groups page, click Rename to the far right of a group name. On the Rename Common Phrase Group page, in the Group Name text field, enter the new name of the group. Click Rename. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the changed settings you have made. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a Common Phrase Group You can delete any Common Phrase Group that you have added. If you delete a group by mistake, you can use History to restore the group. See Using the History option. To delete a Common Phrase Group 1. 2. 3. 4. On the product menu, click Linguistics > Common Phrases. On the Common Phrases Groups page, click Delete to the far right of a group name. On the Delete Common Phrase Group page, click Delete. (Optional) Do one of the following: • Click History near the upper-right corner of the page to revert any changes you made. See Using the History option. • • Click Staging near the upper-right corner of the page to view your changed settings in the table before they are pushed live. From the Staging view, you can edit or delete. Click Live near the upper-right corner of the page to view your changed settings in the table as they would appear after you push live. From the Live view, you can only preview the changed settings you have made. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Simulator 159 About Simulator Use Simulator to see what your search would look like if you were to push everything that is currently staged, live. You can also simulate your current live search for comparison purposes. Simulator has a built-in debugger to show you which business rules are firing for a given search. If you uncheck any associated rule, Simulator re-simulates your site's search as if that rule did not exist. Rules are listed from highest priority to lowest priority, where higher priority rules trump lower priority rules. See also Adding a new business rule. Using the Simulator You can use Simulator to see what your search would look like if you were to push everything that is currently staged, live. See Adding a new business rule. To use the Simulator 1. 2. 3. 4. On the product menu, click Simulator. On the Options drop-down list, select the option that you want to run. (Optional) Use the checkbox column in the table on the Simulator page to turn on or off a given rule in the simulation. Use the search feature of your website to test the search results based on your current settings and active rules. If necessary, adjust the rules and settings to obtain the desired results. Simulator page options A table that describes the options that are available on the Options drop-down list on the Simulator page. Use the checkbox column in the table on the Simulator page to turn on or off a given rule in the simulation. Option Description Simulate Staged/Simulate Live Alternate between simulating your live environment or your stage environment. Show/Hide Processing Rules Show or hide all the processing rules that fired instead of just the business rules. Change Simulation Date Simulate search results for a given date. Simulate On PC Simulate search results as if you were using a personal computer. Simulate On Mobile Simulate search results as if you were using a mobile phone or a tablet. When you select this option, you can choose from the following associated options: • Device Simulate the search results on a mobile phone or a tablet. About Simulator Option 160 Description • Resolution Based on the device you selected, you can choose the associated resolution. • Horizontal view View how the simulated search results appear horizontally on the selected device. Simulate Test&Target Experience Simulate search results as if you were in a given Test&Target campaign. If you select this option, you can choose the campaign and experience that you want to use from the respective drop-down lists. Click Simulate when you are done. About Staging 161 About Staging Staging lets you test and preview changes to your settings and configurations without impacting your live index. See also About Simulator. Any page that has the staging options Push All Live or View Live Settings means that all the settings on that page can be staged. The exceptions are the web pages in Index. The pages in this area are either explicitly for the staged index or the live index to let you directly control the two indexes independently. You can stage almost anything including your index. Some exceptions include account specific settings that impact both your staged and live environment simultaneously and the scheduling of indexing operations. By default when you save any changes to a setting that can be staged, it is automatically staged. When the Push All Live or the View Lives Settings options are not enabled (dimmed) it means that the staged settings on that page are the same as the live settings. For an item that is staged, note that the live version of the settings is read-only; it can only be manipulated by pushing the staged settings live. About History on Staged pages Most staged settings have a History option in the upper-right area of the page. When you click History, it lets you revert any changes that you have recently made to the particular staged page that you have open. You can also view the Change Log for an alternate view of History. Every time a change is applied, a backup version of the underlying data file is created. The Change Log shows each such revision, showing the version number, the e-mail address of the user who performed the changes, and the date on which the backup was made. The entry with a bold version value represents the current version. See Viewing the Change Log. The Manage Stage-Live Settings page Besides offering the Push All Live and View Live Settings options directly from within a given page, you can also use the Manage Stage-Live Settings page to do the same thing. The Manage Stage-Live Settings page, available from the main product menu, is a central location that shows you all the settings in your account that are currently staged. You can push all settings live, push only selected settings live, or you can delete settings. As a best practice, however, always push all staged items live to avoid any interdependency issues. The settings on the page are grouped into categories. You can expand each category to show which page's settings are staged. Currently, dependencies are not tracked within the stage manager. Therefore, it is recommended that you push everything live at once except for the index. You can push a staged index live. Be sure that you first check that your staged index is not stale or corrupted. If you make a mistake and push the staged index live you can roll back an old live index. Pushing a staged index live usually takes less than 30 seconds. Testing a staged setting or index On pages that support a test control, you can test against the staged or live settings. When you view the staged settings, the staged setting is used for the test. Similarly, when you are viewing the live setting the test uses the live settings. In the templates section, all tests are done against the staged version of the index. To search a staged index, set the sp_staged CGI parameter equal to About Staging 162 1. In turn, this indicates that you want to use the staged index. If a staged index does not exist, your live index is searched and any staged search-time settings are applied as appropriate. See also Backend search CGI parameters. Viewing live settings You can review the live version of the settings from any staged page. If the View Live Settings option is not enable (dimmed), it means that the stage settings for that page and the live settings are already in synch. To view live settings 1. On any page that has staged settings, click View Live Settings to see the live version of the settings. 2. Optionally, do one of the following: • • Click View to see the current options that are selected for the staged setting. Click View Stage Settings to return to the staged setting where you can edit or delete the setting. Pushing stage settings live You can push settings live from any staged page view or from the central Manage Stage–Live Settings page . When the Push Live option is enabled (undimmed) on a page it means that there is a setting that is staged. Or, it means that a setting has edits and when you save, the setting becomes staged. When you click this option any unsaved edits are saved to the staged area. If there are no pending edits, the page's settings are immediately pushed live. To push staged settings live Do one of the following: • • On any page that has "Staged" selected as the View, click Push Live. On the product menu, click Staging. On the Manage Stage-Live Settings page, do one of the following: • Use the settings tree to check only those settings that you want to push live, and then click Push Selected Live. • Click Push All Live. Deleting stage-live settings from a central location If you have many settings to delete, you can use the Manage Stage-Live Settings page to delete settings from one, central location. Warning: When you click Delete Selected, all checked settings are immediately deleted; there is no confirmation dialog box to verify that you really want to delete the selected settings. Also, there is no History feature associated with the page. Therefore, you cannot undo your deletion. To delete stage-live settings from a central location 1. On the product menu, click Staging. 2. On the Manage Stage-Live Settings page, use the settings tree to check only those settings that you want to delete. 3. Click Delete Selected. About the Reports menu 163 About the Reports menu Use the Reports menu to view or reset reports of customers' search queries. Viewing the Terms Report or the Null Search Terms Report Customers' search terms are logged and reports are created for you by day, week, and month. These term reports can help you understand what customers are looking for on your website. Use this information to improve your site design or to further improve the search results for your customers. The table in the report shows you the following information: Column Description Graph Visual representation of the relative number of searches for a particular word or phrase. Use this to quickly determine which search queries matter most to your customers. Count The number of times that customers have searched for a particular phrase or word on your site during the time period of the selected report. Words The number of searches in which visitors searched for a single word or a full phrase. Contains the phrase or word entered by each customer. Each phrase or word is hyperlinked so that you can easily check its actual search results. This column can also contain the value blank query, which indicates that a customer clicked Search without typing any search terms. Results Count Contains the average number of search results displayed for each search phrase or word. If the count is zero (or close to zero), your customers are typically finding no results for the search. If the count is large, tune your search settings to ensure that the correct pages are top ranked. You can use the relevance or synonyms settings to tune the search results for the phrase or word. See About Definitions. See About Dictionaries. To view the Terms Report or the Null Search Terms Report About the Reports menu 164 1. On the product menu, do one of the following: • Click Reports > Terms Report. • Click Reports > Null Terms Report. 2. On the report page, in the drop-down list, select a report of either the top phrases or the top words. 3. Click View Report. 4. (Optional) In the table, under the Words column, click a word to open the Live Simulator for Today page. See About Simulator where you can view and test search terms. 5. (Optional) Click Reset Terms Report to clear all terms report information for the currently logged in account. All search terms entered by your customers are permanently removed. About Data Views Data Views displays the search results with the meta fields. Each column is a meta field and each row is result from a search query. Customize Data Views by choosing and rearranging columns. Data Views can also have custom titles and descriptions. Each account has the convenience of creating multiple data views. Use the Data Views page to create and edit these data views. After you add a data view, you must edit it to configure and customize the view. See Editing a data view. You can copy an existing data view to use as the basis for creating a new data view. See Copying a data view. Adding a data view You can add a data view to the Data Views page to display the values of each meta field with a search query. After you add a data view, you must edit it to configure and customize the view. See Editing a data view. To add a data view 1. 2. 3. 4. On the product menu, click Reports > Data Views. On the Data Views page, click Add New Data View. In the Add New Data View dialog box, in the Title field, enter the name of the data view you want to create. Click Add. Editing a data view When you add a data view to the Data Views page, you use Edit to change the data view's name and description or to move, reveal, or hide the display of each meta field. You can also lock or unlock a selected data view. See Adding a data view. To edit a data view 1. On the product menu, click Reports > Data Views. About the Reports menu 165 2. On the Data Views page, in the Actions column of the table, click Edit in the row with the data view that you want to change. 3. On the Data Views Editor page, set the options you want. See Data View Editor options. 4. Click Save Changes. 5. (Optional) Do any of the following: • • Click History to revert any changes that you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Data View Editor options A table that describes the options that are available on the Staged Data View Editor page. The Data View Editor has all the controls for hiding, showing, and moving field columns on the Data View page. When you view a data view, the resulting table also shows the following additional column fields which are not editable: Ranking, Relevance, and Score (overall). These three special fields represent the relevance scores, rank scores, and overall scores for each result. See Viewing a data view. Option Description Title The name of the data view. The name is displayed at the top right when you view the data view. See Viewing a data view. Description (Optional) Contains a description of the data view. The description is displayed between the title name of the data view and the New Search text field. Search Parameters Lets you specify default search parameters. When the data view is displayed for the first time, these CGI parameters are automatically appended. Do not change or delete sp_cs or sp_f. These parameters are essential to Data View regardless of the account's preferred character set. See Backend search CGI parameters. Lock Status Lets you lock or unlock the data view. You can view a locked data view only with a password and user name. The user must be a current member of the account. About the Reports menu Option 166 Description An unlocked data view is accessed without a password or user account. Order Lets you change the column order by editing the number in the Order text box. You can also drag-and-drop a row to change the column order. Include Lets you turn on or off the display of the column. Display URL as image Display thumbnails and images in this column if the search result for this column returns a URL. The URL is stripped of its scheme name or protocol before becoming a value of the src attribute of an image tag. If the returning search result does not look like a URL to an image, then an is displayed. Field Length Sets the number of characters that are displayed as a result on the data view. The default is 100 characters. Some fields, such as the ranking score and the date field, do not have adjustable field lengths. Copying a data view You can copy an existing data view on the Data Views page to use as the basis for creating a new data view. After you copy a data view, you can further customize it by editing the view. See Editing a data view. To copy a data view 1. 2. 3. 4. 5. On the product menu, click Reports > Data Views. On the Data Views page, in the Actions column of the table, click Copy in the row with the data view that you want to copy. On the Copy Data View page, in the New Title text field, enter the new name that you want to assign the data view. Click Copy. (Optional) Do any of the following: • • Click History to revert any changes that you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Reports menu 167 Deleting a data view You can delete a data view on the Data Views page that you no longer need or use. To delete a data view 1. On the product menu, click Reports > Data Views. 2. On the Data Views page, in the Actions column of the table, click Delete in the row with the data view that you want to remove. 3. On the Delete Data View page, click Delete. 4. (Optional) Do any of the following: • • Click History to revert any changes that you have made. Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Viewing a data view You can use View on the Data Views page to display a selected data view. The data view that you select is opened in a separate browser window. To view a data view 1. On the product menu, click Reports > Data Views. 2. Do any one of the following: • On the Data Views page, in the Title column of the table, click the name of a data view that you want to open. • On the Data Views page, in the Actions column of the table, click View in the row with the data view that you want to open. Setting up SiteCatalyst Report Suites To use SiteCatalyst Report Suite data in a site search/merchandising, you create copies of the SiteCatalyst data in your account. See About SiteCatalyst Report Suites. See Loading SiteCatalyst data. The Staged SiteCatalyst Terms Report page and the Staged SiteCatalyst Report Suites page displays the following information in a table: Column Description Report Suite Identifies the name of the SiteCatalyst Report Suite. See Adding a SiteCatalyst Report Suite. About the Reports menu Column 168 Description See Editing the SiteCatalyst metrics of a Report Suite. Report Type (SiteCatalyst Element) The SiteCatalyst Element, the Classification value, or both, that is used in the Report Suite request. See Editing the SiteCatalyst metrics of a Report Suite. Cross-Reference Field The optional metadata field, whose values are used as look-up "keys" into the Report Suite. See Editing the SiteCatalyst metrics of a Report Suite. Actions Lets you preview the most recent copy of the Report Suite's data. See Previewing SiteCatalyst Data. To set up SiteCatalyst Report Suites 1. On the product menu, do one of the following: • Click Reports > SiteCatalyst Terms Report. • Click Reports > SiteCatalyst Report Suites. 2. Click View Live Settings. Viewing the Search Request Report or the Content Requests Report You can view the Search Requests Report to see the number of search requests over a specified period of time. You can also view the Content Requests Report to see the number of content requests over a specified period of time. Note: It takes up to 48 hours before the most recent Search Request data or Content Request data becomes available in each respective report. To view the Search Requests Report or the Content Requests Report 1. On the product menu, do one of the following: • Click Reports > Search Requests. • Click Reports > Content Requests. 2. On the report page, in the Period drop-down list, select the length of time to include in the report. 3. In the Chart Type drop-down list, select one of the following options based on the selected report: Option Description Daily Search Request Count Shows the number of requests per day. or About the Reports menu 169 Option Description Daily Content Request Count Monthly Search Request Count Shows the number of requests per month. or Monthly Content Request Count Daily Search Request Bandwidth Shows the amount of bandwidth that is required to process the daily search requests or the daily content requests. or Daily Content Request Bandwidth 4. In the Chart Style drop-down list, select how you want the data represented in the report. Viewing the Search Index Size Report The Search Index Size report shows the size of the search index over a specified period. Note: It takes up to 48 hours before the most recent Search Index Size data becomes available in the report. To view the Search Index Size Report 1. On the product menu, click Reports > Index Size. 2. On the report page, in the Period drop-down list, select the length of time to include in the report. 3. In the Chart Style drop-down list, select how you want the data represented in the report. Viewing the Crawl Performance Report or the Staged Crawl Performance Report The index crawler's performance is logged by recording various metrics across the duration of the crawl's progress. You can choose a crawl period, metric, chart style, and crawl type when you view a live or staged crawl performance report. To view the Crawl Performance Report or the Staged Crawl Performance Report 1. On the product menu, do one of the following: • Click Reports > Crawl Performance. On the report page, in the Crawl Ending drop-down list, select the length of time to include in the report. • Click Reports > Staged Crawl Performance. On the report page, in the Staged Crawl Ending drop-down list, select the length of time to include in the report. 2. In the Metric drop-down list, select one of the following metrics: Option Description Documents Downloaded Number of documents downloaded. About the Reports menu 170 Option Description Pages Downloaded Number of pages downloaded. Bytes Downloaded (KB) Number of kilobytes downloaded. Pages Indexed Number of pages indexed. Bytes Indexed (KB) Number of kilobytes indexed. Average CPS Average characters-per-second rate during the indexing crawl. Connect ms Total time spent waiting for TCP/IP connections to complete, per page. First Byte ms Time between sending the fetch request and the first byte received, per page. Download ms Total document download time, per page. Aggregate Displays Download ms, First Byte ms, Connect ms, and remaining Download times, per page. filter process ms Total filter script process time, per page. download process ms Total download process time (includes Download and filter), per page. index process ms Total indexing process time, per page. 3. In the Chart Style drop-down list, select how you want the data represented in the report. You can select Bars or Area. 4. In the Chart Type drop-down list, choose the index level you want to report on. You can select Full, Incremental, or Full & Incremental. Viewing the Change Log The Change Log shows you a history of recent changes made within your account. Only changes that appear under History are shown. The changes are listed in reverse chronological order. Each entry shows the page that was changed, its version number in History, the e-mail address of the user who made the changes, the time of the change, and whether the change was a save or the page's settings pushed live. See About Staging. 1. On the product menu, click Reports > Change Log. 2. On the Change Log page, use the navigation and viewing options at the top and bottom of the page to view the log information. About the Reports menu 171 About Alerts The Alerts page provides a central place to view and manage all alerts having to do with your account. A variety of alerts are generated, sent to one or more e-mail addresses. The filters and other controls on the Alerts page can help you manage multiple alerts at once. Each alert has one of the following three levels which are represented by different icons: • Info-level alerts are the most common type of alert. They show non-critical information that is helpful or that you may want to be aware of. • Warning-level alerts indicate a situation that you should take care of or monitor. • Urgent alerts, though rare, provide information about issues that you must take care of immediately. Above the list of alerts, a bar contains filtering and navigation controls. If you have many alerts, you may want to filter them based on any combination of level, date, destination e-mail address, or subject text. You can also filter items by date, the person they were sent to, and by subject. Select one or more filter buttons to show those levels of alerts, or deselect them to filter out those items. To filter by date, select a start date, end date, or both, in MM/DD/YYYY format. Enter text in the "Sent To" or "Subject" fields to find alerts that match the text you entered. Viewing alerts The Alerts page provides a central place to view and manage all alerts having to do with your account. To view alerts 1. 2. 3. 4. On the product menu, click Reports > Alerts. On the Alerts page, in the Filter By: Level area, select or deselect the alerts that you want to view or hide. In the table, click an alert to view it. (Optional) Do any of the following: • To filter alerts by date, in the Start Date text field, the End Date text field, or both, enter a date in MM/DD/YYYY format. • In the Sent To text field, the Subject text field, or both, enter words or phrases to find alerts that match the text you entered. • To delete one or more alerts, in the left column, check the alerts that you want to delete, and then click Delete Selected Alerts. • To select all displayed alerts, select the checkbox at the top of the left column. If you want to select all matching alerts rather than a single page of them, in the drop-down list on the right, select All Alerts, and then select the checkbox at the top of the column. About the Index menu 172 About the Index menu Use the Index menu to configure indexing or perform full, incremental, scripted, or remotely controlled indexing of your website. About Index Overview You can use Index Overview to see the status of your staged and live indexes that are associated with your account. The daily crawl performance graph shows the last three days of indexing activity. If you do not have any index activity in the last three days, the graph shows a three-day period that covers when you last had index activity. See About Full Index. See About Incremental Index See About Scripted Index. See About Regenerate Index. See About Re-Rank Index. See About Remote Control for Indexing. See About Rollback for indexes. See About Vertical Update. About Full Index You can use Full Index to index all the pages of your staged or live website. Indexing helps your customers more easily find what they are looking for or what they need when they perform a search. When you generate a full index, status information is displayed, such as start time, elapsed time, and errors during the indexing process. Information about the status of your last index is also displayed. If you have changed an account setting that requires an index regeneration, the status may read "Regenerating." During regeneration, account settings are applied to create an updated site index. You can stop or restart the indexing process at any time. While the new index is built for a live website, customers can continue to search your site using your last index. Information about the status of your last index is also displayed. Setting the full index schedule for a live website You can specify the time and days that you want to crawl your website and update the index. The time that you select is local according to the time zone that is configured in Account Settings. See Configuring your account settings. Web servers are often scheduled to go down for maintenance in the middle of the night. If your server is down during a scheduled index time, the indexing process will fail. Be sure that you select a time of day when your web server is available. The index schedule only applies to your live index; you cannot schedule staged indexes. To set the full index schedule for a live website About the Index menu 1. 2. 3. 4. 173 On the product menu, click Index > Full Index > Live Schedule. In the Time drop-down list, select the hour that you want the full indexing to start. Select one or more days that you want the full indexing to run. Click Save Changes. Running a full index of a live or staged website You can use Full Index to index all the pages of your staged or live website. Indexing helps your customers more easily find what they are looking for or what they need when they perform a search. To run a full index of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Full Index > Live Index. Click Index > Full Index > Staged Index. 2. Set the indexing options that you want. See Indexing options. 3. Click Full Index Now. 4. (Optional) If indexing errors occurred, click View Errors to view the associated log. Indexing options A table that describes the options that are available on the live Full Index page and the Stage Full Index page. Option Description Clear Index Cache Removes all documents from the index cache. When selected, every website page is downloaded from your server. If this setting is checked and disabled, your account is set to clear the cache every time a full index is performed. Or, some previously changed account setting now requires a full index. When deselected, all indexed pages stay in the index until the web server says that the page no longer exists. This situation is true even if links to that page are removed. Regenerate Pending Select If you have made changes to your account settings that have substantially changed the contents of your index. Substantial changes include making changes to any of the following: • Synonyms • Collections • Metadata • Excluded words • Account language About the Index menu Option 174 Description • Ranking • Toggling case-sensitive search • Toggling diacritical support • Toggling number indexing Before another crawl takes places, a quick pass is done through all the index data to make it conform to the new account settings. This option is only available if you are doing a full index of a staged website. Count All Pages Allows the crawling of website pages to continue even after you have reached your account page limit. Additional pages are not added to your index, but you can ascertain the total number of documents on your website. Viewing the full index log of a live or staged website When a live full index or a staged full index is complete, you can view its associated log to troubleshoot any errors that occurred. You cannot export logs, nor save them. The log remains available for viewing until the new index occurs. To view the full index log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Full Index > Live Log. Click Index > Full Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Incremental Index You can use Incremental Index to index "pieces" of your live or staged website, such as a collection of frequently changed pages. An incremental index takes only seconds to perform and is useful on large capacity websites that can take many hours to completely index. When you generate an incremental index, status information is displayed, such as start time, elapsed time, and errors during the indexing process. Information about the status of your last index is also displayed. You can stop or restart the incremental indexing process at any time. While the new incremental index builds for your live website, customers can continue to search your site using your last incremental index. About the Index menu 175 Configuring an incremental index of a staged website You can configure what website pages you want to include in your incremental Index by specifying website URLs and URL masks. To configure an incremental index of a staged website 1. On the product menu, click Index > Incremental Index > Configuration. 2. On the Incremental Index Configuration page, use the various fields to specify which pages that you want to index. See Incremental index configuration options. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live Incremental index configuration options A table that describes the fields that are available on the Staged Incremental Index Configuration page. Field Description Add or Update URLs Specify URLs. The search robot only indexes the specified documents that have changed since the last time you indexed. Additionally, the search robot follows links that are contained within the specified documents and indexes only those documents that have changed. This field must contain document URLs only and not masks as in the following example: http://www.mydomain.com/products/new.html. You can use the following keywords with the URL: • noindex If you do not want to index the text on the page that matches a specified URL, but you want to follow the page's links, add noindex after the URL as in the following example: http://www.mydomain.com/products/new.html noindex About the Index menu Field 176 Description Be sure you separate noindex from the URL with a space; a comma is not a valid separator. • nofollow If you want to index the text on the page that matches the specified URL, but you do not want to follow the page's links, add nofollow after the URL as in the following example: http://www.mydomain.com/products/new.html nofollow Be sure you separate nofollow from the URL with a space; a comma is not a valid separator. Find and Update URL Masks Specify simple URL masks—full path, partial path, or paths that use wild cards or regular expressions. The search robot finds all matching documents and indexes only those documents that have changed since the last time you indexed. Additionally, the search robot follows links that are contained within the matching documents and indexes only those pages that have changed. For example: http://www.mydomain.com/products/household/*.html You can also use regular expressions as in the following example: regexp ^http://www\.mydomain\.com/products/household/.*\.html$ See Regular Expressions. You can also use the keywords nofollow and noindex as described in Add or Update URLs above. Include and Exclude URL Masks Specify simple include or exclude URL masks—full path, partial path, or paths that use wild cards or regular expressions. The search robot finds and indexes ("include") or ignores ("exclude") documents based on the type of mask that is specified. When indexing a site, directions are followed in order of appearance. For example, the following list of masks: include http://www.mydomain.com/products/household/lightbulbs*.html About the Index menu Field 177 Description exclude http://www.mydomain.com/products/ indexes the pages lightbulbs1.html and lightbulbs2.html. However, it does not index any other pages that are listed under the products directory. A URL mask that appears first always takes precedence over one that appears later in the list. Additionally, if the search robot encounters a document that matches both an include mask and an exclude mask, the mask that is listed first takes precedence. You can also use the keywords nofollow and noindex as described in Add or Update URLs above. See About URL Masks. Include and Exclude Date Masks Specify simple include or exclude date masks—full path, partial path, or paths that use wild cards or regular expressions. The search robot finds and indexes ("include") or ignores ("exclude") documents based on both the URL and the date of documents. You can use the following types of date masks: • include-days NNN The search robot indexes all documents that match the specified URL mask and are NNN days or more old. You can follow the URL mask with one or more of the following keywords: • nofollow • noindex • server-date For example, the following mask includes all documents in the /archive/support folder that are 0 days or older: include-days 0 http://www.mydomain.com/archive/support/ • include-date YYYY-MM-DD The search robot indexes all documents that match the specified URL mask and are as old or older than the YYYY-MM-DD date. You can follow the URL mask with one or more of the following keywords: About the Index menu Field 178 Description • nofollow • noindex • server-date The following mask example includes all documents in the /archive/ folder dated on or before July 25, 2011: include-date 2011-07-25 http://www.mydomain.com/archive/ • exclude-days NNN Disable indexing of all documents that match the specified URL mask and are NNN days or more old. Optionally, you can follow the URL mask by the keyword server-date. The following mask example excludes all PDF files that are 90 days old or older from your index: exclude-days 90 *.pdf • exclude-date YYYY-MM-DD Disable indexing of all documents that match the specified URL mask and are as old or older than the date YYYY-MM-DD. Optionally, you can follow the URL mask by the keyword server-date. The following mask example excludes all documents in the /archive/ folder dated on or before April 23, 2004: exclude-date 2004-04-23 http://www.mydomain.com/archive/ See About Date Masks. Delete URLs Specify URLs. The search robot finds and deletes the specified documents from your search index. If a specified page is already in your search index, the robot deletes it before it adds or updates any other pages. This field must contain only document URLs, and not masks. Find and Delete URL Masks Specify simple URL masks—full path, partial path, or ones that use wild cards or regular expressions. About the Index menu Field 179 Description If the specified URL mask matches pages in your search index, the search robot deletes the pages before it adds or updates any other pages. For example: http://www.mydomain.com/products/1998/household/* You can also use regular expressions as in the following example: regexp ^http://www\.mydomain\.com/products/199[567]/.*$ See Regular Expressions. Setting the incremental index schedule for a live website You can select the Incremental Index frequency and the base time that is used to crawl and update your incremental index. The time that you select is local according to the time zone that is configured in Account Settings. See Configuring your account settings. Web servers are often scheduled to go down for maintenance in the middle of the night. If your server is down during a scheduled index time, the indexing process will fail. Be sure that you select a time of day when your web server is available. The index schedule only applies to your live index; you cannot schedule staged indexes. To set the incremental index schedule for a live website 1. On the product menu, click Index > Incremental Index > Live Schedule. 2. On the In the Incremental Index Schedule page, in the Incrementally Index drop-down list, select the indexing frequency in hours or minutes. 3. In the Base Time drop-down list, select the starting time when you want to regenerate a new incremental index. 4. Click Save Changes. Running an incremental index of a live or staged website You can use Incremental Index to index "pieces" of your live or staged website, such as a collection of frequently changed pages. To run an incremental index of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Incremental Index > Live Index. Click Index > Incremental Index > Staged Index. 2. Click Incremental Index Now. 3. (Optional) If indexing errors occurred, click View Errors to view the associated log. About the Index menu 180 Viewing the incremental index log of a live or staged website When a live incremental index or a staged incremental index is complete, you can view its associated log to troubleshoot any errors that occurred. You cannot export logs, nor save them. The log remains available for viewing until the new index occurs. To view the incremental index log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Incremental Index > Live Log. Click Index > Incremental Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Scripted Index With Scripted Index you can write, update, and maintain incremental indexing options without the need to log in. The search robot reads instructions from a text file that is hosted on your server. About configuring scripted incremental indexing To use Scripted Index, you use the Scripted Incremental Index Configuration page to specify the URL to a script file (a plain text file) that is located on your server. For example, http://www.mysite.com/indexlist.txt. As your site changes, you can add command blocks to the text file either manually or automatically (with a script triggered by the arrival of information from a news feed, stock ticker, or other altered file). When the scripted incremental index begins, the search robot reads the text file and runs the new commands that are found in that file. By default, the search robot processes only the new commands, which are determined by the file date. Unless you check Clear Date at the time you configure Scripted Index, the search robot "remembers" the date-specifier of the most recently processed block. About the script file The script file that you specify in the URL is a plain text file that is located on your server. You can use carriage returns, line feeds, or both for the end-of-line sequence. A blank line contains zero or more white space characters followed by an end-of-line sequence. All commands are case-insensitive. The text file is organized in blocks that describe the information that the search robot uses when it performs a scripted incremental index. Blocks are ordered by date, with the oldest blocks at the top of the text file, and the most recent blocks at the bottom. Each block begins with a single line date-command and a date-specifier command, and ends with a blank-line separator as in the following block example (in between are several commands): date-command date-specifier comment line action-command [URL | URL mask] [nofollow | noindex] [server-date] About the Index menu 181 action-command [URL | URL mask] [nofollow | noindex] [server-date] action-command [URL | URL mask] [nofollow | noindex] [server-date] blank line A leading zero is required for all ordinal dates lower than the 10th when using the HTTP 1.1 style. For example, November 6th is 06 Nov, not 6 Nov. Command Description date-command The first line of each block starts with one of two date commands: • date Use the "date" command to indicate that the date-specifier will consist of a day, date, time, and time zone. • seconds Use seconds to indicate that the date-specifier will consist of a time in epoch seconds (for example, 784111777). When using seconds, make sure that the number of seconds increases between blocks. date-specifier The date-specifier command typically records either the ordinal date and time (date command) or the time in epoch seconds (seconds command) that the block information was added to the file. For example: date Sun, 06 Nov 1994 08:49:37 GMT (HTTP 1.1 style) date Sunday, 06-Nov-94 08:49:37 GMT (HTTP 1.0 style) date Sun Nov 6 08:49:37 1994 (Unix asctime() date style) seconds 784111777 (Unix epoch-seconds style) A leading zero is required for all ordinal dates lower than the 10th when using the HTTP 1.1 style. For example, November 6th is 06 Nov, not 6 Nov. The search robot "remembers" the date-specifier of the most recently processed block and only indexes information that it considers to be "newer." (Real-time does not matter to the search robot. Instead, the time in relation to other previously processed times is what matters.) After the search robot reads a block with a date-specifier of 10:00 p.m, for example, it does not read any blocks that record times before 10:00 p.m., regardless of when the index operation runs. In a worst-case scenario, you might mistakenly enter the year "2040" instead of "2004" in your date-specifier. In such an instance, the search robot indexes the 2040 block during the About the Index menu Command 182 Description next indexing operation and then refuses to read any other blocks of information (unless one post-dates 2040). If this should happen, remove all previously processed blocks from the text file, click Clear Date, and then push it live. comment line Begin comment lines with the "#" character. Each comment line must be a line of its own; you cannot type end-of-line comments. A comment line is not considered a blank line. It can also appear anywhere in a block, even before a date or seconds command as in the following example: #Added by Cathy Read after the Y2K seminar date Mon, 29 Dec 1999 09:32:20 GMT action-command Each text block can contain as many action commands as you want. The following action-command options correspond to those for standard incremental indexing: • add Use with URL. The search robot only indexes the specified URLs that have changed since your last indexing operation. Additionally, the search robot follows links that are contained within specified documents and indexes only those documents that have changed. You can follow the URL with nofollow or noindex keywords as in the following example: add http://www.mydomain.com/ noindex • update Use with URL mask. The search robot finds and updates all documents that match the specified URL mask. You can follow the URL with nofollow or noindex keywords as in the following example: update http://www.mydomain.com/products/ • include or exclude Use with URL mask. The search robot finds and indexes ("include") or ignores ("exclude") documents based on the type of mask specified. About the Index menu Command 183 Description For example, include http://www.mydomain.com/products/household/lightbulbs*.html or exclude http://www.mydomain.com/archive/ • include-date or exclude-date Use with URL mask. The search robot finds and indexes ("include") or ignores ("exclude") documents based on the both the URL and the date of documents. The following types of masks are available: • include-days NNN The search robot indexes all documents that match the specified URL mask and are NNN days or more old. You can follow the URL mask with the keywords nofollow, noindex, and/or server-date. • include-date YYYY-MM-DD The search robot indexes all documents that match the specified URL mask and are as old or older than the date YYYY-MM-DD, where "YYYY" is the 4 digit year, "MM" is the one- or two-digit month (1-12), and "DD" is the oneor two-digit day (1-31). You can follow the URL mask with the keywords nofollow, noindex, and/or server-date. • exclude-days NNN Disables indexing of all documents that match the specified URL mask and are NNN days or more old. You can follow the URL mask with the keyword server-date. • exclude-date YYYY-MM-DD Disables indexing of all documents that match the specified URL mask and are as old or older than the date YYYY-MM-DD. You can follow the URL mask with the keyword server-date. • delete Specify URLs. The search robot removes documents from the index that are identified by the URL. About the Index menu Command 184 Description • deletemask The search robot removes documents from the index that match the specified URL mask. See also About URL Masks. Script file example In the following script file example, the search robot processes the blocks provided that the date-specifiers post-date the date-specifier of the most recently processed block. If that is the case, then the following indexing operations occur: • Deletes y2k-problems.html from the index. • Adds no-y2k-problems.html to the search index and does not follow any of the links for no-y2k-problems.html. • While crawling, exclude URLs that match housewares.htm and lightfixtures.html from the search index. • Include all other directories and documents under www.mydomain.com. • Update all documents within the products and information directories, crawling and indexing all subsidiary links that have changed since the last indexing operation. • While crawling, exclude URLs in the archive section of the website if they are dated on or before January 1, 1999. • Exclude URLs that match housewares.html and lightfixtures.html from the search index. • Index files in the help directory, but do not crawl or index any links from those files. • Crawl and index any other files encountered for www.mydomain.com. # Start of file. # Added by John Smith date Sat, 01 Jan 2004 16:05:53 PST exclude http://www.mydomain.com/housewares.html exclude http://www.mydomain.com/lightfixtures.html include http://www.mydomain.com/ delete http://www.mydomain.com/y2k-problems.html add http://www.mydomain.com/no-y2k-problems.html nofollow date Sun, 02 Jan 2004 20:19:08 PST # Added by the wire service updater exclude-date 1999-01-01 http://www.mydomain.com/archive server-date exclude http://www.mydomain.com/housewares.html exclude http://www.mydomain.com/lightfixtures.html include http://www.mydomain.com/help/ nofollow include http://www.mydomain.com/ # no add files, just update existing files # update all files in the "products" directory update http://www.mydomain.com/products/ # update all files in the "information" directory update regexp ^http://www\.mydomain\.com/information/.*$ # End of file. Configuring a scripted incremental index You can specify a script that you have created that writes, updates, and maintains an incremental index, without the need to log in. The search robot reads instructions from the text file that is hosted on your server to perform the incremental index. To configure a scripted incremental index 1. On the product menu, click Index > Scripted Index > Configuration. About the Index menu 185 2. On the Scripted Incremental Index Configuration page, in the Script File URL, enter the URL to the text file script that is located on your server. See About Scripted Index. 3. (Optional) Check Clear Data if you do not want the search robot to "remember" the date-specifier of the most recently processed block. By default, the search robot processes only new blocks of commands that are found in the text file, which is determined by the file's date. If you do not want the default, check Clear Date. 4. Click Save Changes. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live Setting the scripted incremental index schedule for a live website You can schedule scripted incremental indexing to occur at regular intervals throughout the day. The base time that you select is local according to the time zone that is configured in Account Settings. See Configuring your account settings. Web servers are often scheduled to go down for maintenance in the middle of the night. If your server is down during a scheduled index time, the indexing process will fail. Be sure that you select a time of day when your web server is available. The index schedule only applies to your live index; you cannot schedule staged incremental indexes. To set the scripted incremental index schedule for a live website 1. On the product menu, click Index > Scripted Index > Live Schedule. 2. On the Scripted Incremental Index Schedule page, in the Read the Scripted Incrementally Indexing File drop-down list, select the frequency that you want the scripted incremental index text file to run, in hours or minutes. 3. In the Base Time drop-down list, select the starting time when you want to regenerate a new scripted incremental index. 4. Click Save Changes. Running a scripted incremental index of a live or staged website You can use Scripted Incremental Index to index "pieces" of your live or staged website, such as a collection of frequently changed pages, all without the need to log in. To use this feature, be sure that you have configure a scripted incremental index text file. See Configuring a scripted incremental index. To run a scripted incremental index of a live or staged website 1. On the product menu, do one of the following: About the Index menu • Click Index > Scripted Index > Live Index. • Click Index > Scripted Index > Staged Index. 186 2. Click Scripted Index Now. 3. (Optional) If indexing errors occurred, click View Errors to view the associated log. Viewing the scripted incremental index log of a live or staged website When a live full scripted index or a staged full scripted index is complete, you can view its associated log to troubleshoot any errors that occurred. You cannot export logs, nor save them. However, the log remains available for viewing until the new index occurs. To view the incremental index log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Scripted Index > Live Log. Click Index > Scripted Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Regenerate Index You can use Regenerate Index to update your website's index without the need to recrawl your site. You can use this option whenever you make a change to the following account options: • Words & Languages • Excluded Words • Synonyms • Metadata settings such as when you delete a metadata field, change a field name, data type, date formats, sort order, minimum or maximum rank value, default rank value, list type, or list separator. The updated account option information is used to generate a new site index. Regenerate lets you quickly and efficiently make changes to your site index. By default, any new or changed website content is not included in the index. To include such content, run a full or incremental index. See also Running a full index of a live or staged website. See also Running an incremental index of a live or staged website. Regenerating the index of a live or staged website You can use Regenerate Index to update your website's index without the need to recrawl your site. To regenerate the index of a live or staged website 1. On the product menu, do one of the following: About the Index menu • • 187 Click Index > Regenerate Index > Live Regenerate. Click Index > Regenerate Index > Staged Regenerate. 2. On the Regenerate page, click Regenerate Index Now. 3. (Optional) Do any of the following: • • • • If you chose to run Live Regenerate, click View Last Crawl to review performance statistics for the last live index regeneration that was performed. While the index is regenerating, click Stop Regenerate Now to stop the index regeneration process. While the index is regenerating, click Restart Regenerate Now to restart the index regeneration process from the beginning. If indexing errors occurred following a staged regeneration, click View Errors to view the associated log. Viewing the regenerated index log of a live or staged website When a live index regeneration or a staged index regeneration is complete, you can view its associated log to troubleshoot any errors that occurred. You cannot export logs, nor save them. However, the log remains available for viewing until the new index occurs. To view the regenerated index log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Regenerate Index > Live Log. Click Index > Regenerate Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Re-Rank Index You can use Re-Rank Index to update your site's ranking information without the need to recrawl your site. You can use this option whenever you make changes to certain account Ranking settings. The updated account option information is used to generate new site ranking data. Re-Rank lets you quickly and efficiently make changes to your site ranking. By default, any new or changed website content is not included in the index. To include such content, run a full or incremental index. See Running a full index of a live or staged website. See Running an incremental index of a live or staged website. Re-ranking the index of a live or staged website You can use Re-Rank Index to update your site's ranking information without the need to recrawl your site. To re-rank the index of a live or staged website 1. On the product menu, do one of the following: • Click Index > Re-Rank Index > Live Re-Rank. About the Index menu • 188 Click Index > Re-Rank Index > Staged Re-Rank. 2. On the Re-Rank page, click Re-Rank Now. 3. (Optional) Do any of the following: • • • If you chose to run Live Re-Rank, click View Last Crawl to review performance statistics for the last live index re-ranking that was performed. While the re-rank is processing, click Stop Re-Rank Now to stop the index re-ranking process. If indexing errors occurred following the re-rank of a staged website, click View Errors to view the associated log. Viewing the re-ranked index log of a live or staged website When a live index re-rank or a staged index re-rank is complete, you can view its associated log to troubleshoot any errors that occurred. You cannot export logs, nor save them. However, the log remains available for viewing until the new index occurs. To view the re-rank index log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Re-Rank Index > Live Log. Click Index > Re-Rank Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Remote Control for Indexing Whenever your website changes, you can run a script or program requesting that the search robot run an index using Remote Control. The remote control indexing request typically comes from a script or a program that is located on your server. The robot performs the same indexing steps as though it had been started manually from the Index menu. To submit a remote control request, you configure the necessary password and response strings. How to make a remote control request To make a remote control request, use the following format examples based on the location of your data center: Data center location Example London https://center.lon5.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=xxxxxx&sp_operation=op North America https://center.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=xxxxxx&sp_operation=op Singapore https://center.sin2.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=xxxxxx&sp_operation=op or About the Index menu 189 String and value Description sp_a=sp99999999 Your account number. You can find your account number under Settings > Account Options > Account Settings. sp_lines=N Lets you check the status of a running index crawl. N is either a positive integer or all. If this is a numeric value, the last N lines of the corresponding index log file are included in the JSON response. If the value is all, the entire file is returned. If the value is 0, then no log information is returned. This value is the default for a running index status query. sp_operation=op Lets you specify one of the following indexing operations that you want to run: • full_index The search robot runs a full index of your website. • incremental_index The search robot runs an incremental index using the configuration that is set under Index > Incremental Index > Configuration. • vertical_index The search robot runs a vertical update using the configuration that is set under Index > Vertical Update > Configuration. See About Vertical Update. • script_index The search robot runs an incremental index using the text file that is specified under Index > Scripted Index > Configuration. • full_staged_index The search robot runs a full staged index of your website. • incremental_staged_index The search robot runs an incremental staged index using the configuration that is set under Index > Incremental Index > Configuration. • vertical_staged_index About the Index menu String and value 190 Description The search robot runs a vertical staged update using the configuration that is set under Index > Vertical Update > Configuration. Note: To use Vertical Updates, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. See About Vertical Update. You can append _saved to any of the above sp_operation values to have the search robot attempt to use saved content. For example, you could specify the following: sp_operation=full_index_saved or sp_operation=full_staged_index_saved Or, you can append _status to any of the above sp_operation values to request a status report for the current, or most recent, operation. For example, you could specify the following: sp_operation=full_index_status or sp_operation=full_staged_index_status and the results are returned as a JSON object. Include sp_lines=N to include N lines of the associated log file. If N is negative, the last N lines are included. sp_operation=pushlive Lets you remotely push live a staged index. Any attempt to append _saved to the push live operation is ignored. When you run a pushlive operation an OK, Priority, or Error response text string is returned to the server. You specify these response strings on the Remote Control page. See Remote Control configuration options. If you push live when there is no staged index, nothing happens and the OK response string is returned. sp_password=xxxxxx The remote control password. Search returns data in the form of a proper HTTP response. The full response is composed of an HTTP status, HTTP response headers, a blank line, and the response string. About the Index menu 191 For example, suppose that you perform the following remote control request: https://center.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=my-password&sp_operation=full_index The following is the response from the server: Status: 200 OK Content-type: text/plain OK Or, suppose that you perform the following remote control status request: https://center.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=my-password&sp_operation=full_index_status The response from the server might look like the following: Status: 200 OK Content-type: application/json; charset=utf-8 { "current_time": "2017-08-27T10:58:58-0700", "start_time": "2017-07-25T16:40:07-0800", "end_time": "2017-07-25T16:40:20-0800", "elapsed_seconds": 13, "elapsed_seconds_fmt": "13s", "state": "finished", "docs_indexed": 3, "depth": 0, "errors": 0, "status": 1, "message": "ok" } To get the first ten lines of the log listing that is associated with this index operation, along with its status, the following query is used: https://center.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=my-password&sp_operation=full_index_status&sp_lines=10 The response from the server: Status: 200 OK Content-type: application/json; charset=utf-8 { "current_time": "2017-08-27T10:59:30-0700", "start_time": "2017-07-25T16:40:07-0800", "end_time": "2017-07-25T16:40:20-0800", "elapsed_seconds": 13, "elapsed_seconds_fmt": "13s", "state": "finished", "docs_indexed": 3, "depth": 0, "errors": 0, "offset": 672, "lines": [ "07/25 16:40:07 PST ======== Starting manual crawl of account sp99999999. ========", "07/25 16:40:08 "07/25 16:40:08 "07/25 16:40:08 "07/25 16:40:08 "07/25 16:40:08 "07/25 16:40:08 "07/25 16:40:09 'text/css'.", "07/25 16:40:09 "07/25 16:40:09 ], "status": 1, "message": "ok" } PST PST PST PST PST PST PST Loading existing data", Downloading entrypoint http://www.atomz.com/", Robots.txt exclude mask: http://www.atomz.com/snap", Exclude mask: regexp ^http://www.atomz.com/$", Include mask: http://www.atomz.com/", Downloading http://www.atomz.com/style.css", Ignoring http://www.atomz.com/style.css, document type PST PST Downloading http://www.atomz.com/privacy.html", Downloading http://www.atomz.com/terms.html" About the Index menu 192 Note the offset value. This value identifies the file-offset position in the log file where reading left off. To read the next ten lines in the file, you would include, in this example, &sp_offset=672 in the request sent to the server. Using sp_offset, you can effectively page through a log file. To get the last ten lines of the log, along with the status, specify the count as a negative number. For example, specify sp_lines= with a value of -10 as in the following: https://center.atomz.com/search/cgiindex.tk?sp_a=sp99999999&sp_password=my-password&sp_operation=full_index_status&sp_lines=-10 The response from the server: Status: 200 OK Content-type: application/json; charset=utf-8 { "current_time": "2017-08-27T11:01:14-0700", "start_time": "2017-07-25T16:40:07-0800", "end_time": "2017-07-25T16:40:20-0800", "elapsed_seconds": 13, "elapsed_seconds_fmt": "13s", "state": "finished", "docs_indexed": 3, "depth": 0, "errors": 0, "lines": [ "07/25 16:40:20 PST End Time: 07/25/2017 16:40:20 PST", "07/25 16:40:20 PST Elapsed Time: 13 seconds", "07/25 16:40:20 PST Pages Crawled: 3 pages", "07/25 16:40:20 PST Pages Indexed: 3 pages", "07/25 16:40:20 PST Words/Bytes Indexed: 2373 words/ 20618 bytes", "07/25 16:40:20 PST Errors: 0", "07/25 16:40:20 PST *** Index Summary ***", "07/25 16:40:20 PST Total Pages: 3", "07/25 16:40:20 PST --------------------------------------------------------------------", "07/25 16:40:20 PST ======== Finish manual crawl of account sp99999999: Done. ========" ], "status": 1, "message": "ok" } Note that there is no offset value returned here, as this operation finished at the end of the file, and there are no more lines to read. Configuring Remote Control for indexing Whenever your website changes, you can use Remote Control to run a script or program from your server, requesting that the search robot run an index. To configure Remote Control for indexing 1. On the product menu, click Index > Remote Control. 2. On the Remote Control page, set each configuration field option. See Remote Control configuration options. 3. Click Save Changes. Remote Control configuration options A table that describes the configuration options that are found on the Remote Control page. About the Index menu 193 Configure these options If you want to be able to submit an indexing request from your server automatically to index your website. Option Description Remote Control Password Specify the remote control password. Passwords are case sensitive, at least six characters long, and must include at least one letter. It is recommended that you also include at least one number. Do not use your site search/merchandising login password. Your password is used in each remote control request. OK Response String Lets you specify an OK response text string if the requested index operation begins successfully. In such cases, the search robot returns your OK response string to the server. Priority Response String If another indexing operation is in progress when the remote request is made, the search robot cannot perform the requested index. In such cases, your Priority response text string is returned to the server. Error Response String Lets you specify an Error response text string If your password is incorrect, or if another error occurs. In such cases, the search robot returns your Error response string back to the server. About Rollback for indexes You can use Rollback to back up and archive website indexes that you have generated. You can also restore the backup of an index at any time. The archive contains four indexes: the current site index, and three previous site indexes, which the search robot automatically archives based on the rollback configuration settings. Each time your website is indexed, the archive is updated. Newer indexes replace existing archived indexes so that the archive always remains current. Each archived index is listed in the archive with the following information: • Date and time the index was finalized. • Index age. • Number of documents indexed. • Indexing operation type (full, incremental, and so on). • Index status such as whether the index is currently active, and whether it will be kept or removed after the next index. Each time your website is indexed, the new index is added to the archive, and an existing archived index is removed. Note, however, that the oldest index is not necessarily the one that is removed. When a new index is added to the archive, an age comparison is made of each archived index to the ages that are specified in the rollback configuration settings. The index that is furthest from the desired schedule is removed. For example, suppose the configuration setting is 24,48,72 and the ages of the saved indexes are 5, 23, 47, and 71. The most recent index (aged five hours) is removed when a new index is added to the archive About the Index menu 194 because its age is furthest from the settings. For convenience, the archive notes which index is removed when the site is indexed again. You can navigate to other areas within the user interface while an index is activated. A status indicator keeps track of the activation progress and is available when you view the Rollback page. If an archived index is restored, users are notified at the top of the Full Index, Incremental Index, Scripted Index, and Regenerate pages. No indexing operation can occur while an index is being restored. If a rollback operation conflicts with a scheduled site index, the scheduled indexing is deferred until the rollback has finished. If an index is already in progress, then it is canceled, provided the user confirms that the rollback receive priority. To maintain the integrity of the archive, the search robot does not update the rollback archive if errors are found during a crawl. There is also no update if a user cancels an indexing operation. If an indexing operation exceeds the maximum time, bytes, pages, or documents, the crawler finalizes the index and adds it to the archive. In addition, if the minimum number of pages is not met during an indexing operation, the crawler cancels the index and the previous index remains active. Configuring the rollback archiving schedule of indexes You can use Configure to determine which index files that you want to store in the rollback archive. The archive can store the current index and three backup indexes. The Schedule field contains three comma-separated values that represent hours from the present. For example, the schedule values 24,48,72 specify 24 hours from the present or yesterday, 48 hours from the present or two days ago, and 72 hours from the present or three days ago. Search continually archives the site indexes that are the closest to one day, two days, and three days old. The actual times and dates of the archived indexes can vary depending on your website's indexing schedule. To configure the rollback archiving schedule of indexes 1. On the product menu, click Index > Rollback > Configure. 2. On the Rollback Configuration page, in the Schedule field, enter a command separated list of three index ages, in hours. The indexes closest to these ages is saved. 3. Click Save Changes. Activating an archived index You can use Rollback to activate an archived index. When you click Activate to rollback an index, the currently active index is moved into the archive. Following the activation of the archived index, you are returned to the Activate Index page. Information about the index rollback is displayed. Also, the Activate column in the Available Indexes table identifies the rolled back index with the status "Active Index". 1. On the product menu, click Index > Rollback > Rollback. 2. On the Activate Index page, in the Available Indexes table, click Activate for the associated archived index type that you want to make active. Use the Date, Age, Pages, and Operation columns to help you determine which index to activate. 3. On the Verify Rollback page, review the index information to verify that you have selected the correct index, and then click Activate Now. About the Index menu 195 Viewing the log of all index rollbacks View the date and time of all rollback-related operations. To view the log of all index rollbacks 1. On the product menu, do one of the following: • • Click Index > Re-Rank Index > Live Log. Click Index > Re-Rank Index > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About Vertical Update You can use Vertical Update to quickly update parts of your index without having to process large amounts of data. A vertical index takes only seconds to perform and is useful on large capacity eCommerce websites that can take many hours to either completely or incrementally index. When you generate a vertical index, status information is displayed, such as start time, elapsed time, and errors during the indexing process. You can stop or restart the vertical indexing process at any time. While the new vertical index updates your live website, customers can continue to search your site using your current index. Note: This feature is not enabled in Adobe Search&Promote, by default. Contact Technical Support to activate the feature for your use. Vertical Updates are specifically meant to be used on eCommerce-style Adobe Search&Promote accounts that use IndexConnector to supply the content for the search index. The typical use-case is one where the Adobe Search&Promote index represents a searchable product catalog, and the need exists to be able to quickly update frequently changing values, such as inventory-on-hand, availability and/or price. A Vertical Update is somewhat similar to an Incremental Index, except that it only updates portions of each document, whereas an Incremental Index replaces entire documents with new versions. The term "Vertical Update" refers to the notion that an Adobe Search&Promote index can be pictured as a columnar table, with each column corresponding to an Adobe Search&Promote Metadata field definition, and each row corresponding to a document. The Vertical Update process replaces one or more columns without the need to alter any of the other columns' content. Where the main source for content, an IndexConnector feed, contains all of the required data elements needed to create the index, the Vertical Update feed is a subset of the main feed, one that uses the same IndexConnector "schema" to define the data elements, but containing only those data items that need to be updated. At a minimum, the Vertical Update feed needs to contain the "primary key" element (as identified with the Primary Key check-box in the IndexConnector configuration) and at least one data element to be updated. For example, a primary IndexConnector feed might look like the following (but usually with many more data items): <?xml version="1.0" encoding="UTF-8"?> <products> About the Index menu 196 <product> <id><![CDATA[123]]></id> <title><![CDATA[Title for product 123]]></title> <description><![CDATA[Description for product 123.]]></description> <price>3.99</price> <link><![CDATA[http://www.somewhere.com/products/123]]></link> <image><![CDATA[http://www.somewher.com/images/products/123.jpg]]></image> <label><![CDATA[PROD123]]></label> <inventory>100</inventory> <brand><![CDATA[brand123]]></brand> ... </product> <product> ... </product> </products> A requirement is to be able to quickly update just the <price> and <inventory> values, because these values can change rapidly on the customer's site. A Vertical Update feed might then look like the following: <?xml version="1.0" encoding="UTF-8"?> <products> <product> <id><![CDATA[123]]></id> <price>3.50</price> <inventory>90</inventory> </product> <product> ... </product> </products> This information is typically stored in a separate file on the customer's server, and the IndexConnector "Vertical File Path" configuration setting points to this file. The Vertical Update process reads this new content and updates the existing Adobe Search&Promote index, only updating the values for <price> and <inventory>, in this case. Subsequent searches returns the newly updated content. Note: In this example, the <price> and <inventory> Metadata fields will need to have been defined with the Vertical Update Field option checked. See also About Remote Control for Indexing and Meta tag field options. Configuring a Vertical Update of a staged website You can configure what Index Connector sources you want to include in your vertical update by specifying URLs. To configure a Vertical Update of a staged website 1. On the product menu, click Index > Vertical Update > Configuration. 2. On the Vertical Update Configuration page, in the Update URLs field, specify the URLs of the pages that you want to index. The search robot only updates the documents that are identified in the specified Index Connector sources. This field must contain Index Connector URLs only as in the following example: index:product_catalog. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. Using the History option. About the Index menu • 197 Click View Live Settings. See Viewing live settings • Click Push Live. See Pushing stage settings live Viewing the Vertical Update log of a live or staged website When a live Vertical Update or a staged Vertical Update is complete, you can view its associated log to troubleshoot any errors that may have occurred. You cannot export Vertical Update log files, nor can you save them. The log file remains available for viewing until the next index occurs. To view the Vertical Update log of a live or staged website 1. On the product menu, do one of the following: • • Click Index > Vertical Update > Live Log. Click Index > Vertical Update > Staged Log. 2. On the log page, at the top or bottom, do any of the following: • • Use the navigation options First, Prev, Next, Last, or Go to line to move through the log. Use the display options Errors only, Wrap line, or Show to refine what you see. About the Settings menu 198 About the Settings menu Use the Settings menu to manage crawling, searching, metadata, filtering scripting, metadata, rewrite rules, SiteCatalyst, SAINT, and SEO settings. You can also manage your account profile, account options, and other users. About the Crawling menu Use the Crawling menu set date and URL masks, passwords, content types, connections, form definitions, and URL entrypoints. About URL Entrypoints Most websites have one primary entry point or home page that a customer initially visits. This main entry point is the URL address from which the search robot begins index crawling. However, if your website has multiple domains or subdomains, or if portions of your site are not linked from the primary entry point, you can use URL Entrypoints to add more entry points. All website pages below each specified URL entry point are indexed. You can combine URL entry points with masks to control exactly which portions of a website that you want to index. You must rebuild your website index before the effects of URL Entrypoints settings are visible to customers. The main entry point is typically the URL of the website that you want to index and search. You configure this main entry point in Account Settings. See Configuring your account settings. After you have specified the main URL entry point, you can optionally specify additional entry points that you want to crawl in order. Most often you will specify additional entry points for web pages that are not linked from pages under the main entry point. Specify additional entry points when your website spans more than one domain as in the following example: http://www.domain.com/ http://www.domain.com/not_linked/but_search_me_too/ http://more.domain.com/ You qualify each entry point with one or more of the following space-separated keywords in the table below. These keywords affect how the page is indexed. Important: Be sure that you separate a given keyword from the entry point and from each other by a space; a comma is not a valid separator. Keyword Description noindex If you do not want to index the text on the entry point page, but you do want to follow the page's links, add noindex after the entry point. Separate the keyword from the entry point with a space as in the following example: http://www.my-additional-domain.com/more_pages/main.html noindex This keyword is equivalent to a robots meta tag with content="noindex") between the <head>...</head> tags of the entry point page. About the Settings menu 199 Keyword Description nofollow If you want to index the text in the entry point page but you do not want to follow any of the page's links, add nofollow after the entry point. Separate the keyword from the entry point with a space as in the following example: http://www.domain.com/not_linked/directory_listing nofollow This keyword is equivalent to a robots meta tag with content="nofollow" between the <head>...</head> tag of an entry point page. form When the entry point is a login page, form is typically used so that the search robot can submit the login form and receive the appropriate cookies before crawling the website. When the "form" keyword is used, the entry point page is not indexed and the search robot does not mark the entry point page as crawled. Use nofollow if you do not want the search robot to follow the page's links. See also About Content Types. See also About Index Connector. Adding multiple URL entry points that you want indexed If your website has multiple domains or subdomains and you want them crawled, you can use URL Entrypoints to add more URLs. To set your website's main URL entry point, you use Account Settings. See Configuring your account settings. To add multiple URL entry points that you want indexed 1. On the product menu, click Settings > Crawling > URL Entrypoints. 2. On the URL Entrypoints page, in the Entrypoints field, enter one URL address per line. 3. (Optional) In the Add Index Connector Configurations drop-down list, select an index connector that you want to add as an entry point for indexing. The drop-down list is only available if you have previously added one or more index connector definitions. About the Settings menu 200 See Adding an Index Connector definition. 4. Click Save Changes. 5. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About URL Masks URL masks are patterns that determine which of your website documents the search robot indexes or not indexes. Be sure that you rebuild your site index so that the results of your URL masks are visible to your customers. See Configuring an incremental index of a staged website. The following are two kinds of URL masks that you can use: • Include URL masks • Exclude URL masks Include URL masks tell the search robot to index any documents that match the mask's pattern. Exclude URL masks tell the search robot to index matching documents. As the search robot travels from link to link through your website, it encounters URLs and looks for masks that match those URLs. The first match determines whether to include or exclude that URL from the index. If no mask matches an encountered URL, that URL is discarded from the index. About the Settings menu 201 Include URL masks for your entrypoint URLs are automatically generated. This behavior ensures that all encountered documents on your website are indexed. It also conveniently does away with links that "leave" your website. For example, if an indexed page links to http://www.yahoo.com, the search robot does not index that URL because it does not match the include mask automatically generated by the entrypoint URL. Each URL mask that you specify must be on a separate line. The mask can specify any of the following: • A full path as in http://www.mydomain.com/products.html. • A partial path as in http://www.mydomain.com/products. • A URL that uses wild cards as in http://www.mydomain.com/*.html. • A regular expression (for advanced users). To make a mask a regular expression, insert the keyword regexp between the mask type (exclude or include) and the URL mask. The following is a simple exclude URL mask example: exclude http://www.mydomain.com/photos Because this example is an exclude URL mask, any document that matches the pattern is not indexed. The pattern matches any encountered item, both files and folders, so that http://www.mydomain.com/photos.html and http://www.mydomain.com/photos/index.html, both of which match the exclude URL, are not indexed. To match only files in the /photos/ folder, the URL mask must contain a trailing slash as in the following example: exclude http://www.mydomain.com/photos/ The following exclude mask example uses a wild card. It tells the search robot to overlook files with the ".pdf" extension. The search robot does not add these files to your index. exclude *.pdf A simple include URL mask is the following: include http://www.mydomain.com/news/ Only documents that are linked by way of a series of links from a URL entrypoint, or that are used as a URL entrypoint themselves, are indexed. Solely listing a document's URL as an include URL mask does not index an unlinked document. To add unlinked documents to your index, you can use the URL Entrypoints feature. See About URL Entrypoints. Include masks and exclude masks can work together. You can exclude a large portion of your website from indexing by creating an exclude URL mask yet include one or more of those excluded pages with an include URL mask. For example, suppose your entrypoint URL is the following: http://www.mydomain.com/photos/ The search robot crawls and indexes all of the pages under /photos/summer/, /photos/spring/ and /photos/fall/ (assuming that there are links to at least one page in each directory from the photos folder). This behavior occurs because the link paths enable the search robot to find the documents in the /summer/, /spring/, and /fall/, folders and the folder URLs match the include mask that is automatically generated by the entrypoint URL. You can choose to exclude all pages in the /fall/ folder with an exclude URL mask as in the following example: exclude http://www.mydomain.com/photos/fall/ About the Settings menu 202 Or, selectively include only /photos/fall/redleaves4.html as part of the index with the following URL mask: include http://www.mydomain.com/photos/fall/redleaves4.html For the above two mask examples to work as intended, the include mask is listed first, as in the following: include http://www.mydomain.com/photos/fall/redleaves4.html exclude http://www.mydomain.com/photos/fall/ Because the search robot follows directions in the order that they are listed, the search robot first includes /photos/fall/redleaves4.html, and then excludes the rest of the files in the /fall folder. If the instructions are specified in the opposite way as in the following: exclude http://www.mydomain.com/photos/fall/ include http://www.mydomain.com/photos/fall/redleaves4.html Then /photos/fall/redleaves4.html is not included, even though the mask specifies that it is included. A URL mask that appears first always takes precedence over a URL mask that appears later in the mask settings. Additionally, if the search robot encounters a page that matches an include URL mask and an exclude URL mask, the mask that is listed first always takes precedence. See Configuring an incremental index of a staged website. About using keywords with URL masks You can qualify each include mask with one or more space-separated keywords, which affect how the matched pages are indexed. A comma is not valid as a separator between the mask and the keyword; you can only use spaces. Keyword Description noindex If you do not want to index the text on the pages that match the URL mask, but you want to follow the matched pages links, add noindex after the include URL mask. Be sure that you separate the keyword from the mask with a space as in the following example: include *.swf noindex The above example specifies that the search robot follow all links from files with the .swf extension, but disables indexing of all text contained within those files. The noindex keyword is equivalent to a robot meta tag with content="noindex" between the <head>...</head> tags of matched pages. nofollow If you want to index the text on the pages that match the URL mask, but you do not want to follow the matched page's links, add nofollow after the include URL mask. Be sure that you separate the keyword from the mask with a space as in the following example: include http://www.mydomain.com/photos nofollow About the Settings menu Keyword 203 Description The nofollow keyword is equivalent to a robot meta tag with content="nofollow" between the <head>...</head> tags of matched pages. regexp Used for both include and exclude masks. Any URL mask preceded with regexp is treated as a regular expression. If the search robot encounters documents that match an exclude regular expression URL mask, those documents are not indexed. If the search robot encounters documents that match an include regular expression URL mask, those documents are indexed. For example, suppose you have the following URL mask: exclude regexp ^.*/products/.*\.html$ The search robot excludes matching files such as http://www.mydomain.com/products/page1.html If you had the following exclude regular expression URL mask: exclude regexp ^.*\?..*$ The search robot does not to include any URL containing a CGI parameter such as http://www.mydomain.com/cgi/prog/?arg1=val1&arg2=val2. If you had the following include regular expression URL mask: include regexp ^.*\.swf$ noindex The search robot follows all links from files with the ".swf" extension. The noindex keyword also specifies that the text of matched files are not indexed. See Regular Expressions. Adding URL masks to index or not index parts of your website You can use URL Masks to define which parts of your website that you want or do not want crawled and indexed. Use the Test URL Masks field to test whether a document is or is not included after you index. Be sure that you rebuild your site index so that the results of your URL masks are visible to your customers. See Configuring an incremental index of a staged website. To add URL masks to index or not index parts of your website 1. On the product menu, click Settings > Crawling > URL Masks. 2. (Optional) On the URL Masks page, in the Test URL Masks field, enter a test URL mask from your website, and then click Test. 3. In the URL Masks field, type include (to add a website that you want crawled and indexed), or type exclude (to block a website from getting crawled and indexed), followed by the URL mask address. About the Settings menu 204 Enter one URL mask address per line. Example: include include exclude exclude http://www.mycompany.com/summer http://www.mycompany.com/spring regexp .*\.xml http://www.mycompany.com/fall 4. Click Save Changes. 5. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Date Masks You can use Date Masks to include or exclude files from your search results based on the age of the file. Be sure that you rebuild your site index so that the results of your URL masks are visible to your customers. See Configuring an incremental index of a staged website. The following are two kinds of date masks that you can use: • Include date masks ("include-days" and "include-date") Include date masks index files that are dated on or before the specified date. • Exclude date masks ("exclude-days" and "exclude-date") Exclude date masks index files that are dated on or before the specified date. By default, the file date is determined from meta tag information. If no Meta tag is found, the date of a file is determined from the HTTP header that is received from the server when the search robot downloads a file. Each date mask that you specify must be on a separate line. The mask can specify any of the following: • A full path as in http://www.mydomain.com/products.html • A partial path as in http://www.mydomain.com/products • A URL that uses wild cards http://www.mydomain.com/*.html • A regular expression. To make a mask a regular expression, insert the keyword regexp before the URL. Both include and exclude date masks can specify a date in one of the two following ways. The masks are only be applied if the matched files were created on or before the specified date: 1. A number of days. For example, suppose your date mask is the following: exclude-days 30 http://www.mydomain.com/docs/archive/) The number of specified days is counted back. If the file is dated on or before the arrived upon date, the mask is applied. About the Settings menu 205 2. An actual date using the format YYYY-MM-DD. For example, suppose your date mask is the following: include-date 2011-02-15 http://www.mydomain.com/docs/archive/) If the matched document is dated on or before the specified date, the date mask is applied. The following is a simple exclude date mask example: exclude-days 90 http://www.mydomain.com/docs/archive Because this is an exclude date mask, any file that matches the pattern is not indexed and is 90 days old or older. When you exclude a document, no text is indexed and no links are followed from that file. The file is effectively ignored. In this example, both files and folders might match the specified URL pattern. Notice that both http://www.mydomain.com/docs/archive.html and http://www.mydomain.com/docs/archive/index.html match the pattern and are not indexed if they are 90 days old or older. To match only files in the /docs/archive/ folder, the date mask must contain a trailing slash as in the following: exclude-days 90 http://www.mydomain.com/docs/archive/ Date masks can also be used with wild cards. The following exclude mask tells the search robot to overlook files with the ".pdf" extension that are dated on or before 2011-02-15. The search robot does not add any matched files to your index. exclude-date 2011-02-15 *.pdf Include date mask looks similar, only matched files are added to the index. The following include date mask example tells the search robot to index the text from any files that are zero days old or older in the /docs/archive/manual/ area of the website. include-days 0 http://www.mydomain.com/docs/archive/manual/ Include masks and exclude masks can work together. For example, you can exclude a large portion of your website from indexing by creating an exclude date mask yet include one or more of those excluded pages with an include URL mask. If your entrypoint URL is the following: http://www.mydomain.com/archive/ The search robot crawls and indexes all of the pages under /archive/summer/, /archive/spring/, and /archive/fall/ (assuming that there are links to at least one page in each folder from the archive folder). This behavior occurs because the link paths enable the search robot to "find" the files in the /summer/, /spring/, and /fall/ folders and the folder URLs match the include mask automatically generated by the entrypoint URL. See About URL Entrypoints. See Configuring your account settings. You may choose to exclude all pages over 90 days old in the /fall/ folder with an exclude date mask as in the following: exclude-days 90 http://www.mydomain.com/archive/fall/ You can selectively include only /archive/fall/index.html (regardless of how old it is--any file 0 days or older are matched) as part of the index with the following date mask: include-days 0 http://www.mydomain.com/archive/fall/index.html For the above two mask examples to work as intended, you must list the include mask first as in the following: include-days 0 http://www.mydomain.com/archive/fall/index.html exclude-days 90 http://www.mydomain.com/archive/fall/ Because the search robot follows directions in the order they are specified, the search robot first includes /archive/fall/index.html, and then excludes the rest of the files in the /fall folder. About the Settings menu 206 If the instructions are specified in the opposite way as in the following: exclude-days 90 http://www.mydomain.com/archive/fall/ include-days 0 http://www.mydomain.com/archive/fall/index.html Then /archive/fall/index.html is not included, even though the mask specifies that it should be. A date mask that appears first always takes precedence over a date mask that might appear later in the mask settings. Additionally, if the search robot encounters a page that matches both an include date mask and an exclude date mask, the mask that is listed first always takes precedence. See Configuring an incremental index of a staged website. About using keywords with date masks You can qualify each include mask with one or more space-separated keywords, which affect how the matched pages are indexed. A comma is not valid as a separator between the mask and the keyword; you can only use spaces. Keyword Description noindex If you do not want to index the text on the pages that are dated on or before the date that is specified by the include mask, add noindex after the include date mask as in the following: include-days 10 *.swf noindex Be sure you separate the keyword from the mask with a space. The above example specifies that the search robot follow all links from files with the ".swf" extension that are 10 days old or older. However, it disables indexing of all text contained in those files. You may want make sure that the text for older files is not indexed but still follow all links from those files. In such cases, use an include date mask with the "noindex" keyword instead of using an exclude date mask. nofollow If you want to index the text on the pages that are dated on or before the date that is specified by the include mask, but you do not want to follow the matched page's links, add nofollow after the include date mask as in the following: include-days 8 http://www.mydomain.com/photos nofollow Be sure you separate the keyword from the mask with a space. The nofollow keyword is equivalent to a robot meta tag with content="nofollow" between the <head>...</head> tag of matched pages. server-date Used for both include and exclude masks. About the Settings menu Keyword 207 Description The search robot generally downloads and parses every file before checking the date masks. This behavior occurs because some file types can specify a date inside the file itself. For example, an HTML document can include meta tags that set the date of the file. If you are going to exclude many files based on their date, and you do not want to put an unnecessary load on your servers, you can use server-date after the URL in the date mask. This keyword instructs the search robot to trust the date of the file that is returned by your server instead of parsing each file. For example, the following exclude date mask ignores pages that match the URL if the documents are 90 days or older, according to the date that is returned by the server in the HTTP headers: exclude-days 90 http://www.mydomain.com/docs/archive server-date If the date that is returned by the server is 90 days or more past, server-date specifies that the excluded documents not be downloaded from your server. The result means faster indexing time for your documents and a reduced load placed on your servers. If server-date is not specified, the search robot ignores the date that is returned by the server in the HTTP headers. Instead, each file is downloaded and checked to see if the date is specified. If no date is specified in the file, then the search robot uses the date that is returned by the server. You should not use server-date if your files contain commands that override the server date. regexp Use for both include and exclude masks. Any date mask that is preceded by regexp is treated as a regular expression. If the search robot encounters files that match an exclude regular expression date mask, it does not index those files. If the search robot encounters files that match an include regular expression date mask, it indexes those documents. For example, suppose you have the following date mask: exclude-days 180 regexp .*archive.* The mask tells the search robot to exclude matching files that are 180 days or older. That is, files that contain the word "archive" in their URL. About the Settings menu Keyword 208 Description See Regular Expressions. Adding date masks to index or not index parts of your website You can use Date Masks to include or exclude files from customer search results based on the age of the files. Use the Test Date and Test URL fields to test whether a file is or is not included after you index. Be sure that you rebuild your site index so that the results of your URL masks are visible to your customers. See Configuring an incremental index of a staged website. To add date masks to index or not index parts of your website 1. On the product menu, click Settings > Crawling > Date Masks. 2. (Optional) On the Date Masks page, in the Test Date field, enter a date formatted as YYYY–MM–DD (for example, 2011-07-25); in the Test URL field, enter a URL mask from your website, and then click Test. 3. In the Date Masks field, enter one date mask address per line. 4. Click Save Changes. 5. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Passwords To access portions of your website that are protected with HTTP Basic Authentication, you can add one or more passwords. Before the effects of the Password settings is visible to customers, you must rebuild your site index. See Configuring an incremental index of a staged website. On the Passwords page, you type each password on a single line. The password consists of a URL or realm, a user name, and a password, as in the following example: http://www.mydomain.com/ myname mypassword Instead of the using a URL path, like above, you could also specify a realm. To determine the correct realm to use, open a password-protected web page with a browser and look at the "Enter Network Password" dialog box. About the Settings menu 209 The realm name, in this case, is "My Site Realm." Using the realm name above, your password might look like the following: My Site Realm myusername mypassword If your web site has multiple realms, you can create multiple passwords by entering a user name and password for each realm on a separate line as in the following example: Realm1 name1 password1 Realm2 name2 password2 Realm3 name3 password3 You can intermix passwords that contain URLs or realms so that your password list might look like the following: Realm1 name1 password1 http://www.mysite.com/path1/path2 name2 password2 Realm3 name3 password3 Realm4 name4 password4 http://www.mysite.com/path1/path5 name5 password5 http://www.mysite.com/path6 name6 password6 In the list above, the first password is used that contains a realm or URL that matches the server's authentication request. Even if the file at http://www.mysite.com/path1/path2/index.html is in Realm3, for example, name2 and password2 are used because the password that is defined with the URL is listed above the one defined with the realm. Adding passwords for accessing areas of your website that require authentication You can use Passwords to access password-protected areas of your website for crawling and indexing purposes. Before the effects of your password are additions are visible to customers, be sure you rebuild your site index See Configuring an incremental index of a staged website. To add passwords for accessing areas of your website that require authentication 1. On the product menu, click Settings > Crawling > Passwords. 2. On the Passwords page, in the Passwords field, enter a realm or URL, and its associated user name, and password, separated by a space. Example of a realm password and a URL password on separate lines: Realm1 name1 password1 http://www.mysite.com/path1/path2 name2 password2 Only add one password per line. 3. Click Save Changes. 4. (Optional) Do any of the following: About the Settings menu • 210 Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Content Types You can use Content Types to select which types of files that you want to crawl and index for this account. Content types that you can choose to crawl and index include PDF documents, text documents, Adobe Flash movies, files from Microsoft Office applications such as Word, Excel, and Powerpoint, and text in MP3 files. The text that is found within the selected content types is searched along with all of the other text on your website. Before the effects of the Content Types settings is visible to customers, you must rebuild your site index. See Configuring an incremental index of a staged website. About indexing MP3 music files If you select the option Text in MP3 Music Files on the Content Types page, an MP3 file is crawled and indexed in one of two ways. The first and most common way is from an anchor href tag in an HTML file as in the following: <a href="MP3-file-URL"></a> The second way is to enter the URL of the MP3 file as a URL entrypoint. See About URL Entrypoints. An MP3 file is recognized by its MIME type "audio/mpeg". Be aware that MP3 music file sizes can be quite large, even though they usually contain only a small amount of text. For example, MP3 files can optionally store such things as the album name, artist name, song title, song genre, year of release, and a comment. This information is stored at the very end of the file in what is called the TAG. MP3 files containing TAG information are indexed in the following way: • The song title is treated like the title of an HTML page. • The comment is treated like a description that is defined for an HTML page. • The genre is treated like a keyword that is defined for an HTML page. • The artist name, album name, and year of release are treated like the body of an HTML page. Note that each MP3 file that is crawled and indexed on your website counts as one page. If your website contains many large MP3 files, you may exceed the indexing byte limit for your account. If this happens, you can deselect Text in MP3 Music Files on the Content Types page to prevent the indexing of all MP3 files on your website. If you only want to prevent the indexing of certain MP3 files on your website, you can do one of the following: • Surround the anchor tags that link to the MP3 files with <nofollow> and </nofollow> tags. The search robot does not follow links between those tags. • Add the URLs of the MP3 files as exclude masks. About the Settings menu 211 See About URL Masks. Selecting content types to crawl and index You can use Content Types to select which types of files that you want to crawl and index for this account. Content types that you can choose to crawl and index include PDF documents, text documents, Adobe Flash movies, files from Microsoft Office applications such as Word, Excel, and Powerpoint, and text in MP3 files. The text that is found within the selected content types is searched along with all of the other text on your website. Before the effects of the Content Types settings is visible to customers, you must rebuild your site index. See Configuring an incremental index of a staged website. To crawl and index Chinese, Japanese, or Korean MP3 files, complete the steps below. Then, in Settings > Metadata > Injections, specify the character set that is used to encode the MP3 files. See About Injections. To select content types to crawl and index 1. 2. 3. 4. On the product menu, click Settings > Crawling > Content Types. On the Content Types page, check the file types that you want to crawl and index on your website. Click Save Changes. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Connections You can use Connections to add up to ten HTTP connections that the search robot uses to index your website. Increasing the number of connections can significantly reduce the amount of time that it takes to complete a crawl and index. However, be aware that each additional connection increases the load on your server. Adding connections to increase indexing speed You can reduce the amount of time it takes to index your website by using Connections to increase the number of simultaneous HTTP connections that the crawler uses. You can add up to ten connections. Be aware that each additional connection increases the load that is placed on your server. To add connections to increase indexing speed 1. On the product menu, click Settings > Crawling > Connections. 2. On the Parallel Indexing Connections page, in the Number of Connections field, enter the number of connections (1-10) that you want to add. 3. Click Save Changes. About the Settings menu 212 4. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Form Submission You can use Form Submission to help you recognize and process forms on your website. During the crawling and indexing of your website, each encountered form is compared with the form definitions that you have added. If a form matches a form definition, the form is submitted for indexing. If a form matches more than one definition, the form is submitted once for each matched definition. Adding form definitions for indexing forms on your website You can use Form Submission to help process forms that are recognized on your website for indexing purposes. Be sure that you rebuild your site index so that the results of your changes are visible to your customers. See Configuring an incremental index of a staged website. To add form definitions for indexing forms on your website 1. On the product menu, click Settings > Crawling > Form Submission. 2. On the Form Submission page, click Add New Form. 3. On the Add Form Definition page, set the Form Recognition and Form Submission options. See Form Definition options. 4. Click Add. 5. (Optional) Do any of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Form Definition options A table that describes the options on the Add Form Definition page and the Edit Form Definition page. Form definitions contain information that helps you to process forms that are recognized on your website during indexing. The five options in the Form Recognition section on the Form Definition page are used to identify forms in your web pages that can be process. The three options in the Form Submission section are used to specify the parameters and values that are submitted with a form to your web server. About the Settings menu 213 Enter one recognition or submission parameter per line. Each parameter must include a name and a value. Option Description Form Recognition Page URL Mask Identify the web page or pages that contain the form. To identify a form that appears on a single page, enter the URL for that page as in the following example: http://www.mydomain.com/login.html To identify forms that appear on multiple pages, specify a URL mask that uses wildcards to describe the pages. To identify forms encountered on any ASP page under http://www.mydomain.com/register/ , for example, you would specify the following: http://www.mydomain.com/register/*.asp You can also use a regular expression to identify multiple pages. Just specify the regexp keyword before the URL mask as in the following example: regexp ^http://www\.mydomain\.com/.*/login\.html$ Action URL Mask Identifies the action attribute of the <form> tag. Like the page URL mask, the action URL mask can take the form of a single URL, a URL with wildcards, or a regular expression. The URL mask can be any of the following: • A full path as in the following: http://www.mydomain.com/products.html • A partial path as in the following: http://www.mydomain.com/products • A URL that uses wild cards as in the following: http://www.mydomain.com/*.html • A regular expression as in the following: regexp ^http://www\.mydomain\.com/.*/login\.html$ If you do not want to index the text on pages that are identified by a URL mask or by an action URL mask, or if you do not want links followed on those pages, you can use the noindex and nofollow keywords. You can add these keywords to your masks using URL masks or entrypoints. About the Settings menu Option 214 Description See About URL Masks. See About URL Entrypoints. Form Name Mask Identifies forms if the <form> tags in your web pages contain a name attribute. You can use a simple name (login_form), a name with a wildcard (form*), or a regular expression (regexp ^.*authorize.*$). You can usually leave this field empty because forms typically do not have a name attribute. Form ID Mask Identifies forms if the <form> tags in your web pages contain an id attribute. You can use a simple name (login_form), a name with a wildcard (form*), or a regular expression (regexp ^.*authorize.*$). You can usually leave this field empty because forms typically do not have a name attribute. Parameters Identify forms that contain, or do not contain, a named parameter or a named parameter with a specific value. For example, to identify a form that contains an e-mail parameter that is preset to [email protected], a password parameter, but not a first-name parameter, you would specify the following parameter settings, one per line: [email protected] password not first-name Form Submission Override Action URL Specify when the target of the form submission is different from what is specified in the form's action attribute. For example, you might use this option when the form is submitted by way of a JavaScript function that constructs a URL value that is different from what is found in the form. Override Method Specify when the target of the form submission is different from what is used in the form's action attribute and when the submitting JavaScript has changed the method. About the Settings menu Option 215 Description The default values for all form parameters (<input> tags, including hidden fields), the default <option> from a <select> tag, and the default text between <textarea>...</textarea> tags) are read from the web page. However, any parameter that is listed in the Form Submission section, in the Parameters field, is replaced with the form defaults. Parameters You can prefix form submission parameters with the not keyword. When you prefix a parameter with not, it is not submitted as part of the form submission. This behavior is useful for check boxes that should be submitted deselected. For example, suppose you want to submit the following parameters: • The e-mail parameter with the value [email protected] • The password parameter with the value tryme • The mycheckbox parameter as deselected. • All other <form> parameters as their default values Your form submission parameter would look like the following: [email protected] password=tryme not mycheckbox The method attribute of the <form> tag on the web page is used to decide if the data is sent to your server using the GET method or the POST method. If the <form> tag does not contain a method attribute, the form is submitted using the GET method. Editing a form definition You can edit an existing form definition if a form on your website has changed or if you just need to change the definition. Be aware that there is no History feature on the Form Submission page to revert any changes that you make to a form definition. Be sure that you rebuild your site index so that the results of your changes are visible to your customers. See Configuring an incremental index of a staged website. To edit a form definition 1. On the product menu, click Settings > Crawling > Form Submission. 2. On the Form Submission page, click Edit to the right of a form definition that you want to update. About the Settings menu 216 3. On the Edit Form Definition page, set the Form Recognition and Form Submission options. See Form Definition options. 4. Click Save Changes. 5. (Optional) Do any of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a form definition You can delete an existing form definition if the form no longer exists on your website, or if you no longer want to process and index a particular form. Be aware that there is no History feature on the Form Submission page to revert any changes that you make to a form definition. Be sure that you rebuild your site index so that the results of your changes are visible to your customers. See Configuring an incremental index of a staged website. To delete a form definition 1. On the product menu, click Settings > Crawling > Form Submission. 2. On the Form Submission page, click Delete to the right of a form definition that you want to remove. Make sure you choose the right form definition to delete. There is no delete confirmation dialog box when you click Delete in the next step. 3. On the Delete Form Definition page, click Delete. 4. (Optional) Do any of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Index Connector Use Index Connector to define additional input sources for indexing XML pages or any kind of feed. You can use a data feed input source to access content that is stored in a form that is different from what is typically discovered on a website using one of the available crawl methods. Each document that is crawled and indexed directly corresponds to a content page on your website. However, a data feed either comes from an XML document or from a comma- or tab-delimited text file, and contains the content information to index. An XML data source consists of XML stanzas, or records, that contain information that corresponds to individual documents. These individual documents are added to the index. A text data feed contains individual new-line-delimited records that correspond to individual documents. These individual documents are also added to the index. In either case, an index connector configuration describes how to interpret the feed. Each configuration describes where the file resides and how the servers access About the Settings menu 217 it. The configuration also describes "mapping" information. That is, how each record's items are used to populate the metadata fields in the resulting index. After you add an Index Connector definition to the Staged Index Connector Definitions page, you can change any configuration setting, except for the Name or Type values. The Index Connector page shows you the following information: • The name of defined index connectors that you have configured and added. • One of the following data source types for each connector that you have added: • Text – Simple "flat" files, comma-delimited, tab-delimited, or other consistently delimited formats. • Feed – XML feeds. • XML – Collections of XML documents. • Whether the connector is enabled or not for the next crawl and indexing done. • The address of the data source. How the indexing process works for Text and Feed configurations in Index Connector How the indexing process works for XML configurations in Index Connector How to configure multiple Index Connectors How the indexing process works for Text and Feed configurations in Index Connector Step Process Description 1 Download the data source. For Text and Feed configurations, it is a simple file download. 2 Break down the downloaded data source into individual pseudo-documents. For Text, each newline-delimited line of text corresponds to an individual document, and is parsed using the specified delimiter, such as a comma or tab. For Feed, each document's data is extracted using a regular expression pattern in the following form: <${Itemtag}>(.*?)</${Itemtag}> Using Map on the Index Connector Add page, create a cached copy of the data and then create a list of links for the crawler. The data is stored in a local cache and is populated with the configured fields. The parsed data is written to the local cache. This cache is read later to create the simple HTML documents that the crawler needs. For example, <html><head> <title>{title}</title> <meta name="{field}" content="{data}" /> ... </head><body> {body} </body></html> The <title> element is only generated when a mapping exists to the Title metadata field. Similarly, the <body> element is only generated when a mapping exists to the Body metadata field. About the Settings menu Step Process 218 Description Important: There is no support for the assignment of values to the pre-defined URL meta tag. For all other mappings, <meta> tags are generated for each field that has data found in the original document. The fields for each document are added to the cache. For each document that is written to the cache, a link is also generated as in the following examples: <a href="index:Adobe?key=<primary key field>\" /> <a href="index:Adobe?key=<primary key field>\" /> .... The configuration's mapping must have one field identified as the Primary Key. This mapping forms the key that is used when data is fetched from the cache. The crawler recognizes the URL index: scheme prefix, which can then access the locally cached data. 3 Crawl the cached The index: links are added to the crawler's pending list, and are processed in the normal crawl document set. sequence. 4 Process each document. Each link’s key value corresponds to an entry in the cache, so crawling each link results in that document’s data being fetched from the cache. It is then “assembled” into an HTML image that is processed and added to the index. How the indexing process works for XML configurations in Index Connector The indexing process for XML configuration is similar to the process for Text and Feed configurations with the following minor changes and exceptions. Because the documents for XML crawls are already separated into individual files, steps 1 and 2 in the table above do not directly apply. If you specify a URL in the Host Address and File Path fields of the Index Connector Add page, it is downloaded and processed as a normal HTML document. The expectation is that the download document contains a collection of <a href="{url}"... links, each of which points to an XML document that is processed. Such links are converted to the following form: <a href="index:<ic_config_name>?url="{url}"> For example, if the Adobe setup returned the following links: <a href="http://www.adobe.com/somepath/doc1.xml">doc 1</a> <a href="http://www.adobe.com/otherpath/doc2.xml">doc 2</a> In the table above, step 3 does not apply and step 4 is completed at the time of crawling and indexing. Alternately, you can intermix your XML documents with other documents that were discovered naturally through the crawl process. In such cases, you can use rewrite rules (Settings > Rewrite Rules > Crawl List Retrieve URL Rules) to change the XML documents’ URLs to direct them to Index Connector. See About Crawl List Retrieve URL Rules. For example, supposed you have the following rewrite rule: RewriteRule (^http.*[.]xml$) index:Adobe?key=$1 About the Settings menu 219 This rule translates any URL ending with .xml into an Index Connector link. The crawler recognizes and rewrites the index: URL scheme. The download process is redirected through the Index Connector Apache server on the master. Each downloaded document is examined using the same regular expression pattern that is used with Feeds. In this case, however, the manufactured HTML document is not saved in the cache. Instead, it is handed directly to the crawler for index processing. How to configure multiple Index Connectors You can define multiple Index Connector configurations for any account. The configurations are automatically added to the drop-down list in Settings > Crawl > URL Entrypoints as shown in the following illustration: Selecting a configuration from the drop-down list adds the value to the end of the list of URL entry points. Note: While disabled Index Connector configurations are added to the drop-down list, you cannot select them. If you select the same Index Connector configuration a second time, it is added to the end of the list, and the previous instance is deleted. To specify an Index Connector entry point for an incremental crawl, you can add entries using the following format: index:<indexconnector_configuration_name> The crawler processes each added entry if it is found on the Index Connectors page and is enabled. Note: Because each document's URL is constructed using the Index Connector configuration name and the document's primary key, be sure you use the same Index Connector configuration name when performing Incremental updates! Doing so permits Adobe Search&Promote to correctly update previously indexed documents. See also About URL Entrypoints. The use of Setup Maps when you add an Index Connector At the time you add an Index Connector, you can optionally use the feature Setup Maps to download a sample of your data source. The data is examined for indexing suitability. About the Settings menu 220 If you chose the Index Connector type... The Setup Maps feature... Text Determines the delimiter value by trying tabs first, then vertical-bars (|), and finally commas (,). If you already specified a delimiter value before you clicked Setup Maps, that value is used instead. The best-fit scheme results in the Map fields being filled out with guesses at the appropriate Tag and Field values. Additionally, a sampling of the parsed data is displayed. Be sure to select Headers in First Row if you know that the file includes a header row. The setup function uses this information to better identify the resulting map entries. Feed Downloads the data source and performs simple XML parsing. The resulting XPath identifiers are displayed in the Tag rows of the Map table, and similar values in Fields. These rows only identify the available data, and do not generate the more complicated XPath definitions. However, it is still helpful because it describes the XML data and identifies Itemtag values. Note: The Setup Maps function downloads the entire XML source to perform its analysis. If the file is large, this operation could time out. When successful, this function identifies all possible XPath items, many of which are not desirable to use. Be sure that you examine the resulting Map definitions and remove the ones that you do not need or want. XML Downloads the URL of a representative individual document, not the master link list. This single document is parsed using the same mechanism that is used with Feeds, and the results are displayed. Before you click Add to save the configuration, be sure that you change the URL back to the master link list document. Important: The Setup Maps feature may not work for large XML data sets because its file parser attempts to read the entire file into memory. As a result, you could experience an out-of-memory condition. However, when the same document is processed at the time of indexing, it is not read into memory. Instead, large documents are processed “on the go,” and are not read entirely into memory first. The use of Preview when you add an Index Connector At the time you add an Index Connector, you can optionally use the feature Preview to validate the data, as though you were saving it. It runs a test against the configuration, but without saving the configuration to the account. The test accesses the configured data source. However, it writes the download cache to a temporary location; it does not conflict with the main cache folder that the indexing crawler uses. Preview only processes a default of five documents as controlled by Acct:IndexConnector-Preview-Max-Documents. The previewed documents are displayed in source form, as they are presented to the indexing crawler. The display is similar to a “View Source" feature in a Web browser. You can navigate the documents in the preview set using standard navigation links. Preview does not support XML configurations because such documents are processed directly and not downloaded to the cache. About the Settings menu 221 Adding an Index Connector definition Each Index Connector configuration defines a data source and mappings to relate the data items defined for that source to metadata fields in the index. Before the effects of the new and enabled definition is visible to customers, rebuild your site index. See About the Index menu. To add an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Stage Index Connector Definitions page, click Add New Index Connector. 3. On the Index Connector Add page, set the connector options that you want. The options that are available depend on the Type that you selected. See Index Connector options. 4. (Optional) Click Setup Maps to download a sample of your data source. The data is examined for indexing suitability. This feature is available for Text and Feed Types, only. 5. (Optional) Click Preview to test the actual working of the configuration. This feature is available for Text and Feed Types, only. 6. Click Add to add the configuration to the Index Connector Definitions page and to the Index Connector Configurations drop-down list on the URL Entrypoints page. See About URL Entrypoints. 7. On the Index Connector Definitions page, click rebuild your staged site index. 8. (Optional) On the Index Connector Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Index Connector options A table that describes the options on the Index Connector Add page and the Index Connector Edit page. Option Description Name The unique name of the Index Connector configuration. You can use alphanumeric characters. The characters "_" and "-" are also allowed. Type The source of your data. The data source type that you select affects the resulting options that are available on the Index Connector Add page. You can choose from the following: • Text About the Settings menu Option 222 Description Simple flat text files, comma-delimited, tab-delimited, or other consistently delimited formats. Each newline-delimited line of text corresponds to an individual document, and is parsed using the specified delimiter. You can map each value, or column, to a metadata field, referenced by the column number, starting at 1 (one). • Feed Downloads a master XML document that contains multiple "rows" of information. • XML Downloads a master XML document that contains links (<a>) to individual XML documents. Data source type: Text Enabled Turns the configuration "on" to crawl and index. Or, you can turn "off" the configuration to prevent crawling and indexing. Note: Disabled Index Connector configurations are ignored if they are found in an entrypoint list. Host Address Specifies the address of the server host where your data is located. If desired, you can specify a full URI (Uniform Resource Identifier) path to the data source document as in the following examples: http://www.somewhere.com/some_path/some_file.xml or ftp://user:[email protected]/some_path/some_file.xml The URI is broken down into the appropriate entries for the Host Address, File Path, Protocol, and, optionally, Username, and Password fields. Specifies the IP address or the URL address of the host system where the data source file is found. File Path Specifies the path to the simple flat text file, comma-delimited, tab-delimited, or other consistently delimited format file. The path is relative to the root of the host address. Incremental File Path Specifies the path to the simple flat text file, comma-delimited, tab-delimited, or other consistently delimited format file. The path is relative to the root of the host address. This file, if specified, is downloaded and processed during Incremental Index operations. If no file is specified, the file listed under File Path is used instead. About the Settings menu 223 Option Description Vertical File Path Specifies the path to the simple flat text file, comma-delimited, tab-delimited, or other consistently delimited format file to be used during a Vertical Update. The path is relative to the root of the host address. This file, if specified, is downloaded and processed during Vertical Update operations. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Deletes File Path Specifies the path to the simple flat text file, containing a single document identifier value per line. The path is relative to the root of the host address. This file, if specified, is downloaded and processed during Incremental Index operations. The values found in this file are used to construct "delete" requests to remove previously indexed documents. The values in this file must correspond to the values found in the Full or Incremental File Path files, in the column identified as the Primary Key. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Protocol Specifies the protocol that is used to access the file. You can choose from the following: • HTTP If necessary, you may enter proper authentication credentials to access the HTTP server. • HTTPS If necessary, you may enter proper authentication credentials to access the HTTPS server. • FTP You must enter proper authentication credentials to access the FTP server. • SFTP You must enter proper authentication credentials to access the SFTP server. • File Timeout Specifies the timeout, in seconds, for FTP, SFTP, HTTP or HTTPS connections. This value must be between 30 and 300. Retries Specifies the maximum number of retries for failed FTP, SFTP, HTTP or HTTPS connections. This value must be between 0 and 10. A value of zero (0) will prevent retry attempts. About the Settings menu 224 Option Description Encoding Specifies the character encoding system that is used in the specified data source file. Delimiter Specifies the character that you want to use to delineate each field in the specified data source file. The comma character (,) is an example of a delimiter. The comma acts as a field delimiter that helps to separate data fields in your specified data source file. Select Tab? to use the horizontal-tab character as the delimiter. Headers in First Row Indicates that the first row in the data source file contains header information only, not data. Minimum number of documents for If set to a positive value, this specifies the minimum number of records expected in the indexing file downloaded. If fewer records are received, the index operation is aborted. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Note: This feature is only used during full Index operations. Map Specifies column-to-metadata mappings, using column numbers. • Column Specifies a column number, with the first column being 1 (one). To add new map rows for each column, under Action, click +. You do not need to reference each column in the data source. Instead, you can choose to skip values. • Field Defines the name attribute value that is used for each generated <meta> tag. • Metadata? Causes Field to become a drop-down list from which you can select defined metadata fields for the current account. The Field value can be an undefined metadata field, if desired. An undefined metadata field is sometimes useful to create content used by Filtering Script. See About Filtering Script. When Index Connector processes XML documents with multiple hits on any map field, the multiple values are concatenated into a single value in the resulting cached document. By default, these values are combined using a comma delimiter. However, suppose that the corresponding Field value is a defined metadata field. In addition, that field has the Allow Lists attribute set. In this case, the field's List Delimiters value, which is the first delimiter defined, is used in the concatenation. About the Settings menu Option 225 Description • Primary Key? Only one map definition is identified as the primary key. This field becomes the unique reference that is presented when this document is added to the index. This value is used in the document’s URL in the Index. The Primary Key values must be unique across all of the documents represented by the Index Connector configuration - any duplicates encountered will be ignored. If your source documents don't contain a single unique value for use as Primary Key, but two or more fields taken together can form a unique identifier, you can define the Primary Key by combining multiple Column values with a vertical bar ("|") delimiting the values. • Strip HTML? When this option is checked, any HTML tags found in this field's data is removed. • Action Lets you add rows to the map or remove rows from the map. The order of the rows is not important. Data source type: Feed Enabled Turns the configuration "on" to crawl and index. Or, you can turn "off" the configuration to prevent crawling and indexing. Note: Disabled Index Connector configurations are ignored if they are found in an entrypoint list. Host Address Specifies the IP address or the URL address of the host system where the data source file is found. File Path Specifies the path to the master XML document that contains multiple "rows" of information. The path is relative to the root of the host address. Incremental File Path Specifies the path to the incremental XML document that contains multiple "rows" of information. The path is relative to the root of the host address. This file, if specified, is downloaded and processed during Incremental Index operations. If no file is specified, the file listed under File Path is used instead. Vertical File Path Specifies the path to the XML document that contains multiple sparse "rows" of information to be used during a Vertical Update. The path is relative to the root of the host address. About the Settings menu Option 226 Description This file, if specified, is downloaded and processed during Vertical Update operations. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Deletes File Path Specifies the path to the simple flat text file, containing a single document identifier value per line. The path is relative to the root of the host address. This file, if specified, is downloaded and processed during Incremental Index operations. The values found in this file are used to construct "delete" requests to remove previously indexed documents. The values in this file must correspond to the values found in the Full or Incremental File Path files, in the column identified as the Primary Key. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Protocol Specifies the protocol that is used to access the file. You can choose from the following: • HTTP If necessary, you may enter proper authentication credentials to access the HTTP server. • HTTPS If necessary, you may enter proper authentication credentials to access the HTTPS server. • FTP You must enter proper authentication credentials to access the FTP server. • SFTP You must enter proper authentication credentials to access the SFTP server. • File Itemtag Identifies the XML element that you can use to identify individual XML lines in the data source file that you specified. For example, in the following Feed fragment of an Adobe XML document, the Itemtag value is record: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" ""> <gsafeed> <header> <datasource>marketplace</datasource> <feedtype>incremental</feedtype> </header> <group action="add"> <record url=http://www.adobe.com/cfusion/marketplace_gsa/ index.cfm?event=marketplace.home&marketplaceid=1 action="add" About the Settings menu Option 227 Description mimetype="text/html"displayurl="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.home&marketplaceid=1"> <metadata> <meta name="mp_mkt" content="1"/> <meta name="mp_logo" content="/images/marketplace/ dbreferenced/marketplaceicons/icn_air.png"/> <meta name="title" content="Adobe AIR Marketplace"/> <meta name="description" content="Discover new applications ..."/> </metadata> <content><![CDATA[<html><head><title>Adobe AIR Marketplace</title></head><body>Discover new applications ...</body></html>]]></cntent> </record> <record url=http://www.adobe.com/cfusion/marketplace_gsa/ index.cfm?event=marketplace.home&marketplaceid=2 action="add" mimetype="text/html" displayurl="http://www.adobe.com/cfusion/ marketplace/index.cfm?event=marketplace.home&marketplaceid=2"> <metadata> <meta name="mp_mkt" content="2"/> <meta name="mp_logo" content="/images/marketplace/ dbreferenced/marketplaceicons/icn_photoshop.png"/> <meta name="title" content="Adobe Photoshop Marketplace"/> <meta name="description" content="Extend your creative possibilities ..."/> </metadata> <content><![CDATA[<html><head><title>Adobe Photoshop Marketplace</title></head><body>Extend your creative possibilities ...</body></html>]]>/content> </record> ... <record> ... </record> </group> </gsafeed> Minimum number of documents for If set to a positive value, this specifies the minimum number of records expected in the indexing file downloaded. If fewer records are received, the index operation is aborted. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. Note: This feature is only used during full Index operations. Map Lets you specify XML-element-to-metadata mappings, using XPath expressions. • Tag Specifies an XPath representation of the parsed XML data. Using the example Adobe XML document above, under the option Itemtag, it could be mapped using the following syntax: /record/@displayurl -> page-url /record/metadata/meta[@name='title']/@content -> title /record/metadata/meta[@name='description']/@content -> desc /record/metadata/meta[@name='description']/@content -> body The above syntax translates as the following: About the Settings menu Option 228 Description • /record/@displayurl -> page-url The displayurl attribute of the record element maps to the metadata field page-url. • /record/metadata/meta[@name='title']/@content -> title The content attribute of any meta element that is contained inside a metadata element, that is contained inside a record element, whose name attribute is title, maps to the metadata field title. • /record/metadata/meta[@name='description']/@content -> desc The content attribute of any meta element that is contained inside a metadata element, that is contained inside the record element, whose name attribute is description, maps to the metadata field desc. • /record/metadata/meta[@name='description']/@content -> body The content attribute of any meta element that is contained within a metadata element, that is contained within the record element, whose name attribute is description, maps to the metadata field body. XPath is a relatively complicated notation. More information is available at the following location: See http://www.w3schools.com/xpath/ • Field Defines the name attribute value that is used for each generated <meta> tag. • Metadata? Causes Field to become a drop-down list from which you can select defined metadata fields for the current account. The Field value can be an undefined metadata field, if desired. An undefined metadata field is sometimes useful to create content used by Filtering Script. See About Filtering Script. When Index Connector processes XML documents with multiple hits on any map field, the multiple values are concatenated into a single value in the resulting cached document. By default, these values are combined using a comma delimiter. However, suppose that the corresponding Field value is a defined metadata field. In addition, that field has the Allow Lists attribute set. In this case, the field's List Delimiters value, which is the first delimiter defined, is used in the concatenation. • Primary Key? Only one map definition is identified as the primary key. This field becomes the unique reference that is presented when this document is added to the index. This value is used in the document’s URL in the Index. About the Settings menu Option 229 Description The Primary Key values must be unique across all of the documents represented by the Index Connector configuration - any duplicates encountered will be ignored. If your source documents don't contain a single unique value for use as Primary Key, but two or more fields taken together can form a unique identifier, you can define the Primary Key by combining multiple Tag definitions with a vertical bar ("|") delimiting the values. • Strip HTML? When this option is checked, any HTML tags found in this field's data are removed. • Use for Delete? Used during Incremental Index operations, only. Records matching this XPath pattern identify items for deletion. The Primary Key value for each such record is used to construct "delete" requests, as with Delete File Path. Note: This feature is not enabled by default. Contact Technical Support to activate the feature for your use. • Action Lets you add rows to the map or remove rows from the map. The order of the rows is not important. Data source type: XML Enabled Turns the configuration "on" to crawl and index. Or, you can turn "off" the configuration to prevent crawling and indexing. Note: Disabled Index Connector configurations are ignored if they are found in an entrypoint list. Host Address Specifies the URL address of the host system where the data source file is found. File Path Specifies the path to the master XML document that contains links (<a>) to individual XML documents. The path is relative to the root of the host address. Protocol Specifies the protocol that is used to access the file. You can choose from the following: • HTTP If necessary, you may enter proper authentication credentials to access the HTTP server. • HTTPS If necessary, you may enter proper authentication credentials to access the HTTPS server. About the Settings menu Option 230 Description • FTP You must enter proper authentication credentials to access the FTP server. • SFTP You must enter proper authentication credentials to access the SFTP server. • File Note: The Protocol setting is only used when there is information specified in the Host Address and/or File Path fields. Individual XML documents are downloaded using either HTTP or HTTPS, according to their URL specifications. Itemtag Identifies the XML element that defines a "row" in the data source file that you specified. Map Lets you specify column-to-metadata mappings, using column numbers. • Tag Specifies an XPath representation of the parsed XML data. Using the example Adobe XML document above, under the option Itemtag, you can map it using the following syntax: /record/@displayurl -> page-url /record/metadata/meta[@name='title']/@content -> title /record/metadata/meta[@name='description']/@content -> desc /record/metadata/meta[@name='description']/@content -> body The above syntax translates as the following: • /record/@displayurl -> page-url The displayurl attribute of the record element maps to the metadata field page-url. • /record/metadata/meta[@name='title']/@content -> title The content attribute of any meta element that is contained inside a metadata element, that is contained inside a record element, whose name attribute is title, maps to the metadata field title. • /record/metadata/meta[@name='description']/@content -> desc The content attribute of any meta element that is contained inside a metadata element, that is contained inside the record element, whose name attribute is description, maps to the metadata field desc. • /record/metadata/meta[@name='description']/@content -> body The content attribute of any meta element that is contained within a metadata element, that is contained within the record element, whose name attribute is description, maps to the metadata field body. XPath is a relatively complicated notation. More information is available at the following location: About the Settings menu Option 231 Description See http://www.w3schools.com/xpath/ • Field Defines the name attribute value that is used for each generated <meta> tag. • Metadata? Causes Field to become a drop-down list from which you can select defined metadata fields for the current account. The Field value can be an undefined metadata field, if desired. An undefined metadata field is sometimes useful to create content used by Filtering Script. See About Filtering Script. When Index Connector processes XML documents with multiple hits on any map field, the multiple values are concatenated into a single value in the resulting cached document. By default, these values are combined using a comma delimiter. However, suppose that the corresponding Field value is a defined metadata field. In addition, that field has the Allow Lists attribute set. In this case, the field's List Delimiters value, which is the first delimiter defined, is used in the concatenation. • Primary Key? Only one map definition is identified as the primary key. This field becomes the unique reference that is presented when this document is added to the index. This value is used in the document’s URL in the Index. The Primary Key values must be unique across all of the documents represented by the Index Connector configuration - any duplicates encountered will be ignored. If your source documents don't contain a single unique value for use as Primary Key, but two or more fields taken together can form a unique identifier, you can define the Primary Key by combining multiple Tag definitions with a vertical bar ("|") delimiting the values. • Strip HTML? When this option is checked, any HTML tags found in this field's data are removed. • Action Lets you add rows to the map or remove rows from the map. The order of the rows is not important. See also Editing an Index Connector definition. Editing an Index Connector definition You can edit an existing Index Connector that you have defined. Note: Not all options are available for you to change, such as the Index Connector Name or Type from the Type drop-down list. About the Settings menu 232 To edit an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Index Connector page, under the Actions column heading, click Edit for an Index Connector definition name whose settings you want to change. 3. On the Index Connector Edit page, set the options you want. See Index Connector options. 4. Click Save Changes. 5. (Optional) On the Index Connector Definitions page, click rebuild your staged site index. 6. (Optional) On the Index Connector Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Viewing the settings of an Index Connector definition You can review the configuration settings of an existing index connector definition. After an Index Connector definition is added to the Index Connector Definitions page, you cannot change its Type setting. Instead, you must delete the definition and then add a new one. To view the settings of an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Index Connector page, under the Actions column heading, click Edit for an Index Connector definition name whose settings you want to review or edit. Copying an Index Connector definition You can copy an existing Index Connector definition to use as the basis for a new Index Connector that you want to create. When copying an Index Connector definition, the copied definition is disabled by default. To enable or "turn on" the definition, you must edit it from the Index Connector Edit page, and select Enable. See Editing an Index Connector definition. To copy an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Index Connector page, under the Actions column heading, click Copy for an Index Connector definition name whose settings you want to duplicate. 3. On the Index Connector Copy page, enter the new name of the definition. 4. Click Copy. 5. (Optional) On the Index Connector Definitions page, do any of the following: • Click History to revert any changes that you have made. About the Settings menu 233 See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Renaming an Index Connector definition You can change the name of an existing Index Connector definition. After you rename the definition, check Settings > Crawling > URL Entrypoints. You want to ensure that the new definition name is reflected in the drop-down list on the URL Entrypoints page. See Adding multiple URL entry points that you want indexed. To rename an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Index Connector page, under the Actions column heading, click Rename for Index Connector definition name that you want to change. 3. On the Index Connector Rename page, enter the new name of the definition in the Name field. 4. Click Rename. 5. Click Settings > Crawling > URL Entrypoints. If the previous Index Connector's name is present in the list, remove it, and add the newly renamed entry. See Adding multiple URL entry points that you want indexed. 6. (Optional) On the Index Connector Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting an Index Connector definition You can delete an existing Index Connector definition that you no longer need or use. To delete an Index Connector definition 1. On the product menu, click Settings > Crawling > Index Connector. 2. On the Index Connector Definitions page, under the Actions column heading, click Delete for the Index Connector definition name you want to remove. 3. On the Index Connector Delete page, click Delete. About the Settings menu 234 About the Searching menu Use the Searching menu to set excluded words, collections, restrictions, preview, and frames. About Searches You can use Searches to define and customize the named searches that your presentation templates can reference. In your presentation template you can reference any named search that is defined within the Searches module. In turn, this lets you easily customize the type of a search that is done for a given set of templates. To exclude frequently used phrases and common words from your search results, see Configuring Excluded Words. To define specific, searchable areas of your website, see Adding collections. To specify a target frame for search result links, see Using frames with forms. To restrict searches based on HTTP referrer, IP address, or request scheme (HTTP or HTTPS) see Setting values in Preview. Search tips To get more specific search results, you can use the following search tips. Search tip Description Check spelling Make sure that your search terms are spelled correctly. If Sound-Alike Matching is enabled in Linguistics > Words & Languages, the search engine attempts to find words that sound similar to your search terms. However, it is always best to try to spell the search terms correctly. See About Words & Language. Use multiple words Example: our free product Multiple-word queries return more refined results than single-word queries. For example, our free product returns more relevant results than just product. Remember that relevant results are returned even if they do not contain all query terms. Use similar words Example: safe secure privacy security The more similar words that you can use in a search query, the more relevant are your search results. Use appropriate capitalization Example: Search Template Reference Capitalize proper nouns. If you use a lowercase word, the search engine matches any case of the word. About the Settings menu Search tip 235 Description For example, if you type search, the search engine returns all documents that contain the words "search", "Search", and "SEARCH". However, if you type Search, the search engine returns documents that only contain the capitalized word. Use quotation marks Example: "our pledge to you" Use quotation marks to find words that must appear adjacent to each other, such as "our pledge to you". Without the surrounding quotes, the search results include the words "our", "pledge", "to", and "you", but not necessarily in that order. Instead, the words may appear anywhere, and in any order, within the document. if you are using the Advanced Search Form with radio buttons for any, all, and phrase, then you can only use quotes when any is selected. Quotes are ignored if all or phrase is selected. Use + (plus) or - (minus) Example: +"template language" Use + to indicate that a search term or phrase must appear in the search results. Use - to indicate that a search term or phrase must be absent from the search results. You must contain a phrase within quotation marks. Leave no spaces between the plus or minus sign and the search term, as in the example above. if you are using the Advanced Search Form with radio buttons for any, all, and phrase, then you can only use quotes when any is selected. The plus and minus modifiers are ignored if all or phrase is selected. Use field searches Examples: • title:about • desc:"Our Team" • keys:login • body:security • alt:"join now" • url:help • target:Adobe Field searches let you create specific searches for words that appear in a specific part of a document. About the Settings menu Search tip 236 Description You can perform a field search on body text (body:), title text (title:), alt text (alt:), meta description (desc:), meta key words (keys:), URL (url:) or meta target key words (target:). Use lowercase for the field name and immediately followed by a colon. There are no spaces between the colon and the search term. The field searches are only followed by a word or phrase. Phrases must be contained within quotation marks. if you are using the Advanced Search Form with a list box for the field name, then you can only enter field names before a word or phrase when any is selected. Specific field names are ignored if any other Advanced Search Form field is selected in the list box. Use wildcards Examples: • wh* • "wh* are" • 415-*-* Wildcard searches expand the number of matches for a particular request. The * character is used as the wildcard character. For example, searching for wh* finds the words "what", "why", "when", "whether", and any other word that starts with "wh". Searching for *her* finds the words "here", "whether", "together", "gathering", and any other word that contains "her" anywhere within the word. You can combine wildcards with + and - modifiers, quotes for phrases, as well as the field search specifiers. The search +wh* -se*ch finds all pages that have a word that starts with "wh" and does not contain a word that starts with "se" and ends with "ch". The search "wh* are" finds the phrases "where are", "what are", "why are", and so forth. Adding a new search definition You can use the GS Add Search panel to configure and add a new search definition for your Guided Search components such as facets, breadcrumbs, page navigation, menus, and recent searches, in the presentation layer. After you add your new search definition, be sure you reference it in your presentation template so that it shows up. See About Templates. About the Settings menu 237 To add a new search definition 1. On the product menu, click Settings > Searching > Searches. 2. On the Searches page, click Add New Search. 3. On the GS Add Search page, set the options that you want. See GS Search options. 4. Click Add. 5. (Optional) On the Searches page, do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. GS Search options A table that describes the options that are available on the GS Add Search panel and the GS Edit Search panel for any given search. These options affect the results that are returned for presentation templates that reference the search. Be aware that the processing rules that select your presentation template can override some of these options. See Adding a new search definition or Editing a search definition. Option Description Search Name Identifies the name of the defined search. Source Lets you select the back-end search that you want to use. You can select from SiteSearch or Merchandising. Account This option is only available if you chose Search&Promote as your source. Lets you select the site search/merchandising account that you want to search. Typically, a search searches in the account that you are currently using. However, your presentation template can use a back-end search for any of your other accounts. Server Name/IP This option is only available if you chose Merchandising as your source. Specifies the full name of the Merchandising server that the Merchandising search should access. Server Port This option is only available if you chose Merchandising as your source. About the Settings menu Option 238 Description Specifies the Merchandising server port number. Pyramid This option is only available if you chose Merchandising as your source. Specifies the pyramid within the Merchandising server. Number Of Results Specifies the number of search results that you want returned. Number Of First Page Results (if different) Specifies the number of results that are returned at first page. Use this option if you need to have it different from other pages. Number Of Columns Specifies the number of columns that the search results are split over. Type Of Searching This option is only available if you chose Search&Promote as your source. Lets you select from the following three types of search. • all Searches for documents that contain all of the words in the query string. Use of "+" and "-" before search words is disabled and those characters are ignored. • any Use of "+" and "-" word prefixes are allowed. • phrase The query string is treated as if it were a quoted phrase, and all user-typed quotes are ignored. Use of "+" and "-" before search words is disabled and those characters are ignored. If you want each word in a query to potentially select a facet value, then your primary search should always use all. You can review search tips regarding the use of the + and modifiers in a search query. See About Searches. Collection This option is only available if you chose Search&Promote as your source. About the Settings menu Option 239 Description Identifies the collection within your index that you want to search. Promosearch This option is only available if you chose Search&Promote as your source. Lets you use a random selection from the search results, subject to the Number Of Results that you specified. Promosearch is a legacy concept. As such, we recommend that you use the new banner management system within site search/merchandising. See About Banners. Apply facet parameters This option is only available if you chose Search&Promote as your source, and you selected Promosearch. Specifies that a promotional search use the selected facets to narrow down the promotions. Most promosearch accounts do not use this option. Provide default promotion if no matching promotion This option is only available if you chose Search&Promote as your source, and you selected Promosearch. Specifies that another search for a promotion occur if the initial search for a promotion does not find anything. The second search for a promotion drops the keyword. Instead, it looks for any promotion where an "is_default" metadata field is set to "yes". Highlight Search Pulls out a select number of results from the main search that you want to highlight in a "hero-zone". Typically, highlight searches have a similar search criteria to the main search but with a different ranking mechanism to highlight certain results. The software removes the duplicates from the main search. Base Search This option is only available is you selected Highlight Search. Lets you select the search that has the results that you are highlighting results from. Duplicates are removed from this search. DeDupe Priority This option is only available is you selected Highlight Search. Lets you have multiple highlight searches. About the Settings menu Option 240 Description When you have multiple highlight searches you need to specify the priority of de-duplication, where "1" is the highest priority. For example, suppose you have two highlight searches: bestsellers and new products. Theoretically. it is possible that a best-seller is also a new product. In this case, you want the duplicate removed from the new products and the main search. Therefore, you set the priority of bestsellers to 1 and the priority of new products to 2. Parameter Lets you add CGI parameters to the search. See Backend search CGI parameters. See Adding a new search definition or Editing a search definition. Editing a search definition You can use the Staged GS Edit Search panel to reconfigure an existing search definition for your Guided Search presentation layer. After you edit the search definition, be sure that you have referenced it in your presentation template so that it shows up. See About Templates. To edit a search definition 1. On the product menu, click Settings > Searching > Searches. 2. On the Searches page, in the table, click Edit in the row of the definition that you want to change. 3. On the GS Edit Search page, set the options that you want. See GS Search options. 4. Click Save Changes. 5. (Optional) On the Searches page, do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a search definition You can delete a guide search definition that you no longer need or use. See About Templates. To delete a search definition About the Settings menu 1. 2. 3. 4. 241 On the product menu, click Settings > Searching > Searches. On the Searches page, in the table, click Delete in the row of the definition that you want to remove. In the Confirmation dialog box, click OK. (Optional) On the Searches page, do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Pinned Results Keyword Manager You can manually pin search results to a specific location. These pinned results are associated with a specific search query or keywords. You can use Pinned Result Keyword Manager to manage all of the keywords with pinned results. Adding a new keyword You can add new keywords and their pinned results. At the time you add a new keyword, you can reorder the search results and pin them to a specific position. To add a new keyword 1. On the product menu, click Settings > Searching > Pinned Results. 2. On the Pinned Keyword Results Manager page, click Add New Keyword. 3. On the Add New Keyword page, in the Keyword field, enter a search query, and then click Search Keyword. Be sure that you follow the rules for the keyword search. See Keyword options. 4. (Optional) Do any of the following: • Reorder the search results. See Keyword options. • Click Edit Table to adjust the view of the Simulated Search Results table. When you have finished, click Save Changes to return to the Add New Keyword panel. 5. Click Save Search Results. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Pinned Results Keyword Manager page, do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. About the Settings menu • 242 Click Push Live. See Pushing stage settings live. Keyword options Describes the features and functionality of the Staged Add New Keyword panel and the Staged Edit Keyword panel. Keyword search rules to follow The search query that you enter in panel has the following rules: • Leading and trailing spaces are deleted from the query. • No special search characters are allowed such as the following: • Wildcard matching with asterisks (*). • No must-have's or must-not-have's using plus or minus (+ or -). • No field specifier with the colon character (:). • No commas or double quotes (, or "). • Multiple terms or words separated by spaces in the query are allowed. • Uppercase letters are converted into lowercase letters. The search terms are remembered exactly as is; you must use the exact same search terms again to get the exact same results. Pinned results do not support case sensitivity. All keywords have their uppercase letters converted to lowercase letters. Reordering the search results When you search on a keyword in the Stage Add New Keyword panel or the Staged Edit Keyword panel, the search results reflect what could happen after the next index operation. You can reorder the search results in the table using one of three different methods. The first method is by using the Pinned checkbox. The checkbox is used to pin a result to a specific position. When you select the checkbox, all search results above the checkbox are also pinned. This functionality ensures that all results above that checkbox appear in that specific order. Unpinning a search result causes it to drop below all currently pinned results. The second method is by using drag-and-drop in the table. You can move a result to a new position with drag-and-drop. After dragging a result to a new location, all results above the new location are pinned. This automatic pinning ensures that the rest of the results will appear above the recently dragged result. The third method is to set the order of pinned results by entering a specific position in the "#" column. Unlike with drag-and-drop, the order of the simulated search results are only obvious the next time you open the Staged Edit Keyword panel. Setting the order number for a currently unpinned row ensures that at least that many items get pinned. Setting the order number for a currently pinned row sets the order of that item within the items that are currently pinned. However, it does not increase the number of pinned items. When you save the search results, you can view the results again by entering the exact same query into the Keyword field. The Pinned Results table editor You can use the Edit Table button to adjust how you view the table of search results. For example, you can use the list of columns to reveal or hide specific columns. You can also rearrange the order of the columns using drag-and-drop. The following table describes the column properties that are in the table editor. About the Settings menu 243 Column Description Order Specifies the numerical order of the appearance of the columns. You can drag-and-drop the columns to automatically update the order. Field Name Identifies the name of the column header that appears in the Simulated Search Results table of the Staged Add New Keyword panel and the Staged Edit Keyword panel. Include The column appears in the Pinned Results Table if the box is checked. If the box is empty or deselected, the column disappears from the table. Display URL as Image If the meta field that is assigned to this column has URLs to graphics or pictures, checking this box places HTML image tags around it and the picture appears. Missing pictures or bad links are empty. Field Length Lets you enter the maximum length of text for display before it is truncated with ellipses (...). If the column is set to display URLs as images, this field has no effect. Be sure that you click Save Changes when you have finished. You can revert any changes that you make in the Pinned Results Table Editor by using the History feature. About the pinned search results Search results are often ordered by the relevancy score. However, a pinned search result ignores the relevancy score and attempts to override the natural order with its predetermined position. By ensuring that the result stays relatively where it is, other known search results above it have to be pinned. The search results that are displayed on the panel simulate what appears after the next index. However, changes from the original document or certain configuration changes in the Member Center can produce results with discrepancies. For example, changing the content of a document are not known until after the index. Pinned results appear in a similar or same order after the index because they ignore relevancy. Unpinned results fall back to their natural position after an index; the order of unpinned results is not guaranteed. Editing a keyword You can edit existing keywords and their pinned results. At the time you edit a keyword, you can reorder the search results and pin them to a specific position. To edit a keyword 1. On the product menu, click Settings > Searching > Pinned Results. 2. On the Pinned Keyword Results Manager page, in the table, click Edit in the row of the keyword that you want to change. About the Settings menu 244 3. On the Edit Keyword page, in the Keyword field, enter a search query, and then click Search Keyword. Be sure that you follow the rules for the keyword search. See Keyword options. 4. (Optional) Do any of the following: • Reorder the search results. See Keyword options. • Click Edit Table to adjust the view of the Simulated Search Results table. See Keyword options. When you have finished, click Save Changes to return to the Add New Keyword panel. 5. Click Save Search Results. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Pinned Results Keyword Manager page, Do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a keyword You can delete keywords that you no longer need or use. At the time you add a new keyword, you can reorder the search results and pin them to a specific position. To delete a keyword 1. 2. 3. 4. On the product menu, click Settings > Searching > Pinned Results. On the Pinned Keyword Results Manager page, in the table, click Delete in the row of the keyword that you want to remove. On the Delete Keyword page, click Delete. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 5. (Optional) On the Pinned Results Keyword Manager page, Do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. About the Settings menu 245 See Pushing stage settings live. About Collections You can use Collections to allow customers to search specific areas of a website so that they can quickly find what they are looking for. See About Searches. See Using collections in search forms. For example, customers can search a collection of URLs that are related to product sales or to support services. Before customers can use the collections that you specify, be sure that you update your search form under the Search Form menu. Before the effects of the Collections settings are visible to customers, rebuild your site index. You can test your collections by entering one of your website URLs in the optional Test Collections field, and then clicking Test. The collection to which the specified page belongs is returned. Each collection is specified on a single line with a name and a URL mask. A URL mask can consist of the following: • a full path such as http://www.mydomain.com/products.html • a partial path such as http://www.mydomain.com/products • a regular expression To make a mask a regular expression, you insert the keyword regexp between the collection name and the URL mask. See Regular Expressions. Each line in the Collections field can contain only one URL mask. However, you can specify multiple URL masks for the same collection name on different lines. The following example contains four different collection names and five URL masks: Company Info http://www.yoursite.com/company Products http://www.yoursite.com/products FAQs regexp ^.*/faqs Support http://www.yoursite.com/email_support/ Support http://www.yoursite.com/phone_support/ In this example, after you have updated the search form to include these collections, customers can select and search each defined collection individually. The Support collection includes files that match both the URL masks, so that files in both www.yoursite.com/email_support/ and www.yoursite.com/phone_support are searched when this collection is selected. Adding collections You can add collections to allow customers to search specific areas of your web site so that they can quickly find what they are looking for. Be sure that you rebuild your site index so that the results of your URL masks are visible to your customers. See Configuring an incremental index of a staged website. To add collections 1. On the product menu, click Settings > Searching > Collections. 2. In the Collections field, enter a collection name and URL mask address, one per line. 3. (Optional) On the Collections page, in the Test Collections field, enter a test URL mask from your website, and then click Test. About the Settings menu 246 A test collection output window is displayed showing you the URL and the name of the collection. 4. When you are finished adding collections, click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Collections page, do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Restrictions Before a search is performed, the referring URL and IP address are examined to determine if a search is possible from that location. What you have specified in Restrictions determines whether the search is permitted. If a search is not permitted, a generic error page is returned to the requestor. You can specify restriction settings as either referrer URL Masks or IP address masks. Both types of restrictions use include masks to permit searches and exclude masks to deny them. A search is permitted if it passes both the referrer URL and the IP address restriction criteria. If either setting does not permit the search, the search fails, regardless of other restrictions that allow it. For example, if the "HTTP referrer" field of a search request matches an "exclude" referrer URL mask, the search fails, even if the requesting IP address matches an "include" IP address mask. If no mask matches the referrer URL or IP address, the location is included by default. Enter each include mask or exclude mask on a single line. Adding referrer URL mask or IP address mask restrictions You can specify restriction settings as either "Referrer URL Masks" or "IP Address Masks." Both types of restrictions use include masks to permit searches and exclude masks to deny them. A search is permitted if it passes both the referrer URL and IP address restriction criteria. To add referrer URL mask or IP address mask restrictions 1. On the product menu, click Settings > Searching > Restrictions. 2. On the Restrictions page, set the restriction options that you want. Enter referrer URL mask addresses, IP address mask addresses or, optionally, a URL address of a customized web page that is displayed to customers who are not permitted to search your site. See Restriction options. 3. Click Save Changes. 4. (Optional) Do any of the following: • Click History to revert any changes that you have made. Using the History option. About the Settings menu • 247 Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Restriction options A table that describes the options that are available on the Restrictions page. Option Description Referrer URL Masks The referrer URL from the HTTP referrer header is read. The first mask that matches the referrer URL determines whether to allow the search, if the mask is an include mask. Or, it determines whether to disallow the search, if the mask is an exclude mask. If no mask matches the referrer URL, that URL is included and the search is allowed. If your search template contains a new search form or if your search template can contain links like "Next 10", "Previous 10", or "Hide Summaries", then you list your search results template as an "include" mask. The easiest way to do that is with the regular expression as in the following example: include regexp ^https?://[^/]*\.atomz\.com/.*[?&]sp_a=sp1000130e.*$ The following example contains five different referrer URL masks: include http://www.mydomain.com/search/ include http://search.mydomain.com/ include regexp ^http://www.mydomain.com/help/.*/search/ include regexp ^https?://[^/]*\.atomz\.com/.*[?&]sp_a=sp1000130e.*$ exclude * If the referrer URL masks are the following: http://www.mydomain.com/search/searchpage.html [then search is allowed] http://search.mydomain.com/advanced/ [then search is allowed] http://www.mydomain.com/help/products/search/advanced/ [then search is allowed] http://www.mydomain.com/help/products/ [then search is disallowed] http://www.anotherdomain.com/ [then search is disallowed] blank [then search is disallowed] IP Address Masks The first mask that matches the IP address determines whether to allow the search, if the mask is an include mask. Or, it determines whether to allow or disallow the search if the mask About the Settings menu Option 248 Description is an exclude mask. If no mask matches the requesting IP address, that IP address is included and the search is allowed. The following example below shows four different IP address masks. include include include exclude 64.128.192.* 192.168. regexp ^209\.42\.97\.[1-5]+ * If the referring IP address masks are the following: 64.128.192.10 192.168.10.127 209.42.97.14 64.128.193.10 192.169.10.14 209.42.97.68 [then search is allowed] [then search is allowed] [then search is allowed] [then search is disallowed] [then search is disallowed] [then search is disallowed] Only allow searches that use HTTPS Restrict searches to HTTPS. URL to Which Disallowed Requests Should Be Sent Restricted users are redirected to the URL that you enter here. This option provides a means for you to craft your own custom error page to display to customers who are not permitted to search your site. If you do not specify a URL, a generic error page is returned when a restricted user attempts to search your site. About Preview The query string and parameters that you set in Preview are used any time a search form is tested or previewed in the software. See also About Searches. Setting values in Preview The preview values that you set are used any time a search form is tested or previewed in the software. To set values in Preview 1. On the product menu, click Settings > Searching > Preview. 2. On the Preview page, set the options that you want. See Preview options. 3. Click Save Changes. 4. (Optional) Do any of the following: • Click History to revert any changes that you have made. Using the History option. • Click View Live Settings. About the Settings menu 249 See Viewing live settings. • Click Push Live. See Pushing stage settings live. Preview options A table that describes the options that are available on the Staged Preview page. Option Description Query By default, the query string is set to *, which usually returns results. However, you can specify a query that is more specific to your website's content. Parameters Parameters are set with a name and value. You can specify as many additional parameters as you need. For example, you can specify additional search criteria with sp_q_1 and sp_x_1 parameters. The parameter value sp_q_1=windows&sp_x_1=platform creates a preview search that looks for the value "windows" in the "platform" meta tag of searched pages, in addition to the main query. See Backend search CGI parameters. Host If your website uses private domain labeling, set the proper host name to accurately preview your search results. For information about private domain labeling, contact Customer Support. About Feeds The search index is viewed as a large database of your website. With enough information from the correct meta tags, information is collected and organized, or syndicated, into data feeds. You can submit these data feeds to another service, such as a third-party recipient. After your website is crawled and indexed, you can generate automatic feeds and submit them to third-party organic search engines and shopping engines. You can create the following stream feeds: Feed type Description Adobe Recommendations Recommendations feeds provide data syndication capabilities with Adobe Recommendations. Generic Feed You can implement many feeds with the Generic Feed type. A custom search query is made against your website's index. The data is returned through customized search templates using the same About the Settings menu Feed type 250 Description template language for displaying search results. This kind of flexibility means that you can submit feeds to many more vendors, not just to specific feed types. You can add the transport (search) template by using the instructions in the following Help topic: See Adding a new presentation or transport template file. After you add the template, edit it using search template tags to define which search metadata fields that you want to include, along with their format. See Editing a presentation or a transport template. See Search template tags. Be sure you remember the name of the transport template file. You use the name to bind the generic feed to the template when you specify the feed's criteria. If you have worked previously with other feeds, you remember that you map the feed fields to the search metadata fields. Generic Feeds does not have this specific step in the Create Feed wizard. Instead, the template specifies the metadata and the formatting of the metadata. Google Merchant Google Merchant Center lets people sell products through several Google services. It has a data syndication component where you can submit a list of available products for sale on a periodical basis. As with any third-party feed vendor, Google Merchant Center has specific standards that you meet before they deem the feed legitimate. For more information, please contact your customer representative and visit Google Merchant documentation. Here is a quick summary what Google Merchant Center considers while validating a feed: • Each product has a product page; a dedicated URL. • Each product variant has a separate entry in the feed. • Each product has an image URL, preferably originating from your server. Product variants have specific images showing its actual variations. In other words, different shoe colors should not share the same image. • Each product has specific information such as availability, condition, description, category, and price. • In general, each product has a unique identifier such as ISBN, UPC, JAN, or EAN, and so on. • In general, each product is classified with Google's product taxonomy. • Apparel products have extra required fields such as gender, age group, color, and size. • Tax and shipping are specified as an account setting within Google Merchant Center or on the product-by-product basis, within this feed. • Custom-made products and certain apparel products can be exempted from some of the rules, but you must contact Google for permission and details about such exemptions. There are many details that govern feed validation. See the Google Merchant documentation for information about feed management. Google frequently makes changes to the specifications, so check the documentation often. The feed that is associated with Google Merchant Center is often referred to as the Google Product Search feed. About the Settings menu 251 Feed type Description Google Sitemaps Google Sitemaps provides a way for you to influence how Google crawls your website. A syndicated data feed, a sitemap in this case, is periodically submitted to Google Sitemaps. The sitemap contains Internet-reachable URLs and specific information, such as last modification date or page priority, can be associated with each URL. Providing Google with such information can increase the frequency and chance a specific page would be crawled and indexed. In some cases, a sitemap is used to advertise a list of links which cannot be accessed by their crawler under normal circumstances. If you are interested creating a Google Sitemap with our feed feature, please contact your customer representative. Google has made their Google Sitemap service available to the general public and they provide documentation at their Google Webmaster Tools page. Requirements for creating a Google Sitemap feed To create a Google Sitemap feed, be sure you have a Google Webmaster Tools account with Google Sitemap already set up. See the Google Webmaster Tools documentation for setting up Google Sitemap. You also need to determine how the sitemap files are delivered. In general, the sitemap files come from your domain and, specifically, the root of your web site. The simple model is to have the files delivered by way of FTP to your servers. The other solution is to redirect the request of the sitemap files to the site search/merchandising Content Network. Contact your consulting representative about coordinating and setting up the delivery of sitemap feeds. If you are interested in automatic feeds, please contact professional services for assistance. Each feed has stringent requirements when it comes to the quality of data and transmission of the files. The feed type that you select affects which options appear when you construct a field using the Create Feed wizard. Each type of feed has different data formats. Be sure that you follow the proper data format to avoid the rejection of a feed by a feed recipient or posting improper data to your customers. Besides the data format, vendors usually have one or more preferred ways of receiving the data. Consult the vendor's documentation about their feeds. A challenge with creating a feed is matching the data between site search/merchandising and the feed. Usually the data that is retrieved from index crawling is in the wrong format or it is missing. The following is a list of questions that can help you focus on what to look for when you create a feed. • What type of business relationship do you have with the feed recipient? • Do you have to register and create an account with the feed recipient? • Who is going to monitor and take care of issues that come up with the feed in respect to the vendor? In general, it is your responsibility to manage the vendor's account. For example, Google Sitemap requires a WebMaster account and someone to monitor the health of the sitemap. • What is the data format of the feed? • Does your index match the character encoding of the feed? Tab-delimited and comma-delimited data formats become a problem when your data has tabs or commas. • What do you when you have tabs or commas in your data? • Are there any pages in your index with empty data? • Can the feed recipient accept empty data? You may be able to resolve empty data by editing the criteria how data is retrieved by the software. • Does the data format lineup with what the feed recipient wants? For example, some feed recipients are specific about how prices and currency are displayed. About the Settings menu 252 • Does the vendor have a maximum number of items that they can accept? You can resolve this potential issue by limiting the results with the search criteria. • How does the vendor want to receive the feed? FTP submissions and HTTP hosting are supported. Creating a feed You can create one or more data feeds. To create a feed 1. On the product menu, click Settings > Searching > Feeds. 2. On the Feeds page, select a feed type from the Create Feed drop-down list. 3. Depending on the feed type you selected, in the Create Feed dialog box, set the options as identified in each panel of the wizard. See Feed options. 4. When you complete the steps in the wizard, click Close. Feed options Tables that describe the options that are available when you create or edit different types of feeds. Depending on the feed type that you are creating or editing, the available options differ slightly. • Adobe Recommendations • Generic Feed • Google Merchant Center • Google Sitemaps Adobe Recommendations See also About Feeds. Panel Wizard Panel Name Description 1 Feed Name Specifies the name of the feed. 2 Field Maps Lets you map vendor-specific feed fields to site search/merchandising metadata fields. This mapping step in the wizard is important because it allows Feeds to correlate the information between the fields in the index and the fields in the feed data. In most cases, except for Generic Feeds, the correlations are saved in a dynamically generated search template. Each row in the Field Maps table represents a field mapping. In the Add/Remove column of the table, click + to add a new field mapping row; click - to delete the currently selected field mapping row from the table. To associate a feed field with a site search/merchandising metadata fields, use the respective drop-down lists to choose the desired fields. Field mappings for Adobe Recommendations The Recommendation data feed is a CSV file, columns of data separated by commas. The order of appearance of each mapping on the Field Maps table is important as they determine the order of the columns in the CSV feed file. Create the rows of mappings in the following order—each row is mandatory: About the Settings menu Panel Wizard Panel Name 253 Description 1. id 2. name 3. categoryId 4. message 5. thumbnailURL 6. value 7. pageURL 8. inventory 9. margin Advanced usage After you have mapped the first nine required Feed Fields as outlined above, you can create your own custom fields. In the Feed Fields drop-down list, click Custom. In the associated text field, enter a custom tag name for that field. This custom option is useful if a feed needs special vendor-specific fields. Note: Although the Recommendation Feed specifications states that each field name must be prefixed with "entity", it is not necessary in this case. You can also create a custom metadata field. In the Metadata Fields drop-down list, click Custom. In the associated text field, enter a custom metadata field value. The value is inserted into the pre-generated template and it can also be used to inject custom search template tags. See Search template tags. 3 Search Criteria When the feed files are generated, a search query is used to filter the data. You define the filters that are used for the search query in this panel. • Meta Field Defines which metadata field that you want to filter on. Advanced usage Because the filtering system is a standard search query, you can select Free Form from the drop-down list to enter CGI search parameters and their values. URL escaping is required. The search argument sp_q is ignored. You can create multiple rows of Free Form text boxes. Between each row, the arguments are delimited with &'s automatically. See Search CGI parameters. • Criteria Defines the filter operation. The filter operation that you select from the drop-down list applies the constant value that is entered in the third column. • Value About the Settings menu Panel Wizard Panel Name 254 Description The constant value. • Action Adds a new field mapping row, or deletes the currently highlighted row. 4 File Submission Lets you configure the schedule for submitting the feed files and set the method that you want to use to upload the files. • Schedule Sets the maximum frequency that a feed is submitted. Selecting Never turns off the feed. Other values define the period that the feed waits before submitting again. The decision when to submit the feed is done at each index. In other words, at the end of the index, a feed is checked to see if it has expired and needs to be updated and submitted by the vendor. Also, it is used as a method of preventing an account from over-submitting to a vendor. Some vendors have policies against data feed sources that upload too frequently. Be sure that you check the data feed vendor's policy about the frequency of submissions. • Upload Method Most feeds have two ways of distributing the files: FTP and Hosted Content Network. • FTP Site search/merchandising servers use passive FTP. FTP is the only way to push a file to another server. FTP Server – Specifies the name of the FTP server. Do not include the protocol or preceding "ftp://". FTP User Name – Specifies the name of the FTP account. FTP Password – Specifies the password of the FTP account. FTP File Name – Specifies the name of the file to transmit. This name is a template if the feed generates multiple files, usually incrementing a number at the end of the name but before the extension. For example: basename.xml, basename1.xml, basename2.xml, ... , basename-Nth.xml FTP Directory – If a specific directory path is required, you enter it here. Do not include the filename in the path. • Hosted Content Network The Content Network is the means of serving files from the web servers of site search/merchandising. The recipient of the feed pulls it from the web servers using an HTTP request. The only piece of information to set this up is Content Network Filename. The filename is the base name of the file that is served. Use only filenames with a filename extension. Depending on the feed, the filename is a template for multiple files where the feed might generate multiple files in the following format: basename.xml, basename1.xml, basename2.xml, ..., basename-Nth.xml. About the Settings menu Panel Wizard Panel Name 255 Description After the base filename is entered and the feed is successfully saved, the URL of the Content Network file is displayed on the Verification panel of the wizard. The URL becomes active after the feed is successfully processed. The vendor can get the feed data from this URL. Multiple files use the same URL path. However, be sure that you replace or change the filename according to the enumeration scheme. 5 Verification When you get to the Verification panel, your feed is saved at that point. However, the actual feed files are not saved until later. The Verification panel lets you do the following: • Data View Lets you click the link to check the feed output through a data view that is displayed in table form. The data view can also help you troubleshoot by showing you which meta fields are chosen and how any specified search criteria from the Search Criteria panel in the wizard, affects the feed output. The data view is generated dynamically, so it is available at all times. • Feed Files After site search/merchandising servers generate the feed files, you can use the Feed Files drop-down list to view the files from the servers. A new browser tab or new browser window appears with the content of the feed. This method is useful for helping you troubleshoot feeds that have formatting issues. Note that you do not view the files from the final destination or from the vendors themselves. If the feed is new, then the drop-down list is empty until you generate feed files. • Content Network Link If you chose Hosted Content Network as your upload method in the File Submission panel of the wizard, the URL is displayed here. If you have not yet generated any feed files, the URL is not valid until the feed is successfully generated. Generic Feed See also About Feeds. Panel Wizard Panel Name Description 1 Feed Name Specifies the name of the feed. 2 Search Criteria When the feed files are generated, a search query is used to filter the data. You define the filters that are used for the search query in this panel. • Meta Field About the Settings menu Panel Wizard Panel Name 256 Description Defines which metadata field that you want to filter on. Advanced usage Because the filtering system is a standard search query, you can select Free Form from the drop-down list to enter CGI search parameters and their values. URL escaping is required. The search argument sp_q is ignored. You can create multiple rows of Free Form text boxes. Between each row, the arguments are delimited with &'s automatically. See Search CGI parameters. • Criteria Defines the filter operation. The filter operation that you select from the drop-down list applies the constant value that is entered in the third column. • Value The constant value. • Action Adds a new field mapping row, or deletes the currently highlighted row. Generic feeds need a special CGI parameter specified. To bind the special template that is associated with this feed, you define the sp_t parameter. Set the value of sp_t to the name of the transport template file. For example, if you added a transport template file named super_feed.tpl, you create a custom CGI search parameter as sp_t=super_feed. The text box for entering the sp_t does not appear until you select Free Form from the Meta Field drop-down list. 3 File Submission Lets you configure the schedule for submitting the feed files and set the method that you want to use to upload the files. • Schedule Sets the maximum frequency that a feed is submitted. Selecting Never turns off the feed. Other values define the period that the feed waits before submitting again. The decision when to submit the feed is done at each index. In other words, at the end of the index, a feed is checked to see if it has expired and needs to be updated and submitted by the vendor. Also, it is used as a method of preventing an account from over-submitting to a vendor. Some vendors have policies against data feed sources that upload too frequently. Be sure that you check the feed vendor's policy about the frequency of submissions. • Upload Method Most feeds have two ways of distributing the files: FTP and Hosted Content Network. • FTP Site search/merchandising servers use passive FTP. FTP is the only way to push a file to another server. About the Settings menu Panel Wizard Panel Name 257 Description FTP Server – Specifies the name of the FTP server. Do not include the protocol or preceding "ftp://". FTP User Name – Specifies the name of the FTP account. FTP Password – Specifies the password of the FTP account. FTP File Name – Specifies the name of the file to transmit. This name is a template if the feed generates multiple files, usually incrementing a number at the end of the name but before the extension. For example: basename.xml, basename1.xml, basename2.xml, ... , basename-Nth.xml FTP Directory – If a specific directory path is required, you enter it here. Do not include the filename in the path. • Hosted Content Network The Hosted Content Network is the means of serving files from the web servers of site search/merchandising. The recipient of the feed pulls it from the web servers using an HTTP request. The only piece of information to set this up is Content Network Filename. The filename is the base name of the file that is served. Use only filenames with a filename extension. After the base filename is entered and the feed is successfully saved, the URL of the Content Network file is displayed on the Verification panel of the wizard. The URL becomes active after the feed is successfully processed. The vendor can get the feed data from this URL. • Preserve tabs? Maintain tab characters in the feed. 4 Verification When you get to the Verification panel, your feed is saved at that point. However, the actual feed files are not saved until later. The Verification panel lets you do the following: • Data View Lets you click the link to check the feed output through a data view that is displayed in table form. The data view can also help you troubleshoot by showing you which meta fields are chosen and how any specified search criteria from the Search Criteria panel in the wizard, affects the feed output. The data view is generated dynamically, so it is available at all times. • Feed Files After site search/merchandising servers generate the feed files, you can use the Feed Files drop-down list to view the files from the servers. A new browser tab or new browser window appears with the content of the feed. This method is useful for helping you About the Settings menu Panel Wizard Panel Name 258 Description troubleshoot feeds that have formatting issues. Note that you do not view the files from the final destination or from the vendors themselves. If the feed is new, then the drop-down list is empty until you generate feed files. • Content Network Link If you chose Hosted Content Network as your upload method in the File Submission panel of the wizard, the URL is displayed here. If you have not yet generated any feed files, the URL is not valid until the feed is successfully generated. Google Merchant Center See also About Feeds. Panel Wizard Panel Name Description 1 Feed Name Specifies the name of the feed. 2 Field Maps Lets you map vendor-specific feed fields to site search/merchandising metadata fields. This mapping step in the wizard is important because it allows Feeds to correlate the information between the fields in the index and the fields in the feed data. In most cases, except for Generic Feeds, the correlations are saved in a dynamically generated search template. Each row in the Field Maps table represents a field mapping. In the Add/Remove column of the table, click + to add a new field mapping row; click - to delete the currently selected field mapping row from the table. To associate a feed field with a site search/merchandising metadata field, use the respective drop-down lists to choose the desired fields. Advanced usage You can create your own custom fields. In the Feed Fields drop-down list, click Custom. In the associated text field, enter a custom tag name for that field. This custom option is useful if a feed needs special vendor-specific fields. You can also create a custom metadata field. In the Metadata Fields drop-down list, click Custom. In the associated text field, enter a custom metadata field value. The value is inserted into the pre-generated template and it can also be used to inject custom search template tags. See Search template tags. 3 Search Criteria When the feed files are generated, a search query is used to filter the data. You define the filters that are used for the search query in this panel. • Meta Field Defines which metadata field that you want to filter on. About the Settings menu Panel Wizard Panel Name 259 Description Advanced usage Because the filtering system is a standard search query, you can select Free Form from the drop-down list to enter CGI search parameters and their values. URL escaping is required. The search argument sp_q is ignored. You can create multiple rows of Free Form text boxes. Between each row, the arguments are delimited with &'s automatically. See Search CGI parameters. • Criteria Defines the filter operation. The filter operation that you select from the drop-down list applies the constant value that is entered in the third column. • Value The constant value. • Action Adds a new field mapping row, or deletes the currently highlighted row. 4 File Submission Lets you configure the schedule for submitting the feed files and set the method that you want to use to upload the files. • Schedule Sets the maximum frequency that a feed is submitted. Selecting Never turns off the feed. Other values define the period that the feed waits before submitting again. The decision when to submit the feed is done at each index. In other words, at the end of the index, a feed is checked to see if it has expired and needs to be updated and submitted by the vendor. Also, it is used as a method of preventing an account from over-submitting to a vendor. Some vendors have policies against data feed sources that upload too frequently. Be sure that you check the feed vendor's policy about the frequency of submissions. • Upload Method Most feeds have two ways of distributing the files: FTP and Hosted Content Network. The recommended upload method for submitting the data feed is FTP. Google Merchant Center hosts an FTP server for this purpose. See the Google Merchant Center Help about setting up a separate Google FTP account for this Google Product Search feed. • FTP Site search/merchandising servers use passive FTP. FTP is the only way to push a file to another server. FTP Server – Specifies the name of the FTP server. In this case, it is uploads.google.com. Do not include the protocol or preceding "ftp://". FTP User Name – Specifies the name of the FTP account. FTP Password – Specifies the password of the FTP account. About the Settings menu Panel Wizard Panel Name 260 Description FTP File Name – Specifies the name of the file to transmit. This name is a template if the feed generates multiple files, usually incrementing a number at the end of the name but before the extension. For example: basename.xml, basename1.xml, basename2.xml, ... , basename-Nth.xml FTP Directory – If a specific directory path is required, you enter it here. Do not include the filename in the path. • Hosted Content Network The Content Network is the means of serving files from the web servers of site search/merchandising. The recipient of the feed pulls it from the web servers using an HTTP request. 5 Verification When you get to the Verification panel, your feed is saved at that point. However, the actual feed files are not saved until later. The Verification panel lets you do the following: • Data View Lets you click the link to check the feed output through a data view that is displayed in table form. The data view can also help you troubleshoot by showing you which meta fields are chosen and how any specified search criteria from the Search Criteria panel in the wizard, affects the feed output. The data view is generated dynamically, so it is available at all times. • Feed Files After site search/merchandising servers generate the feed files, you can use the Feed Files drop-down list to view the files from the servers. A new browser tab or new browser window appears with the content of the feed. This method is useful for helping you troubleshoot feeds that have formatting issues. Note that you do not view the files from the final destination or from the vendors themselves. If the feed is new, then the drop-down list is empty until you generate feed files. • Content Network Link If you chose Hosted Content Network as your upload method in the File Submission panel of the wizard, the URL is displayed here. If you have not yet generated any feed files, the URL is not valid until the feed is successfully generated. Google Sitemaps See also About Feeds. About the Settings menu 261 Panel Wizard Panel Name Description 1 Feed Name Specifies the name of the feed. 2 Field Maps Lets you map vendor-specific feed fields to site search/merchandising metadata fields. This mapping step in the wizard is important because it allows Feeds to correlate the information between the fields in the index and the fields in the feed data. In most cases, except for Generic Feeds, the correlations are saved in a dynamically generated search template. Each row in the Field Maps table represents a field mapping. In the Add/Remove column of the table, click + to add a new field mapping row; click - to delete the currently selected field mapping row from the table. To associate a Feed Field with a Metadata Field, use the respective drop-down lists to choose the desired fields. Advanced usage You can create your own custom fields. In the Feed Fields drop-down list, click Custom. In the associated text field, enter a custom tag name for that field. This custom option is useful if a feed needs special vendor-specific fields. You can also create a custom metadata field. In the Metadata Fields drop-down list, click Custom. In the associated text field, enter a custom metadata field value. The value is inserted into the pre-generated template and it can also be used to inject custom search template tags. See Search template tags. 3 Search Criteria When the feed files are generated, a search query is used to filter the data. You define the filters that are used for the search query in this panel. • Meta Field Defines which metadata field that you want to filter on. Advanced usage Because the filtering system is a standard search query, you can select Free Form from the drop-down list to enter CGI search parameters and their values. URL escaping is required. The search argument sp_q is ignored. You can create multiple rows of Free Form text boxes. Between each row, the arguments are delimited with &'s automatically. See Search CGI parameters. • Criteria Defines the filter operation. The filter operation that you select from the drop-down list applies the constant value that is entered in the third column. • Value The constant value. • Action Adds a new field mapping row, or deletes the currently highlighted row. About the Settings menu 262 Panel Wizard Panel Name Description 4 File Submission Lets you configure the schedule for submitting the feed files and set the method that you want to use to upload the files. • Schedule Sets the maximum frequency that a feed is submitted. Selecting Never turns off the feed. Other values define the period that the feed waits before submitting again. The decision when to submit the feed is done at each index. In other words, at the end of the index, a feed is checked to see if it has expired and needs to be updated and submitted by the vendor. Also, it is used as a method of preventing an account from over-submitting to a vendor. Some vendors have policies against data feed sources that upload too frequently. Be sure that you check the feed vendor's policy about the frequency of submissions. • Upload Method Most feeds have two ways of distributing the files: FTP and Hosted Content Network. • FTP Site search/merchandising servers use passive FTP. FTP is the only way to push a file to another server. FTP Server – Specifies the name of the FTP server. Do not include the protocol or preceding "ftp://". FTP User Name – Specifies the name of the FTP account. FTP Password – Specifies the password of the FTP account. FTP File Name – Specifies the name of the file to transmit. This name is a template if the feed generates multiple files, usually incrementing a number at the end of the name but before the extension. For example: basename.xml, basename1.xml, basename2.xml, ... , basename-Nth.xml FTP Directory – If a specific directory path is required, you enter it here. Do not include the filename in the path. • Hosted Content Network The Content Network is the way to serve files from the web servers of site search/merchandising. The recipient of the feed pulls it from the web servers using an HTTP request. Note that either upload method requires you to specify the URL that Google uses to retrieve the sitemap, in the Main Sitemap URL field. The name of the sitemap file is determined here, too. If your sitemap is large, multiple files may exist and the naming convention is to attach an index number at the end of the file starting with the number 1. The first file or index file has no index, as in sitemap.xml, sitemap1.xml, sitemap2.xml ... sitemap12.xml. About the Settings menu Panel Wizard Panel Name 263 Description If you chose Hosted Content Network as the upload method, the URL of the files has the same filenames, but the URL has the path and host name of the hosting service. Therefore, you redirect the requests for the sitemap to the Hosted Content Network. You should be able to pull the files from the same location, too. After the feed files are created and submitted to the intermediate destination, Google is pinged and lets them know that the sitemap feed is ready. 5 Verification When you get to the Verification panel, your feed is saved at that point. However, the actual feed files are not saved until later. The Verification panel lets you do the following: • Data View Lets you click the link to check the feed output through a data view that is displayed in table form. The data view can also help you troubleshoot by showing you which meta fields are chosen and how any specified search criteria from the Search Criteria panel in the wizard, affects the feed output. The data view is generated dynamically, so it is available at all times. • Feed Files After the feed files are generated, you can use the Feed Files drop-down list to view the files from the servers. A new browser tab or new browser window appears with the content of the feed. This method is useful for helping you troubleshoot feeds that have formatting issues. Note that you do no view the files from the final destination or from the vendors themselves. If the feed is new, then the drop-down list is empty until you generate feed files. • Content Network Link If you chose Hosted Content Network as your upload method in the File Submission panel of the wizard, the URL is displayed here. If you have not yet generated any feed files, the URL is not valid until the feed is successfully generated. See also Editing a feed. Editing a feed You can edit the configuration of an existing feed. Note: When you edit a feed, you cannot change the feed type. If you need to changed the feed type, delete the existing feed, and then add a new feed with the type you want. See Deleting a feed. To edit a feed 1. On the product menu, click Settings > Searching > Feeds. About the Settings menu 264 2. Do one of the following: • On the Feeds page, under the Name column of the table, click the drop-down list next to a feed name, and then click Edit feed. • On the Feeds page, under the Name column, click the name of a feed that you want to change. 3. In the feed's wizard, set the options that you want for each panel in the wizard. See Feed options. 4. At the end of the wizard, in the Verification panel, click Close. Deleting a feed You can delete a feed that you no longer need or use. To delete a feed 1. On the product menu, click Settings > Searching > Feeds. 2. In the Feeds Menu screen, under the Actions column, click Delete for the feed name that you want to remove. 3. In the Delete feed dialog box, click Yes to confirm the deletion. Viewing feed files You can go the last panel of the Feed wizard to give you quick access for viewing the data view of the feed or to download any current feed files from the server. This functionality is helpful if you want to verify and examine the feed output. To view feed files 1. On the product menu, click Settings > Searching > Feeds. 2. On the Feeds page, under the Name column of the table, click the drop-down list next to a feed name, and then click View Feed Files. 3. In the Verification panel of the feed's wizard, click Show Data View. 4. Click Close. Testing a feed with no file upload You can test a feed without uploading files to the final destination. To test a feed with no file upload 1. On the product menu, click Settings > Searching > Feeds. 2. On the Feeds page, under the Name column of the table, click the drop-down list next to a feed name, and then click Test Feed (No file upload). 3. On the Feeds page, the Feed Status column is updated during and following the test. Generating and uploading a feed You can manually generate and submit feed files to the final destination, regardless of the schedule that you set in the File Submission panel of the Feed wizard. See also Feed options. To generate and upload a feed 1. On the product menu, click Settings > Searching > Feeds. About the Settings menu 265 2. On the Feeds page, under the Name column of the table, click the drop-down list next to a feed name, and then click Generate and Upload Feed. 3. On the Feeds page, the Feed Status column is updated during and following the data feed generation and upload. About the Metadata menu Use the Metadata menu to customize Search definitions and index injections. About Definitions You can use Definitions to customize the content and relevance of the HTML and metadata fields that are considered when a customer submits a search query. You can edit the fields that are already pre-defined. Or, you can also create new user-defined fields based on metadata tag content. Each definition is displayed on a single line on the Staged Definitions page. See also About Data Views. Adding a new meta tag field You can define and add your own metadata tag fields. Before the effects of the new meta tag definition is visible to customers, you must rebuild your site index. To add a new meta tag field 1. On the product menu, click Settings > Metadata > Definitions. 2. On the Definitions page, click Add New Field. 3. On the Add Field page, set the options that you want. See Meta tag field options. 4. Click Add. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Meta tag field options A table that describes the options that are available on the Add Field page and the Edit Field page when you define a meta tag field. About the Settings menu 266 Option Description Field Name Specifies a name that is used to reference the field. The field name must adhere to the following rules: • The name must contain only alphanumeric characters. • Dashes are allowed in the name, but no spaces. • You can enter a name up to 20 characters long. • The name is not case-sensitive, but is displayed and stored exactly as you type it. • You cannot use the names that exist in the pre-defined fields as seen in the table on the Staged Definitions page. • You cannot use the word "any" as the value of a user-defined field name. • You cannot edit the names of pre-defined fields. Field name examples: • author • PublishDate • something-wild Meta Tag Name(s) Determines the content that is associated with the defined field. The list of names can be up to 255 characters long. And, name can contain any characters that are allowed in the name attribute of an HTML meta tag. You can specify multiple meta tags in a single field definition. Multiple values must be comma-separated, and the leftmost meta tag name found on any given web page takes precedence. For example, suppose that you have defined a field named "auth". The field name has the associated meta tags "author, dc.author". In this case, the content from the "author" meta tag is indexed and searched over that of the "dc.author" if both meta tags appear on a web page. User-defined fields must have at least one meta tag name in their definition. Pre-defined fields do not need to have an associated meta tag. However, if one or more meta tags are specified, the content of the meta tags override the current data source for each tag. For example, if the meta tag "dc.title" is associated with the pre-defined "title" field, the content from the "dc.title" meta tag is indexed over that of the <title> tag for any particular document. Examples include the following: • dc.date • description • proprietarytag Data Type Every field has an associated data type such as text, number, date, version, rank, or location. This data type determines how the field's content is indexed, searched and optionally, sorted. About the Settings menu Option 267 Description You cannot change the data type after you create the field definition. Use the following information to help you select the data type that is relevant to the information that the field contains. • Text data type fields are treated as character strings. • Number data type fields are treated as integer or floating-point numeric values. • Date data type fields are treated as date/time specifiers. You can customize the allowed date/time formats when you add or edit the new field. • Version data type fields are treated as free-form numeric data. For example, 1.2.3 sorts before 1.2.2. • Rank data type fields are treated the same as "Number" type fields, except that they additionally influence the ranking / relevance calculations in the search results. See About Ranking Rules. • Location data type fields are treated as a physical location anywhere in the world. The allowed location formats include the following: • 5- or 9-digit ZIP codes in the form of DDDDD or DDDDD-DDDD, where each "D" is a 0-9 digit. • Three-digit area-codes in the form of DDD. • Latitude/longitude pairs in the form ±DD.DDDD±DDD.DDDD, where the first number specifies the latitude and the second number specifies the longitude. Allow Lists Available only if the data type Text, or Number is selected. Separately index delimited values in the metadata content of this field. For example, the content "Red, Yellow, Green, Blue" is treated as four separate values instead of one when "Allow Lists" is selected. This treatment is most useful with range searching (using sp_q_min, sp_q_max, or sp_q_exact) and with the <search-field-value-list>, <search-field-values>, and <search-display-field-values>. Not available if Version data type is selected. Dynamic Facet Note: This feature is not enabled by default. Contact Technical Support to activate it for your use. After it is activated, it appears in the user interface. Sets the identified facet to be dynamic. Facets are built on top of meta tag fields. A meta tag field is a low-level, core search layer of Adobe Search&Promote. Facets, on the other hand are part of GS (Guided Search)–the high-level, presentation layer of Adobe Search&Promote. Facets own meta tag fields, however, meta tag fields know nothing about facets. See About Dynamic Facets. About the Settings menu 268 Option Description Allow Dedupe Check this option to enable deduplication for this field. That is, allow this field to be specified at search-time by way of the sp_dedupe_field Search CGI parameter. See Search CGI parameters. Table Name Permanently associates the given field with the given table name. Any time such a field is mentioned within a core search CGI parameter or a template tag, the table name is provided automatically. This feature allows the selection of dynamic facets through table matches, but you can also use it for non-dynamic facet fields, if desired. List Delimiters Available only if Allow Lists is selected. Specifies which characters separate individual list values. You can specify multiple characters, each of which are treated as a value separator. Search By Default Vertical Update Field When selected, the field content is searched even when the field is not explicitly specified in a given search query. If you deselect this option, the field is only searched when requested. Note: This feature is not enabled by default. Contact Technical Support to activate it for your use. After it is activated, it appears in the user interface. Sets the identified field to be a Vertical Update field. Vertical Update fields are candidates to be updated by way of the Vertical Update process (Index > Vertical Update.) Due to the way that Vertical Updates are made, content from these fields cannot be searched in free-text searches. Checking this option results in this field's content not being added to the "word" index during any kind of index operation. It also enables the update of this field during a Vertical Update operation. To learn more about Vertical Updates, see About Vertical Update. Relevance You can edit the relevance of pre-defined and user-defined fields. Relevance is specified on a scale 1-10. A setting of 1 means that it is the least relevant and 10 being the most relevant. These values are taken into account when the software considers the query matches in each field. Sorting Specifies when results are sorted by the named field, by way of the sp_s Search CGI parameter. See Search CGI parameters. Language Available only if the data type Rank, Number, or Date is selected. Controls the language and locale conventions that are applied when indexing the date, number, and rank values for this field. About the Settings menu Option 269 Description You can choose to apply the account language (Linguistics > Words & Languages). Or, you can apply the language that is associated with the document that contains each number or date value, or a specific language. Date Format(s) Available only if the data type Date is selected. Controls the date formats that are recognized when indexing date values for this field. A default list of date format strings is provided for each date field. You can add to the list or edit the list to suit your own site's needs. See Date Formats. Test Date Formats Available only if the data type Date is selected as the Data Type. Lets you preview the date formats that you have specified to ensure that they are formatted correctly. Time Zone Available only if the data type Date is selected as the Data Type. Controls the assumed time zone that is applied when indexing date values for this field that do not specify a time zone. For example, if your account time zone is set to "America/Los Angeles" and you select Use Account Time Zone, the following meta date value, which does not have a specified time zone, is treated as if it were Pacific Time, accounting for daylight savings: <meta name="dc.date" content="Mon, 05 Sep 201213:12:00"> Least Important Rank Value Available only if the data type Rank is selected as the Data Type. Controls the rank value that represents the minimum rank of any document. If your document rankings range from 0 for the lowest rank to 10 for the highest rank, then you set this value to 0. If your document rankings range from 1 for the highest rank to 10 for the lowest rank, then you set this value to 10. Default Rank Value Available only if the data type Rank is selected as the Data Type. Controls the rank value that is used if a document does not contain any of the meta tags that are defined for this rank field. Most Important Rank Value Available only if the data type Rank is selected as the Data Type. Controls the rank value that represents the maximum rank of any document. If your document rankings range from 0 for the lowest rank to 10 for the highest rank, then you set this value to 10. About the Settings menu Option 270 Description If your document rankings range from 1 for the highest rank to 10 for the lowest rank, then you set this value to 1. Default Units Available only if the data type Location is selected as the Data Type. Controls the treatment of distance values for proximity searches. If you set the default units to Miles, then any proximity search minimum/maximum distance criteria that is applied to this field (by way of the sp_q_min[_#] or the sp_q_max[_#] Search CGI parameters) is treated as miles, otherwise as kilometers. This option also controls the default distance units that are applied to the output of the <Search-Display-Field> search results template tag when applied to a proximity search output field. See About proximity search. Create Range Description? Available only if Number is selected as the Data Type. Controls the automatic creation of Field Range descriptions, for use with Design > Navigation > Facets. See About Facets. Note: If this field has Vertical Update Field checked, the generated Field Range description field is updated during a Vertical Update. However, it is recommended that the field identified in Range Field also have Vertical Update Field checked. Range Field Available only if Create Range Description is checked. The Text field to be updated with range descriptions for the current field. This list contains all Text fields that are not already being used with other fields for Field Range generation. Range Values Available only if Create Range Description is checked and a Range Field item is selected. A blank-delimited list of data points to use when creating the Field Range descriptions. For example: 10 20 50 100 1000 You can enter these values in any order. The values are sorted and duplicates removed before it is saved. You can also specify negative and non-integer values. For each of this field's values: • if the value is less than (<) the smallest value in Range Values, the "Less Than" Format is used • if the value is greater than or equal to (>=) the largest value in Range Values, the "Greater Than" Format is used. About the Settings menu Option 271 Description • otherwise, a "range" is found where the field value falls between two consecutive Range Values (greater than (>) the smaller value and less than or equal to (<=) the larger value), and the Intermediate Format is used. For example, the above example set of values will define a set of descriptions for values: • less than 10 • greater than or equal to 10 and less than 20 • greater than or equal to 20 and less than 50 • greater than or equal to 50 and less than 100 • greater than or equal to 100 and less than 10000 • greater than or equal to 10000 See Test using Greater Than? to change how these tests are performed. "Less Than" Format Available only if Create Range Description is checked and a Range Field item is selected. This is the template used to specify the range description for values less than the smallest value found in Range Values. The smallest value will be represented using the numeric placeholder token ~N~. For example: Less than ~N~ or: ~N~ and below Normally, the value will be formatted "as-is" - i.e. for a Range Values definition of "5 10 20" and a supplied value of 1, the generated range description would simply be something like "Less than 5". If you'd instead like to have it be "4.99 and below", set Precision to 2 and use this format: ~n~ and below In "Less Than" Format, the lower-case ~n~ will cause the value to be rounded down according to the Precision setting. Note: to include any numeric placeholder in the range description, as is, specify with a backslash (\) prefix - e.g. \~N~ or \~n~. To include a backslash character, specify it with another backslash - e.g. \\. Intermediate Format Available only if Create Range Description is checked and a Range Field item is selected. This is the template used to specify the range description for values that fall somewhere between the smallest and largest values found in Range Values. For the given range, the lower range value will be represented using the numeric placeholder token ~L~, and the higher range value will be represented using the token ~H~. For example: ~L~ to ~H~ or: Between ~L~ and ~H~ About the Settings menu Option 272 Description or: Less than ~H~ and greater than ~L~ Normally, the values will be formatted "as-is" - i.e. for a Range Values definition of "5 10 20" and a supplied value of 8, the generated range description would simply be something like "Between 5 and 10". If you'd instead like to have it be "Between 5 and 9.99", with the higher value adjusted downwards, set Precision to 2 and use this format: Between ~L~ and ~h~ Similarly, ~L~ can be replaced with ~l~ to have the lower value adjusted upwards, also according to the Precision setting. This means that a definition like: Between ~l~ and ~H~ with a Precision value of 2 would create "Between 5.01 and 10". The lower-case ~l~ will cause the lower value to be rounded up according to the Precision setting, and the lower-case ~h~ will cause the higher value to be rounded down. Note: to include any numeric placeholder in the range description, as is, specify with a backslash (\) prefix - e.g. \~L~ or \~h~. To include a backslash character, specify it with another backslash - e.g. \\. "Greater Than" Format Available only if Create Range Description is checked and a Range Field item is selected. This is the template used to specify the range description for values greater than the largest value found in Range Values. The largest value will be represented using the numeric placeholder token ~N~. For example: Greater than ~N~ or: ~N~ and above Normally, the value will be formatted "as-is" - i.e. for a Range Values definition of "5 10 20" and a supplied value of 30, the generated range description would simply be something like "Greater than 20". If you'd instead like to have it be "20.01 and above", set Precision to 2 and use this format: ~n~ and above In "Greater Than" Format, the lower-case ~n~ will cause the value to be rounded up according to the Precision setting. Note: to include any numeric placeholder in the range description, as is, specify with a backslash (\) prefix - e.g. \~N~ or \~n~. To include a backslash character, specify it with another backslash - e.g. \\. Precision Available only if Create Range Description is checked and a Range Field item is selected. An integer value specifying the number of digits to the right of a decimal point. This also controls rounding operations. About the Settings menu 273 Option Description Strip leading zeros? Available only if Create Range Description is checked, a Range Field item is selected and a non-zero Precision value has been set. Should we display "0.50" as ".50"? Strip trailing zeros? Available only if Create Range Description is checked, a Range Field item is selected and a non-zero Precision value has been set. Should we display "10.00" as "10"? Show thousands separators? Available only if Create Range Description is checked and a Range Field item is selected. Should we display "10000" as "10,000"? Locale-specific values will be used. Adjust zero values? Available only if Create Range Description is checked and a Range Field item is selected. When rounded zero values are displayed, should they be rounded up or down according to the Precision setting? i.e. display "0.01"? Test using Greater Than? Available only if Create Range Description is checked and a Range Field item is selected. As each value is compared against the values in Range Values, processed in descending order, it is compared, by default, using the Greater Than or Equal (>=) operator, stopping once this test succeeds. This means that with a set of Range Values like "10 20 50 100 1000" the value 100 will fall in the range 100 to 1000, as 100 is indeed >= 100. If you'd rather have it fall in the range 50 to 100, check this option, which will cause the comparisons to use the Greater Than (>) operator, instead. For example, for each of this field's values, when this option is checked: • if the value is less than or equal to (<=) the smallest value in Range Values, the "Less Than" Format will be used • if the value is greater than (>) the largest value in Range Values, the "Greater Than" Format will be used • otherwise, a range will be found where the field value falls between two consecutive Range Values (greater than or equal to (>=) the smaller value and less than (<) the larger value), and the Intermediate Format will be used and, when unchecked: • if the value is less than (<) the smallest value in Range Values, the "Less Than" Format will be used • if the value is greater than or equal to (>=) the largest value in Range Values, the "Greater Than" Format will be used • otherwise, a range will be found where the field value falls between two consecutive Range Values (greater than (>) the smaller value and less than or equal to (<=) the larger value), and the Intermediate Format will be used About the Settings menu 274 Option Description Test Available only if Create Range Description is checked and a Range Field item is selected. Supply a sample numeric value and press the Test button to see how the Range Field is created. The generated Range description will be displayed in the window. See also Meta tag field options. Editing pre-defined or user-defined meta tag fields You can edit only certain fields in pre-defined meta tags, or edit all the fields in meta tags that are user-defined. Before the effects of your meta tag changes are visible to customers, you must rebuild your site index. To edit pre-defined or user-defined meta tag fields 1. On the product menu, click Settings > Metadata > Definitions. 2. On the Definitions page, in the Actions column of the table, click Edit in the row of the meta tag field name that you want to change. 3. On the Pinned Keyword Results Manager page, in the table, click Edit in the row of the keyword that you want to change. 4. On the Edit Field page, set the options that you want. If you chose to make changes to a pre-defined meta tag field, be aware that not all fields are editable. See Meta tag field options. 5. Click Save Changes. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Deleting a user-defined meta tag field You can delete a user-defined meta tag field that you no longer need or use. You cannot delete pre-defined meta tag fields. However, you can edit certain fields. See Editing pre-defined or user-defined meta tag fields. Before the effects of your delete meta tag are visible to customers, you must rebuild your site index. To delete a user-defined meta tag field 1. On the product menu, click Settings > Metadata > Definitions. About the Settings menu 275 2. On the Definitions page, in the User-defined fields section of table, click Delete in the row of the meta tag field name that you want to remove. 3. In the Confirmation dialog box, click OK. 4. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 5. (Optional) On the Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Injections You can use Injections to insert content into your web pages without the need to edit the pages themselves. You can append content to specific indexed fields like "target" or "body", or replace indexed content with new values. For example, if you inserted new content into the "target" meta tag field, This information is treated just as it would hard-coded page content. You can edit the content of any pre-defined meta tag field regardless of whether your site pages have corresponding content. For example, you can edit the content of the following pre-defined meta tag field names: • alt • body • charset • date • desc • keys • language • target • title • url Working with Test Field Injections You can optionally use Test on the Staged Injections page. You enter a test field name (for example, "title" or "body"), the original field value (for example, "Home Page"), and a test URL from your website. The resulting value is displayed for your reference. The current values are not altered during the test. Working with Field Injection Definitions Injection definitions have the following form: append|replace field [regexp] URL value About the Settings menu 276 The append|replace, field, URL. and value items are mandatory. You enter one injection definition per line. The following example contains six different injection definitions. replace title http://www.yoursite.com/company/contactus.html Adobe: Contact Us append body http://www.yoursite.com/products/* On Sale Now! append target http://www.yoursite.com/news/bob_white/ Regular Weekly Feature append target regexp http://www.yoursite.com/travel/mr_travel/.*\column.html$ Regular Weekly Feature replace charset http://www.yoursite.com/japanese/intro.txt shift-jis replace language http://www.yoursite.com/japanese/intro.txt ja_JP Injection definition Description append|replace Choose "append" to add the value of the injection definition ("Adobe: Contact Us" or "On Sale Now!" in the above examples) to the content of existing fields. Choose "replace" to overwrite existing field content with the defined value. If a field does not currently have content, the defined value is added automatically, regardless of which option (append or replace) is used. field A field name is required. The following are ten pre-defined field names that you can use: • alt • body • charset • date • desc • keys • language • target • title • url Each field name corresponds to elements on your site pages. If you specify the field name desc for example, you can add the injection definition value to the field that corresponds to the description Meta tags on your site pages. If no description Meta tag exists on your pages, the defined content creates the tag for you. The content specified in a desc injection displays on your results page just as hard-coded Meta-description content would. You can also create multiple definitions with the same field name. For example, supposed you have the following injections: replace title http://www.mysite.com/ Welcome to My Site replace title http://www.mysite.com/company/*.html My Site: Contact About the Settings menu Injection definition 277 Description All site pages in the above example receive an injected title "Welcome to My Site". Pages in the "/company/" folder are injected with a new title "My Site: Contact Us" that replaces the previous one. Notice that injections are applied in the order in which they appear in the Field Injection Definitions text box. If the same field ("title" in this example) is defined more than once for pages at the same location, the later definition takes precedence. [regexp] - optional. If you choose to use the regexp option, the defined URL is treated as a regular expression. See Regular Expressions. In the following definition: replace target regexp ^.*/products/.*\.html$ Important information "Important information" is injected into the "target" field on all pages that match the regular expression ^.*/products/.*\.html$. Therefore, you have the following: http://www.mydomain.com/products/page1.html (Will receive "target" content) http://www.mydomain.com/product/oldstuff.html (Will not receive "target" content) In the following example: append title regexp ^.*\.pdf$ Millennium Science The injection appends "Millennium Science" to the "title" content of all pages that end with a ".pdf" filename extension. URL A URL is required and specifies which documents are injected. The URL is any one of the following: • A full path, as in http://www.mydomain.com/products.html • A partial path, as in http://www.mydomain.com/products • A URL that uses wild cards, as in http://www.mydomain.com/*.html The URL value must not have any space characters in it. If the regexp option is used, the URL is treated like a regular expression. About the Settings menu 278 Injection definition Description value A value is required and is used to either replace or add to existing field content. You can specify multiple values for the same field name. For example: append keys http://www.mysite.com/travel/ summer, beach, sand append keys http://www.mysite.com/travel/fare/*.html cheap tickets In the above example, the words "summer, beach, sand" is appended to the "keys" field on all pages in the "/travel/" directory. The words "cheap tickets" is also appended to the "keys" field on all pages in the "/travel/fare/" directory. See also Selecting content types to crawl and index. Adding field injection definitions You can use Injections to insert content into your web pages without the need to edit the pages themselves. You can optionally use Test on the Injections page. You enter a test field name (for example, "title" or "body"), the original field value (for example, "Home Page"), and a test URL from your website. The resulting value is displayed for your reference. The current values are not altered during the test. To add field injection definitions 1. On the product menu, click Settings > Metadata > Injections. 2. (Optional) On the Injections page, in the Test Field Injections area, enter the test field, the test original value, and test URL, and then click Test. 3. In the Field Injection Definitions field, enter one injection definition per line. 4. Click Save Changes. 5. (Optional) Do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Attribute Loader Use Attribute Loader to define additional input sources to augment data crawled from a website. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. About the Settings menu 279 You can use a data feed input source to access content that is stored in a form that is different from what is typically discovered on a website. You do this using one of the available crawl methods. Data from these sources can then be injected into data from crawled content. After you add an Attribute Loader definition to the Staged Attribute Loader Definitions page, you can change any configuration setting except the Name values and Type values The Attribute Loader page shows you the following information: • The name of defined Attribute Loader configuration that you have configured and added. • One of the following data source types for each connector that you have added: • Text – Simple "flat" files, comma-delimited, tab-delimited, or other consistently delimited formats. • Feed – XML feeds. • Whether the configuration is enabled or not for the next crawl and indexing. • The address of the data source. How the attribute injection process works for Text and Feed configurations in Attribute Loader About configuring multiple Attribute Loaders About the use of Preview when you add an Attribute Loader How the attribute injection process works for Text and Feed configurations in Attribute Loader Step Process Description 1 Download the data source. For Text and Feed configurations, it is a simple file download. 2 Break down the downloaded data source into individual pseudo-documents. For Text, each newline-delimited line of text corresponds to an individual document, and is parsed using the specified delimiter, such as a comma or tab. For Feed, each document's data is extracted using a regular expression pattern in the following form: <${Itemtag}>(.*?)</${Itemtag}> Using Map on the Attribute Loader Add page, create a cached copy of the data and then create a list of links for the crawler. The data is stored in a local cache and is populated with the configured fields. The parsed data is written to the local cache. This cache is read later to create the simple HTML documents needed by the crawler. For example, <html><head> <title>{title}</title> <meta name="{field}" content="{data}" /> ... </head><body> {body} </body></html> The <title> element is only generated when a mapping exists to the Title metadata field. Similarly, the <body> element is only generated when a mapping exists to the Body metadata field. About the Settings menu Step Process 280 Description Important: The assignment of values to the pre-defined URL meta tag is not supported. For all other mappings, <meta> tags are generated for each field that has data found in the original document. The fields for each document are added to the cache. For each document that is written to the cache, a link is also generated as in the following examples: <a href="index:Adobe?key=<primary key field>\" /> <a href="index:Adobe?key=<primary key field>\" /> .... The configuration's mapping must have one field identified as the Primary Key. This mapping forms the key that is used when data is fetched from the cache. The crawler recognizes the URL index: scheme prefix, which can then access the locally cached data. 3 Crawl the cached The index: links are added to the crawler's pending list, and are processed in the normal crawl document set. sequence. 4 Process each document. Each link’s key value corresponds to an entry in the cache, so crawling each link results in that document’s data being fetched from the cache. It is then “assembled” into an HTML image that is processed and added to the index. About configuring multiple Attribute Loaders You can define multiple Attribute Loader configurations for any account. When you add an Attribute Loader, you can optionally use the feature Setup Maps to download a sample of your data source. The data is examined for suitability. Attribute Loader type Description Text Determines the delimiter value by trying tabs first, then vertical-bars (|), and finally commas (,). If you already specified a delimiter value before you clicked Setup Maps, that value is used instead. The best-fit scheme results in the Map fields being filled out with guesses at the appropriate Tag and Field values. Additionally, a sampling of the parsed data is displayed. Be sure to select Headers in First Row if you know that the file includes a header row. The setup function uses this information to better identify the resulting map entries. Feed Downloads the data source and performs simple XML parsing. The resulting XPath identifiers are displayed in the Tag rows of the Map table, and similar values in Fields. These rows only identify the available data, and do not generate the more complicated XPath definitions. However, it is still helpful because it describes the XML data and identifies Itemtag. About the Settings menu Attribute Loader type 281 Description Note: The Setup Maps function downloads the entire XML source to perform its analysis. If the file is large, this operation could time out. When successful, this function identifies all possible XPath items, many of which are not desirable to use. Be sure that you examine the resulting Map definitions and remove the ones that you do not need or want. Note: The Setup Maps feature may not work for large XML data sets because its file parser attempts to read the entire file into memory. As a result, you could experience an out-of-memory condition. However, when the same document is processed at the time of indexing, it is not read into memory. Instead, large documents are processed “on the go,” and are not read entirely into memory first. About the use of Preview when you add an Attribute Loader Attribute Loader data is loaded prior to an Index operation. At the time you add an Attribute Loader, you can optionally use the feature Preview to validate the data, as though you were saving it. It runs a test against the configuration, but without saving the configuration to the account. The test accesses the configured data source. However, it writes the download cache to a temporary location; it does not conflict with the main cache folder that the indexing crawler uses. Preview only processes a default of five documents as controlled by Acct:IndexConnector-Preview-Max-Documents. The previewed documents are displayed in source form, as they are presented to the indexing crawler. The display is similar to a “View Source" feature in a Web browser. You can navigate the documents in the preview set using standard navigation links. Preview does not support XML configurations because such documents are processed directly and not downloaded to the cache. Adding an Attribute Loader definition Each Attribute Loader configuration defines a data source and mappings to relate the data items defined for that source to metadata fields in the index. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. Before the effects of the new and enabled definition are visible to customers, rebuild your site index. See About the Index menu. To add an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Stage Attribute Loader Definitions page, click Add New Attribute Loader. 3. On the Attribute Loader Add page, set the configuration options that you want. The options that are available depend on the Type that you selected. See Attribute Loader options. 4. (Optional) Click Setup Maps to download a sample of your data source. The data is examined for suitability. 5. Click Add to add the configuration to the Attribute Loader Definitions page. About the Settings menu 282 6. On the Attribute Loader Definitions page, click rebuild your staged site index. 7. (Optional) On the Attribute Loader Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Attribute Loader options A table that describes the options on the Attribute Loader Add page and the Attribute Loader Edit page. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. Option Description Name The unique name of the Attribute Loader configuration. You can use alphanumeric characters. The characters "_" and "-" are also allowed. Type The source of your data. The data source type that you select affects the resulting options that are available on the Attribute Loader Add page. You can choose from the following: • Text Simple flat text files, comma-delimited, tab-delimited, or other consistently delimited formats. Each newline-delimited line of text corresponds to an individual document, and is parsed using the specified delimiter. You can map each value, or column, to a metadata field, referenced by the column number, starting at 1 (one). • Feed Downloads a master XML document that contains multiple "rows" of information. Data source type: Text Enabled Turns the configuration "on" for use. Or, you can turn "off" the configuration to prevent if from being used. Note: Disabled Attribute Loader configurations are ignored. Host Address Specifies the address of the server host where your data is located. About the Settings menu Option 283 Description If desired, you can specify a full URI (Uniform Resource Identifier) path to the data source document as in the following examples: http://www.somewhere.com/some_path/some_file.tsv or ftp://user:[email protected]/some_path/some_file.csv The URI is broken down into the appropriate entries for the Host Address, File Path, Protocol, and, optionally, Username, and Password fields File Path Specifies the path to the simple flat text file, comma-delimited, tab-delimited, or other consistently delimited format file. The path is relative to the root of the host address. Protocol Specifies the protocol that is used to access the file. You can choose from the following: • HTTP If necessary, you may enter proper authentication credentials to access the HTTP server. • HTTPS If necessary, you may enter proper authentication credentials to access the HTTPS server. • FTP You must enter proper authentication credentials to access the FTP server. • SFTP You must enter proper authentication credentials to access the SFTP server. • File Timeout Specifies the timeout, in seconds, for FTP, SFTP, HTTP or HTTPS connections. This value must be between 30 and 300. Retries Specifies the maximum number of retries for failed FTP, SFTP, HTTP or HTTPS connections. This value must be between 0 and 10. A value of zero (0) will prevent retry attempts. Encoding Specifies the character encoding system that is used in the specified data source file. Delimiter Specifies the character that you want to use to delineate each field in the specified data source file. The comma character (,) is an example of a delimiter. The comma acts as a field delimiter that helps to separate data fields in your specified data source file. About the Settings menu Option 284 Description Select Tab? to use the horizontal-tab character as the delimiter. Headers in First Row Indicates that the first row in the data source file contains header information only, not data. Stale Days Sets the minimum interval between downloads of Attribute Loader data. Index-triggered downloads that occur within the download refresh frequency interval are ignored. When you set this value to the default of 1, Attribute Loader data does not download more than once within a 24 hour period. All Search indexes that occur within the download refresh frequency interval use the last data set that was downloaded. Map Specifies column-to-metadata mappings, using column numbers. • Column Specifies a column number, with the first column being 1 (one). To add new map rows for each column, under Action, click +. You do not need to reference each column in the data source. Instead, you can choose to skip values. • Field Defines the name attribute value that is used for each generated <meta> tag. • Metadata? Causes Field to become a drop-down list from which you can select defined metadata fields for the current account. The Field value can be an undefined metadata field, if desired. An undefined metadata field is sometimes useful to create content used by a Filtering Script. See About Filtering Script. • Primary Key? Only one field is identified as the primary key. This field will be used as the "foreign key" to match the Attribute Loader data with the corresponding document in the index. • Strip HTML? When this option is checked, any HTML tags found in this field's data is removed. • Action Lets you add rows to the map or remove rows from the map. The order of the rows is not important. Data source type: Feed About the Settings menu 285 Option Description Enabled Turns the configuration "on" for use. Or, you can turn "off" the configuration to prevent if from being used. Note: Disabled Attribute Loader configurations are ignored. Host Address Specifies the address of the server host where your data is located. If desired, you can specify a full URI (Uniform Resource Identifier) path to the data source document as in the following examples: http://www.somewhere.com/some_path/some_file.tsv or ftp://user:[email protected]/some_path/some_file.csv The URI is broken down into the appropriate entries for the Host Address, File Path, Protocol, and, optionally, Username, and Password fields. File Path Specifies the path to the master XML document that contains multiple "rows" of information. The path is relative to the root of the host address. Protocol Specifies the protocol that is used to access the file. You can choose from the following: • HTTP If necessary, you may enter proper authentication credentials to access the HTTP server. • HTTPS If necessary, you may enter proper authentication credentials to access the HTTPS server. • FTP You must enter proper authentication credentials to access the FTP server. • SFTP You must enter proper authentication credentials to access the SFTP server. • File Itemtag Identifies the XML element that you can use to identify individual XML lines in the data source file that you specified. For example, in the following Feed fragment of an Adobe XML document, the Itemtag value is record: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" ""> <gsafeed> <header> About the Settings menu Option 286 Description <datasource>marketplace</datasource> <feedtype>incremental</feedtype> </header> <group action="add"> <record url=http://www.adobe.com/cfusion/marketplace_gsa/ index.cfm?event=marketplace.home&marketplaceid=1 action="add" mimetype="text/html"displayurl="http://www.adobe.com/cfusion/marketplace/index.cfm?event=marketplace.home&marketplaceid=1"> <metadata> <meta name="mp_mkt" content="1"/> <meta name="mp_logo" content="/images/marketplace/ dbreferenced/marketplaceicons/icn_air.png"/> <meta name="title" content="Adobe AIR Marketplace"/> <meta name="description" content="Discover new applications ..."/> </metadata> <content><![CDATA[<html><head><title>Adobe AIR Marketplace</title></head><body>Discover new applications ...</body></html>]]></cntent> </record> <record url=http://www.adobe.com/cfusion/marketplace_gsa/ index.cfm?event=marketplace.home&marketplaceid=2 action="add" mimetype="text/html" displayurl="http://www.adobe.com/cfusion/ marketplace/index.cfm?event=marketplace.home&marketplaceid=2"> <metadata> <meta name="mp_mkt" content="2"/> <meta name="mp_logo" content="/images/marketplace/ dbreferenced/marketplaceicons/icn_photoshop.png"/> <meta name="title" content="Adobe Photoshop Marketplace"/> <meta name="description" content="Extend your creative possibilities ..."/> </metadata> <content><![CDATA[<html><head><title>Adobe Photoshop Marketplace</title></head><body>Extend your creative possibilities ...</body></html>]]>/content> </record> ... <record> ... </record> </group> </gsafeed> Cross-Reference Field Name Specifies a metadata field whose values are used as look-up "keys" into the Attribute Loader configuration's data. If no value is selected (--None--), this configuration's data is not available for use in Ranking calculations (Rules > Ranking Rules > Edit Rules). When you select a value, this field's values are used to cross-reference site search/merchandising documents with this configuration's data. Stale Days Sets the minimum interval between downloads of Attribute Loader data. Index-triggered downloads that occur within the download refresh frequency interval are ignored. When you set this value to the default of 1, Attribute Loader data does not download more than once within a 24 hour period. All Search indexes that occur within the download refresh frequency interval use the last data set that was downloaded. Map Lets you specify XML-element-to-metadata mappings, using XPath expressions. • Tag About the Settings menu Option 287 Description Specifies an XPath representation of the parsed XML data. Using the example Adobe XML document above, under the option Itemtag, it could be mapped using the following syntax: /record/@displayurl -> page-url /record/metadata/meta[@name='title']/@content -> title /record/metadata/meta[@name='description']/@content -> desc /record/metadata/meta[@name='description']/@content -> body The above syntax translates as the following: • /record/@displayurl -> page-url The displayurl attribute of the record element maps to the metadata field page-url. • /record/metadata/meta[@name='title']/@content -> title The content attribute of any meta element that is contained inside a metadata element, that is contained inside a record element, whose name attribute is title, maps to the metadata field title. • /record/metadata/meta[@name='description']/@content -> desc The content attribute of any meta element that is contained inside a metadata element, that is contained inside the record element, whose name attribute is description, maps to the metadata field desc. • /record/metadata/meta[@name='description']/@content -> body The content attribute of any meta element that is contained within a metadata element, that is contained within the record element, whose name attribute is description, maps to the metadata field body. XPath is a relatively complicated notation. More information is available at the following location: See http://www.w3schools.com/xpath/ • Field Defines the name attribute value that is used for each generated <meta> tag. • Metadata? Causes Field to become a drop-down list from which you can select defined metadata fields for the current account. The Field value can be an undefined metadata field, if desired. An undefined metadata field is sometimes useful to create content used by Filtering Script. See About Filtering Script. When Attribute Loader processes XML documents with multiple hits on any map field, the multiple values are concatenated into a single value in the resulting cached document. By default, these values are combined using a comma delimiter. However, suppose that the corresponding Field value is a defined metadata field. In addition, About the Settings menu Option 288 Description that field has the Allow Lists attribute set. In this case, the field's List Delimiters value, which is the first delimiter defined, is used in the concatenation. • Primary Key? Only one field is identified as the primary key. This field will be used as the "foreign key" to match the Attribute Loader data with the corresponding document in the index. • Strip HTML? When this option is checked, any HTML tags found in this field's data is removed. • Action Lets you add rows to the map or remove rows from the map. The order of the rows is not important. See also Editing an Attribute Loader definition. Editing an Attribute Loader definition You can edit an existing Attribute Loader that you have defined. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. Not all Attribute Loader options are available for you to change, such as the Attribute Loader Name or Type from the Type drop-down list. To edit an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader page, under the Actions column heading, click Edit for an Attribute Loader definition name whose settings you want to change. 3. On the Attribute Loader Edit page, set the options you want. See Attribute Loader options. 4. Click Save Changes. 5. (Optional) On the Attribute Loader Definitions page, click rebuild your staged site index. 6. (Optional) On the Attribute Loader Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Settings menu 289 Copying an Attribute Loader definition You can copy an existing Attribute Loader definition to use as the basis for a new Attribute Loader that you want to create. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. When copying an Attribute Loader definition, the copied definition is disabled by default. To enable or "turn on" the definition, you must edit it from the Attribute Loader Edit page, and select Enable. See Editing an Attribute Loader definition. To copy an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader page, under the Actions column heading, click Copy for an Attribute Loader definition name whose settings you want to duplicate. 3. On the Attribute Loader Copy page, enter the new name of the definition. 4. Click Copy. 5. (Optional) On the Attribute Loader Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Renaming an Attribute Loader definition You can change the name of an existing Attribute Loader definition. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. To rename an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader page, under the Actions column heading, click Rename for Attribute Loader definition name that you want to change. 3. On the Attribute Loader Rename page, enter the new name of the definition in the Name field. 4. Click Rename. 5. (Optional) On the Attribute Loader Definitions page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live. See Viewing live settings. About the Settings menu • 290 Click Push Live. See Pushing stage settings live. Loading Attribute Loader data You can download the configured Attribute Loader data into site search/merchandising. The Data Load page shows the following information about the status of your last Attribute Loader Data Load operation: Status field Description Status Indicates the success or failure of the last data load attempt. Or, it displays the status of a data load operation that is already in progress. Start Time Displays the date and time that the last data load operation started. Stop Time Displays the completion date and time of the last data load operation. Or, it indicates the current data load operation is still in progress. To load Attribute Loader data 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader Definitions page, click Load Attribute Loader Data. 3. On the Attribute Loader Data Load page, do one of the following: • Click Start Load to start the load operation. During a data load operation, theProgress row provides information on its progress. • Click Stop Load to stop the load operation. 4. Click Close to return to the Attribute Loader Definitions page. Previewing Attribute Loader data You can use Preview to view your most recently loaded Attribute Loader data. The Row column in the table shows the number for each row of data, indicating the original order that the Attribute Loader values were loaded. The remaining columns show the values that are associated with each entry. If the table is empty, it means that you have not loaded any Attribute Loader data yet. You can close the Attribute Loader Data Preview page, and then load Attribute Loader data. See Loading Attribute Loader data. To preview Attribute Loader data 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader Definitions page, under the Actions column, click Preview for the configuration whose downloaded data you want to view. About the Settings menu 291 3. On the Attribute Loader Data Preview page, use the navigation and viewing options at the top and bottom of the page to view the data. Click any column heading in the table to sort the data in ascending or descending order. 4. Do any of the following: • • Click Download to Desktop to download and save the table as a .xlt file. Close the page when you are finish previewing the Attribute Loader data and return to the previously viewed page. Viewing the settings of an Attribute Loader definition You can review the configuration settings of an existing Attribute Loader definition. After an Attribute Loader definition is added to the Attribute Loader Definitions page, you cannot change its Type setting. Instead, you must delete the definition and then add a new one. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. To view the settings of an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader page, under the Actions column heading, click Edit for an Attribute Loader definition name whose settings you want to review or edit. Viewing the log from the most recent Attribute Loader data load You can use View Log to examine the Attribute Loader data log file of the most recent download process. You can also use the log view to monitor a running download. See Loading Attribute Loader data. To view the log from the most recent Attribute Loader data load 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader Definitions page, click View Log. Log page, 3. On the Attribute Loader Data Log page, use the navigation and viewing options at the top and bottom of the page to view the log information. 4. When you are finished, close the page to return to the Attribute Loader Definitions page. Deleting an Attribute Loader definition You can delete an existing Attribute Loader definition that you no longer need or use. Note: To use Attribute Loader, you may need to have it enabled in your account by your Adobe account representative or by Adobe Support. To delete an Attribute Loader definition 1. On the product menu, click Settings > Metadata > Attribute Loader. 2. On the Attribute Loader Definitions page, under the Actions column heading, click Delete for the Attribute Loader definition name you want to remove. 3. On the Attribute Loader Delete page, click Delete. About the Settings menu 292 About the Filtering menu Use the Filtering menu to use scripts that change the content of a web document before it is indexed. About Filtering Script You can use Filtering Script to change the content of a Web document before it is indexed. You can insert HTML tags, remove irrelevant content, and even create new HTML metadata based on a document's URL, MIME type, and existing content. The filtering script is a Perl script, which provides powerful string handling and the flexibility of regular expression matching. You use the filtering script with an initialization script, termination script, URL masks, and test URL. See About Initialization Script. See About Termination Script. See About URL Masks script. The filtering script is run each time a document is read from your website. The script runs as a standard filter, In other words, reads data from STDIN, transforms that data in some way, and writes the results to STDOUT. You can use the filtering script to print status messages from the filtering script to the index log. You either printing the messages to STDERR, or by way of the _search_debug_log() subroutine. Some GNU diff options that you can use while in Expert (diff) mode on the Staged Filtering Script page, include the following: GNU diff option Description -b Ignores changes in amount of white space. -B Ignores changes that insert or delete blank lines. -c Uses the context output format, showing three lines of context. -C lines Uses the context output format, showing lines (an integer) lines of context, or three if lines is not given. -i Ignores changes in case; consider upper- and lowercase letters equivalent. -f Makes output that looks similar like an ed script but has changes in the order that they appear in the file. -n Outputs RCS-format diffs; like -f except that each command specifies the number of lines that are affected. -u Uses the unified output format, showing three lines of context. -U lines Uses the unified output format, showing lines (an integer) of context, or three if lines is not given. About the Settings menu 293 You can use local variables, global variables, or both in these scripts. All global variables are prefaced with the namespace "main::". When the filtering script is started, its environment contains the following standard file handles: • STDIN - nothing (immediately returns EOF when read) • STDOUT - replacement HTML (if data is printed to STDOUT, it is used in place of the original document) • STDERR - data printed to STDERR is printed to the Index Log as an error Additionally, you can write custom messages to the index log using the _search_debug_log() subroutine, as in the following example: # Log information to the Index Log _search_debug_log("Done processing document: " . $main::search_url); These messages appear with the word DEBUG as a preface, and are not logged as errors. The following is an example of filtering. Web page <title> fields often begin with the company name. Even though this information is useful for site navigation purposes, it is not relevant when searching. If the titles of all MegaCorp web pages start with a common string, such as the following: <title>MegaCorp -- meaningful title here</title> You should remove "MegaCorp -- " from the beginning of each document title and count each document processed with the filtering script. To do so, you can use the following script: # Make sure this is an HTML document. if ($main::ws_content_type =~ /^text\/html/) { # Read the entire document into a local scalar variable. my @docarray = <>; my $doc = join("", @docarray); # Remove "MegaCorp -- " from the title. $doc =~ s/(<TITLE>)MegaCorp -- /$1/gis; # Print the resulting document. print $doc; # Count that we've filtered one more document. $main::doc_count++; } Global Variables You can use the following variables in any filtering script: $main::search_crawl_type The value of $main::search_crawl_type indicates the type of index operation underway. Deprecated form: $main::ws_crawl_type Values include the following: Index operation Value Full Index: Manual manual Full Index: Scheduled auto About the Settings menu $main::search_clear_cache 294 Index operation Value Full Index: Remote Control CGI Incremental Index: Manual manual-incremental Incremental Index: Scheduled auto-incremental Incremental Index: Remote Control CGI-incremental Scripted Index: Manual manual-indexlist.txt Scripted Index: Scheduled auto-indexlist.txt Scripted Index: Remote Control CGI-indexlist.txt Regenerate manual-upgrade The value indicates whether the "Clear index cache" indexing option was requested for the current index operation. If "Clear index cache" was requested, the value of $main::search_clear_cache is "1". Deprecated form: $main::ws_clear_cache $main::search_fields The value contains a tab-separated list of the metadata fields that are defined in the account. By default, the value is: url title desc keys target body alt date charset language Deprecated form: $main::ws_fields $main::search_collections The value contains a tab-separated list of the Collections defined in the account. Deprecated form: $main::ws_collections $main::search_url The value is the fully qualified URL of the document. Deprecated form: $main::ws_url $main::search_content_type The value is the content-type of the document as fetched from the http-equiv meta tag. A typical value is "text/html; charset=iso-8859-1". Deprecated form: $main::ws_content_type $main::search_content_class The value is the content class of the document, as derived from the content-type field. About the Settings menu 295 Deprecated form: $main::ws_content_class $main::search_syntax_check The value reflects the use of the "Check Syntax" button. If clicked, the value is 1 (one); otherwise, its value is 0 (zero). Deprecated form: $main::ws_syntax_check $main::search_last_mod_date If provided by the web server, this value contains the Epoch representation (seconds since January 1, 1970) of the document's last-modified date. You can format this value by using the Perl localtime() library call. Quick tips • All global variables are prefaced with the namespace "main::": $main::doc_count = 0; • All local variables are declared with "my": my $i = 0; • Subroutines are defined in the initialization script. They do not need an explicit "main::" namespace: sub my_sub { ... } • Test the $main::search_content_type before you make changes to a file. Testing can help you avoid making careless changes to binary files, like SWF files or PDF files: if ($main::search_content_type =~ /^text\/html/) { ... • The $main::search_content_type is the full Content-Type header delivered by your server. It can sometimes contain a simple MIME type, such as "text/html". Or, it can contain a MIME type followed by other information, like the document's character set encoding, such as "text/html; charset=iso-8859-1". • For each type of non-HTML document, $main::search_content_type can take various values. Testing for each value in your script becomes cumbersome. For example, some Word documents have content type values of "application/msword", "application/vnd.ms-word" or "application/x-msword". In such cases, $main::search_content_class can take the following values: • html • pdf • word • excel • powerpoint • mp3 • text • In the example, testing $main::search_content_class for "word" would match any of the three possible content-type values. • If nothing is printed to STDOUT from the filtering script, then the document is used exactly as it was downloaded. That is, if you do not need to change anything in a document, then you do not need to copy STDIN to STDOUT for that document. • If you want to remove all text from a document, print a valid file STDOUT. For example, to completely remove all text from an HTML document, you do the following: print "<html></html>"; About the Settings menu 296 Adding a filtering script The filtering script is a Perl script that is run for each document that is downloaded from your website. You use the filtering script in conjunction with an initialization script, termination script, and URL masks. See About Initialization Script. See About Termination Script. See About URL Masks script. Be sure that you rebuild your site index so that the results of your filtering script are visible to your customers. See Configuring an incremental index of a staged website. To add a filtering script 1. On the product menu, click Settings > Filtering > Filtering Script. 2. (Optional) On the Filtering Script page, in the Test URL field, enter the URL of a document on your website. Click a testing option to see changes to the raw HTML text. See Filtering Script options. Click Test to test against the filtering scripts and URL masks. Clicking Test does not update and save your filtering script. 3. In the Filtering Script field, paste your script. 4. (Optional) Click Check Syntax to perform a quick syntax check of your script by running the filtering, initialization, and termination scripts. Check Syntax does not update and save your script. 5. Click Save Changes. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Filtering Script page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Filtering Script options A table that describes the options on the Staged Filtering Script page, the Staged Initialization Script page, and the Staged Termination Script page. See also About Filtering Script. About the Settings menu 297 Option Description Test URL field Lets you enter the URL of a document on your website. Test Tests the URL against the filtering scripts and URL masks. The test URL document is downloaded, which is then used as the STDIN input to the filtering script. The initialization, filtering, and termination scripts are then run. If there is any STDOUT output from the filtering script, that output is displayed in a new browser window. Test only Tests the script's operation only. Preview Lets you view the page. Full visual Generates a full before-and-after table view of the documents. Short visual Shows only the differences between the before-and-after views. Expert (diff) Displays the raw output of the GNU diff command that is used to compare the files, using the supplied command line options. Filtering Script Lets you paste your filtering script in the field provided. Save Changes Saves the filtering script. Check Syntax Lets you do a quick syntax check of your script by running the initialization, filtering, and termination scripts. It does not update and save your script. All Perl compiler errors and warnings, and all STDERR output are printed. Before the effects of the script are visible to customers, you must rebuild your site index. GNU diff command line options Some GNU diff options that you can use while in Expert (diff) mode on the Staged Filtering Script page, include the following: GNU diff command line option Description -b Ignores changes in amount of white space. -B Ignores changes that insert or delete blank lines. -c Uses the context output format, showing three lines of context. -C lines Uses the context output format, showing lines (an integer) lines of context, or three if lines is not given. About the Settings menu 298 GNU diff command line option Description -i Ignores changes in case; consider upper- and lowercase letters equivalent. -f Makes output that looks similar like an ed script but has changes in the order that they appear in the file. -n Outputs RCS-format diffs; like -f except that each command specifies the number of lines that are affected. -u Uses the unified output format, showing three lines of context. -U lines Uses the unified output format, showing lines (an integer) of context, or three if lines is not given. See Adding an initialization script. See Adding a termination script. About Initialization Script You can use Initialization Script to change the content of a Web document before it is indexed. You can insert HTML tags, remove irrelevant content, and even create new HTML metadata based on a document's URL, MIME type, and existing content. The initialization script is a Perl script, which provides powerful string handling and the flexibility of regular expression matching. You use the initialization script with a filtering script, termination script, URL masks, and test URL. See About Filtering Script. See About Termination Script. See About URL Masks script. The initialization script is run once before indexing begins. Use this script to initialize any global variables and subroutines that are used by your filtering script. You can use the initialization script to print status messages from the filtering script to the index log. You either print the messages to STDERR, or by way of the _search_debug_log() subroutine. Some GNU diff options that you can use while in Expert (diff) mode on the Staged Initialization Script page, include the following: GNU diff option Description -b Ignores changes in amount of white space. -B Ignores changes that insert or delete blank lines. -c Uses the context output format, showing three lines of context. About the Settings menu 299 GNU diff option Description -C lines Uses the context output format, showing lines (an integer) lines of context, or three if lines is not given. -i Ignores changes in case; consider upper- and lowercase letters equivalent. -f Makes output that looks similar like an ed script but has changes in the order that they appear in the file. -n Outputs RCS-format diffs; like -f except that each command specifies the number of lines that are affected. -u Uses the unified output format, showing three lines of context. -U lines Uses the unified output format, showing lines (an integer) of context, or three if lines is not given. You can use local variables, global variables, or both in these scripts. All global variables are prefaced with the namespace "main::". When the initialization script is started, its environment contains the following standard file handles: • STDIN - nothing (immediately returns EOF when read) • STDOUT - nothing (if data is printed to STDOUT, it is discarded) • STDERR - data printed to STDERR is printed to the Index Log as an error Additionally, you can write custom messages to the index log using the _search_debug_log() subroutine, as in the following example: # Log information to the Index Log _search_debug_log("Done processing document: " . $main::search_url); These messages appear with the word DEBUG as a preface, and are not logged as errors. An example of an initialization script is the following: # My subroutine to do something. sub my_sub_for_the_filtering_script { my ($param1, $param2) = @_; ... } # Initialize the document counter. $main::doc_count = 0; Global Variables You can use the following variables in any filtering script: $main::search_crawl_type The value of $main::search_crawl_type indicates the type of index operation underway. Deprecated form: $main::ws_crawl_type About the Settings menu 300 Values include the following: $main::search_clear_cache Index operation Value Full Index: Manual manual Full Index: Scheduled auto Full Index: Remote Control CGI Incremental Index: Manual manual-incremental Incremental Index: Scheduled auto-incremental Incremental Index: Remote Control CGI-incremental Scripted Index: Manual manual-indexlist.txt Scripted Index: Scheduled auto-indexlist.txt Scripted Index: Remote Control CGI-indexlist.txt Regenerate manual-upgrade The value indicates whether the "Clear index cache" indexing option was requested for the current index operation. If "Clear index cache" was requested, the value of $main::search_clear_cache is "1". Deprecated form: $main::ws_clear_cache $main::search_fields The value contains a tab-separated list of the metadata fields that are defined in the account. By default, the value is: url title desc keys target body alt date charset language Deprecated form: $main::ws_fields $main::search_collections The value contains a tab-separated list of the Collections that are defined in the account. Deprecated form: $main::ws_collections $main::search_url The value is the fully qualified URL of the document. Deprecated form: $main::ws_url About the Settings menu $main::search_content_type 301 The value is the content-type of the document as fetched from the http-equiv meta tag. A typical value is "text/html; charset=iso-8859-1". Deprecated form: $main::ws_content_type $main::search_content_class The value is the content class of the document, as derived from the content-type field. Deprecated form: $main::ws_content_class $main::search_syntax_check The value reflects the use of the "Check Syntax" button. If clicked, the value is 1 (one); otherwise, its value is 0 (zero). Deprecated form: $main::ws_syntax_check $main::search_last_mod_date If provided by the web server, this value contains the Epoch representation (seconds since January 1, 1970) of the document's last-modified date. You can format this value by using the Perl localtime() library call. Quick tips • All global variables are prefaced with the namespace "main::": $main::doc_count = 0; • All local variables are declared with "my": my $i = 0; • Subroutines are defined in the initialization script. They do not need an explicit "main::" namespace: sub my_sub { ... } • Test the $main::search_content_type before you make changes to a file. Testing can help you avoid making careless changes to binary files, like SWF files or PDF files: if ($main::search_content_type =~ /^text\/html/) { ... • The $main::search_content_type is the full Content-Type header delivered by your server. It can sometimes contain a simple MIME type, such as "text/html". Or, it can contain a MIME type followed by other information, like the document's character set encoding, such as "text/html; charset=iso-8859-1". • For each type of non-HTML document, $main::search_content_type can take various values. Testing for each value in your script becomes cumbersome. For example, some Word documents have content type values of "application/msword", "application/vnd.ms-word" or "application/x-msword". In such cases, $main::search_content_class can take the following values: • html • pdf • word • excel • powerpoint • mp3 • text About the Settings menu 302 • In the example, testing $main::search_content_class for "word" would match any of the three possible content-type values. • If nothing is printed to STDOUT from the filtering script, then the document is used exactly as it was downloaded. That is, if you do not need to change anything in a document, then you do not need to copy STDIN to STDOUT for that document. • If you want to remove all text from a document, print a valid file STDOUT. For example, to completely remove all text from an HTML document, you do the following: print "<html></html>"; Adding an initialization script The initialization script is a Perl script that is run once before any documents are indexed. You use the initialization script in conjunction with a filtering script, termination script, and URL masks. See About Filtering Script. See About Termination Script. See About URL Masks script. Be sure that you rebuild your site index so that the results of your initialization script are visible to your customers. See Configuring an incremental index of a staged website. To add an initialization script 1. On the product menu, click Settings > Filtering > Initialization Script. 2. (Optional) On the Initialization Script page, in the Test URL field, enter the URL of a document on your website. Click a testing option to see changes to the raw HTML text. See Filtering Script options. Click Test to test against the filtering scripts and URL masks. Clicking Test does not update and save your initialization script. 3. In the Initialization Script field, paste your script. 4. (Optional) Click Check Syntax to perform a quick syntax check of your script by running the filtering, initialization, and termination scripts. Check Syntax does not update and save your script. 5. Click Save Changes. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Initialization Script page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Settings menu 303 About Termination Script You can use Termination Script to change the content of a Web document before it is indexed. You can insert HTML tags, remove irrelevant content, and even create new HTML metadata based on a document's URL, MIME type, and existing content. The initialization script is a Perl script, which provides powerful string handling and the flexibility of regular expression matching. You use the termination script with an initialization script, filtering script, termination script, URL masks, and test URL. See About Initialization Script. See About Filtering Script. See About URL Masks script. The termination script is run once after all the documents are indexed. You can use the termination script to print status messages from the filtering script to the index log. You either print the messages to STDERR, or by way of the _search_debug_log() subroutine. Some GNU diff command line options that you can use while in Expert (diff) mode on the Staged Termination Script page, include the following: GNU diff command line option Description -b Ignores changes in amount of white space. -B Ignores changes that insert or delete blank lines. -c Uses the context output format, showing three lines of context. -C lines Uses the context output format, showing lines (an integer) lines of context, or three if lines is not given. -i Ignores changes in case; consider upper- and lowercase letters equivalent. -f Makes output that looks similar like an ed script but has changes in the order that they appear in the file. -n Outputs RCS-format diffs; like -f except that each command specifies the number of lines that are affected. -u Uses the unified output format, showing three lines of context. -U lines Uses the unified output format, showing lines (an integer) of context, or three if lines is not given. You can use local variables, global variables, or both in these scripts. All global variables are prefaced with the namespace "main::". When the termination script is started, its environment contains the following standard file handles: About the Settings menu 304 • STDIN - nothing (immediately returns EOF when read) • STDOUT - nothing (if data is printed to STDOUT, it is discarded) • STDERR - data printed to STDERR is printed to the index log as an error Additionally, you can write custom messages to the index log using the _search_debug_log() subroutine, as in the following example: # Log information to the Index Log _search_debug_log("Done processing document: " . $main::search_url); These messages appear with the word DEBUG as a preface, and are not logged as errors. To display the number of documents that were processed by your filtering script as an error line in the index log, you can use the following termination script: # Print the value of the document counter. print STDERR "Total docs: $main::doc_count\n"; # Or, using the log subroutine: _search_debug_log("Total docs: " . $main::doc_count); Global Variables You can use the following variables in any filtering script: $main::search_crawl_type The value of $main::search_crawl_type indicates the type of index operation underway. Deprecated form: $main::ws_crawl_type Values include the following: Index operation Value Full Index: Manual manual Full Index: Scheduled auto Full Index: Remote Control CGI Incremental Index: Manual manual-incremental Incremental Index: Scheduled auto-incremental Incremental Index: Remote Control CGI-incremental Scripted Index: Manual manual-indexlist.txt Scripted Index: Scheduled auto-indexlist.txt Scripted Index: Remote Control CGI-indexlist.txt About the Settings menu $main::search_clear_cache 305 Index operation Value Regenerate manual-upgrade The value indicates whether the "Clear index cache" indexing option was requested for the current index operation. If "Clear index cache" was requested, the value of $main::search_clear_cache is "1". Deprecated form: $main::ws_clear_cache $main::search_fields The value contains a tab-separated list of the metadata fields that are defined in the account. By default, the value is: url title desc keys target body alt date charset language Deprecated form: $main::ws_fields $main::search_collections The value contains a tab-separated list of the Collections that are defined in the account. Deprecated form: $main::ws_collections $main::search_url The value is the fully qualified URL of the document. Deprecated form: $main::ws_url $main::search_content_type The value is the content-type of the document as fetched from the http-equiv meta tag. A typical value is "text/html; charset=iso-8859-1". Deprecated form: $main::ws_content_type $main::search_content_class The value is the content class of the document, as derived from the content-type field. Deprecated form: $main::ws_content_class $main::search_syntax_check The value reflects the use of the "Check Syntax" button. If clicked, the value is 1 (one); otherwise, its value is 0 (zero). Deprecated form: $main::ws_syntax_check $main::search_last_mod_date If provided by the web server, this value contains the Epoch representation (seconds since January 1, 1970) of the document's last-modified date. You can format this value by using the Perl localtime() library call. Quick tips • All global variables are prefaced with the namespace "main::": $main::doc_count = 0; About the Settings menu 306 • All local variables are declared with "my": my $i = 0; • Subroutines are defined in the initialization script. They do not need an explicit "main::" namespace: sub my_sub { ... } • Test the $main::search_content_type before you make changes to a file. Testing can help you avoid making careless changes to binary files, like SWF files or PDF files: if ($main::search_content_type =~ /^text\/html/) { ... • The $main::search_content_type is the full Content-Type header delivered by your server. It can sometimes contain a simple MIME type, such as "text/html". Or, it can contain a MIME type followed by other information, like the document's character set encoding, such as "text/html; charset=iso-8859-1". • For each type of non-HTML document, $main::search_content_type can take various values. Testing for each value in your script becomes cumbersome. For example, some Word documents have content type values of "application/msword", "application/vnd.ms-word" or "application/x-msword". In such cases, $main::search_content_class can take the following values: • html • pdf • word • excel • powerpoint • mp3 • text • In the example, testing $main::search_content_class for "word" would match any of the three possible content-type values. • If nothing is printed to STDOUT from the filtering script, then the document is used exactly as it was downloaded. That is, if you do not need to change anything in a document, then you do not need to copy STDIN to STDOUT for that document. • If you want to remove all text from a document, print a valid file STDOUT. For example, to completely remove all text from an HTML document, you do the following: print "<html></html>"; Adding a termination script The termination script is a Perl script that is run once after all documents are indexed. You use the termination script in conjunction with a filtering script, termination script, and URL masks. See About Initialization Script. See About Filtering Script. See About URL Masks script. Be sure that you rebuild your site index so that the results of your initialization script are visible to your customers. See Configuring an incremental index of a staged website. To add a termination script 1. On the product menu, click Settings > Filtering > Termination Script. 2. (Optional) On the Termination Script page, in the Test URL field, enter the URL of a document on your website. About the Settings menu 307 Click a testing option to see changes to the raw HTML text. See Filtering Script options. Click Test to test against the filtering scripts and URL masks. Clicking Test does not update and save your termination script. 3. In the Termination Script field, paste your script. 4. (Optional) Click Check Syntax to perform a quick syntax check of your script by running the initialization, filtering, and termination scripts. Check Syntax does not update and save your script. 5. Click Save Changes. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the Termination Script page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About URL Masks script With filtering, you can change the content of a web document before it is indexed. You can insert HTML tags, remove irrelevant content, and even create new HTML metadata based on a document's URL, MIME type, and existing content. The URL masks script is a Perl script that provides powerful string handling and the flexibility of regular expression matching. To change the contents of documents that exist only in a specific portion of your website, you can specify include URL masks, exclude URL masks, or both, to define the appropriate pages. If you want to change only the documents under "http://www.mysite.com/faqs/", you can use the following set of masks: include http://www.mysite.com/faqs/ exclude * You can also use regular expression in a URL mask script as in the following example: include regexp ^http://www\.mysite\.com.*/faqs/.*$ exclude * See Regular Expressions. Scripted URL masks are considered in the order that you entered them in the URL Masks field. When a document URL matches a mask, that document is included or excluded based on the type of mask. If a document's URL does not match any URL mask, the document is included only if its MIME type is "text/html". All other MIME types are excluded. Adding a URL mask script Specify URL include masks and exclude masks to change the contents of documents that exist only in a specific portion of your website. About the Settings menu 308 Before the effects of the URL Masks settings will be visible to visitors, you must rebuild your site index. To add a URL mask script 1. On the product menu, click Settings > Filtering > URL Masks. 2. (Optional) On the URL Masks page, in the Test URL field, enter a URL of a document on your website, and then click Test to test the URL against the filtering scripts and masks. The test URL document is downloaded, which is used as the STDIN input to the filtering script. Then the filtering, initialization, and termination scripts are run. If there is any STDOUT output from the filtering script that output is displayed in a new browser window. Clicking Test does not update and save your script. 3. In the URL Masks field, enter one URL mask per line. 4. (Optional) Click Check Syntax to perform a quick syntax check of your URL masks by running the filtering, initialization, and termination scripts. Check Syntax does not update and save your script. 5. Click Save Changes. 6. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 7. (Optional) On the URL Masks page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Content Types in Filtering Lets you select which content types that you want filtered for this account. The text found within the selected content types is converted to HTML and then processed using the script that is specified in Filtering Script. See About Filtering Script. The Content Types that you can select from include the following: • PDF documents • Text documents • Adobe Flash movies • Microsoft Word files • Microsoft Office files (OpenXML) • Microsoft Excel files • Microsoft Powerpoint files • Text in MP3 music files About the Settings menu 309 Before the effects of the Content Types settings or changes to the settings are visible to customers, you must rebuild your site index. Selecting the content types that are filtered Select the content types that you want to pass to the script that is specified in Filtering Script. See About Filtering Script. To select the content types that are filtered 1. 2. 3. 4. On the product menu, click Settings > Filtering > Content Types. On the Content Types page, check the content types that you want pass to the filter script. Click Save Changes. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 5. (Optional) On the Content Types page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Rewrite Rules menu Use the Rewrite Rules menu to set crawl and search URL and title rules. About Crawl List Store URL Rules Crawl URL Rules specify how the URLs it encounters within web content are rewritten. You can specify an unlimited number of rules and conditions, and you can manipulate any portion of the encountered URLs. Crawl rules are most useful for rewriting dynamic parts of a URL, such as a session identifier which is unique for each customer who visits your website. You can also use rewrite rules to hide portions of a URL, such as query parameters, from the search robot. By default, no rules are specified and no URL rewriting is performed. As a website is crawled, embedded content URLs are stored in a temporary list of additional web pages to crawl. Before a URL is added to this list, the Store rewrite rules are applied to it. Typically, Store rewrite rules are used to remove a session id from a URL or to enforce a specific session id for crawling. When the search robot retrieves a URL from the list, the Retrieve rewrite rules are used to again manipulate portions of that URL. Typically, the retrieve rules are used for inserting time-sensitive data back into the URL. It is this final URL that is used to actually retrieve the page from your website. See About Crawl List Retrieve URL Rules. Typically, you use Store URL Rules exclusively. Retrieve URL Rules are only necessary if URLs contain dynamic data, like a session ID, and if that dynamic data changes over time to remain valid. In this case, you use Store URL Rules to get the most About the Settings menu 310 recent state of the data from the encountered URLs. Then you use the Retrieve URL Rules to add that data to each URL when the search robot tries to retrieve the page. Each rule is specified with a rewrite rule (RewriteRule) directive and one or more optional rewrite conditions (RewriteCond). The order of the rules is important. The rule set is looped through rule by rule. When a rule matches, it loops through any corresponding rewrite conditions. A crawl URL rule is specified in the following manner: RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] When an embedded URL is encountered, the search robot tries to match the URL to the Pattern of each crawl rule. If the pattern matches, the rewrite engine looks for corresponding RewriteCond directives. If no conditions are present, the URL is substituted with a new value constructed from the Substitution string and continues with the next rule in the rule set. If conditions exist, they are processed in the order that they are listed. The rewrite engine tries to match a condition pattern (CondPattern) against a test string (TestString). If the two match, then the next condition is processed until no more conditions are available. If all conditions match, the URL is replaced with the Substitution that is specified in the rule. If the condition is not met, the complete set of conditions and the corresponding rule fails. About RewriteRule directives A RewriteRule directive has the following form: RewriteRule Pattern Substitution [Flags] Pattern can be a POSIX regular expression, which is applied to the current URL. The "current URL" can differ from the original requested URL, because earlier rules may have already matched and altered the URL. See Regular Expressions. You cannot use the "not" character ('!') to prefix the pattern. The "not" character lets you negate a pattern, that is, to be true only if the current URL does NOT match this pattern. The "not" character can be used when it is better to match a negative pattern, or as a final default rule. Note: You cannot use both the "not" character and grouped wildcards in a pattern. In addition, you cannot use a negated pattern when the substitution string contains $N. You can use parentheses to create a backreference in the pattern, which can be referenced by the Substitution and CondPattern. Substitution The URL is replaced by the substitution string, that contains the following: Plain Text: Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are the two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2. • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables: These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE is a string for the name of a defined variable. See the [E] flag for more information on setting environment variables. About the Settings menu 311 Functions: These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is the following: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. • The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged; spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL- encoded characters back into single characters. Note: There is a special substitution string: '-' that means "NO substitution." The '-' string is often used with the C (chain) flag, letting you match a URL to several patterns before a substitution occurs. [Flags] (optional) Enclose flags in brackets. Multiple flags are comma-separated. Flag Description 'last|L' Last rule. Stops the rewriting process and does not apply any additional rewriting rules. Use this flag to prevent any further processing to the current URL. 'next|N' Next round. Reruns the rewriting process (starting again with the first rewriting rule) using the URL from the last rewriting rule (not the original URL). Be careful not to create a deadloop! 'chain|C' Chained with next rule. Chains the current rule to the next rule (which can also be chained to its following rule, and so on). If a rule matches, then the substitution process continues as usual. If the rule does not match, then all subsequent chained rules are skipped. 'nocase|NC' No case. Makes the Pattern not case sensitive (that is, there is no difference between 'A-Z' and 'a-z') when the pattern is matched against the current URL. 'skip|S=num' Skip the next rule or rules. If the current rule matches, this flag forces the rewrite engine to skip the next num rules in the rule set. Use this flag to make pseudo if-then-else constructs. The last rule of the then-clause becomes a skip=N where N is the number of rules in the else-clause. About the Settings menu 312 Flag Description Note: This flag is not the same as the 'chain|C' flag!) 'env|E=VAR:VAL' Sets the environmental variable. Creates an environmental variable "VAR" set to the value VAL, where VAL can contain regular expressions backreferences, $N and %N, which are expanded. You can use this flag more than once to set multiple variables. The variables can be later de-referenced in a following RewriteCond pattern via %{VAR}. Use this flag to strip and remember information from URLs. Note: The Store Rewrite Rules and the Retrieve Rewrite Rules share variable values. Because of this behavior, you can set a variable to a time-sensitive sessionid value when an embedded URL is encountered and stored. When the next URL is retrieved from the temporary storage list, the latest sessionid value can be added to it before that page is retrieved. Example of a RewriteRule with a function Assume that you have a case-sensitive server, which handles the strings "www.mydomain.com" and "www.MyDomain.com" differently. In order for your server to work correctly, ensure that the domain is always "www.mydomain.com" even though some documents contain links referencing "www.MyDomain.com." To do this, you could use the following rule: RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2 This rewrite rule uses the function tolower to rewrite the domain portion of a URL to ensure that it is always lowercase as in the following: 1. The Pattern (^http://([^/]*)(.*)$) contains a backreference ([^/]*) that matches all characters between http:// and the first/ in the URL. The pattern also contains a second backreference (.*) that matches all remaining characters in the URL. 2. The Substitution (http://${tolower:$1}$2) tells the search engine to rewrite the URL by using the tolower function on the first backreference(http://${tolower:$1}$2) leaving the rest of the URL untouched (http://${tolower:$1}$2). Thus, a URL of the form http://www.MyDomain.com/INTRO/index.Html is rewritten as http://www.mydomain.com/INTRO/index.Html. About RewriteCond directives The RewriteCond directive defines a rule condition. When a RewriteCond precedes a RewriteRule, the rule is only used if its pattern matches the current title and the additional conditions apply. Rewrite conditions take the following form: RewriteCond TestString CondPattern [Flags] TestString is a string which can contain the following constructs: Plain text: Text that is passed through unchanged. About the Settings menu 313 Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are the two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2. • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0<= N <= 9). Variables: These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the RewriteRule [E] flag for more information on setting variables. Functions: These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is the following: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged, spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL encode characters back into single characters. CondPattern is a standard Extended Regular Expression with some additions. The pattern string can be prefixed with a '!' character (exclamation mark) to specify a non-matching pattern. Instead of real regular expression strings, you can use one of the following special variants: Note: You can also prefix all of these tests with an exclamation mark ('!') to negate their meaning. CondPattern string Description '<CondPattern' Lexically less. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically less than CondPattern. '>CondPattern' Lexically greater. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically greater than CondPattern. '=CondPattern' Lexically equal. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically equal to CondPattern, that is, the two strings are exactly equal (character by character). If CondPattern is just "" (two quotation marks), this compares TestString to the empty string. [Flags] About the Settings menu 314 (optional) Enclose flags in brackets. Multiple flags are comma-separated. Flag Description 'nocase|NC' No case. This flag makes the test not case sensitive, that is, there is no difference between 'A-Z' and 'a-z' both in the expanded TestString and in the CondPattern. 'ornext|OR' Or next condition. Use this flag to combine rule conditions with a local OR instead of the implicit AND. Without this flag, you would have to write the cond/rule multiple times. Example Some web pages assign a "sessionid" CGI variable the first time a visitor arrives at a site. This variable is used to identify the visitor and, as the visitor browses through the site, the variable is passed along. Because the search robot looks like a visitor to your site, it is assigned a "sessionid"number. The search robot maintains this single "sessionid" value, even if a second site page tries to assign a new value. To ensure this, you need two rewrite rules. The first rule is used to identify and store the sessionid variable: RewriteCond RewriteRule %{sessionid} !.+ ^.+sessionid=([^&#]+).*$ - [E=sessionid:$1] The RewriteRule uses an E-flag ([E=sessionid:$1]) to assign the current value of the sessionid CGI parameter to the variable sessionid. The $1 refers to the first backreference, which is contained between the first set of parentheses in the RewriteRule's Pattern ([^&#]+). The regular expression ^&#]+ matches the portion of a URL between the word sessionid and the next&or#character. Since this RewriteRule is used only to create the initial value for the sessionid variable, it does no rewriting. Note that the rule's Substitution field is set to - to indicate that no rewriting is required. The RewriteCond examines the variable sessionid (%{sessionid}). If it does not have even a single character (!.+), then the RewriteRule matches. Using this rule, the URL is read as http://www.domain.com/home/?sessionid=1234&function=start and assign the value 1234 to the variable sessionid. The second rule is used to rewrite all URLs that match the following RewriteRule Pattern: RewriteRule ^(.+)sessionid=[^&#]+(.*)$ $1sessionid=%{sessionid}$2 The RewriteRule Pattern contains two backreferences: (.+) and(.*). The first backreference matches all characters before sessionid. The second backreference matches all characters after the terminating & or #. The Substitution pattern rewrites the URL using the first backreference, followed by the string "sessionid=", followed by the value of the session ID variable defined by the first rule %{sessionid}, followed by the second backreference. ($1sessionid=%{sessionid}$2) Notice that this RewriteRule does not contain a RewriteCond. As such, it causes a rewrite for all URLs that match the RewriteRule Pattern. Thus, if the value of the sessionid variable (%{sessionid}) is 1234, a URL of the form About the Settings menu 315 http://www.domain.com/products/?sessionid=5678&function=buy is rewritten as http://www.domain.com/products/?sessionid=1234&function=buy Acknowledgment The rewrite engine software was originally developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). Adding a crawl list store URL rule You can add crawl list store URL rules to specify how the URLs that are encountered within web content are rewritten. You can specify an unlimited number of rules and conditions, and you can manipulate any portion of the encountered URLs. To add crawl list store URL rules 1. On the product menu, click Settings > Rewrite Rules > Crawl List Store URL Rules. 2. In the Crawl List Store URL Rules field, enter the rules that you want. Blank lines and comment lines beginning with a '#' (hash) character are permitted. 3. (Optional) On the Crawl List Store URL Rules page, in the Test Crawl List Store URL Rules field, enter a test URL whose crawl rules you want to test, and then click Test. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Crawl List Store URL Rules page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Crawl List Retrieve URL Rules Crawl URL Rules specify how the URLs that are encountered within web content are rewritten. You can specify an unlimited number of rules and conditions, and you can manipulate any portion of the encountered URLs. Before the effects of the rules are visible to customers, be sure you rebuild your site index. Crawl rules are most useful for rewriting dynamic parts of a URL, such as a session identifier which is unique for each customer who visits your website. You can also use rewrite rules to hide portions of a URL, such as query parameters, from the search robot. By default, no rules are specified and no URL rewriting is performed. As a website is crawled, embedded content URLs are stored in a temporary list of additional web pages to crawl. When the search robot retrieves a URL from the list, the Retrieve Rewrite Rules are used to manipulate portions of that URL. Typically, the retrieve rules are used for inserting time-sensitive data into a URL. It is this final URL that is used to actually retrieve the page from your website. About the Settings menu 316 Retrieve Rewrite Rules are only necessary if URLs contain dynamic data, like a session id, and if that dynamic data changes over time to remain valid. In this case, you use Store Rewrite Rules to get the most recent state of the data from the encountered URLs. Then, you use the Retrieve Rewrite Rules to add that data to each URL when the search robots retrieves the page. Each rule is specified with a rewrite rule (RewriteRule) directive and one or more optional rewrite conditions (RewriteCond). The order of the rules is important. The rule set is looped through rule by rule. When a rule matches, it loops through any corresponding rewrite conditions. A crawl URL rule is specified in the following manner: RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] When an embedded URL is encountered, the search robot tries to match the URL to the Pattern of each crawl rule. If the pattern matches, the rewrite engine looks for corresponding RewriteCond directives. If no conditions are present, the URL is substituted with a new value constructed from the Substitution string and continues with the next rule in the rule set. If conditions exist, they are processed in the order that they are listed. The rewrite engine tries to match a condition pattern (CondPattern) against a test string (TestString). If the two match, then the next condition is processed until no more conditions are available. If all conditions match, the URL is replaced with the Substitution that is specified in the rule. If the condition is not met, the complete set of conditions and the corresponding rule fails. About RewriteRule directives A RewriteRule directive has the following form: RewriteRule Pattern Substitution [Flags] Pattern can be a POSIX regular expression, which is applied to the current URL. The "current URL" can differ from the original requested URL, because earlier rules may have already matched and altered the URL. See Regular Expressions. You cannot use the "not" character ('!') to prefix the pattern. The "not" character lets you negate a pattern, that is, to be true only if the current URL does NOT match this pattern. The "not" character can be used when it is better to match a negative pattern, or as a final default rule. Note: You cannot use both the "not" character and grouped wildcards in a pattern. In addition, you cannot use a negated pattern when the substitution string contains $N. You can use parentheses to create a backreference in the pattern, which can be referenced by the Substitution and CondPattern. Substitution The URL is replaced by the substitution string, that contains the following: Plain Text: Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are the two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2. • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). About the Settings menu 317 Variables: These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE is a string for the name of a defined variable. See the [E] flag for more information on setting environment variables. Functions: These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is the following: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. • The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged; spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL- encoded characters back into single characters. Note: There is a special substitution string: '-' that means "NO substitution." The '-' string is often used with the C (chain) flag, letting you match a URL to several patterns before a substitution occurs. [Flags] (optional) Enclose flags in brackets. Multiple flags are comma-separated. Flag Description 'last|L' Last rule. Stops the rewriting process and does not apply any additional rewriting rules. Use this flag to prevent any further processing to the current URL. 'next|N' Next round. Reruns the rewriting process (starting again with the first rewriting rule) using the URL from the last rewriting rule (not the original URL). Be careful not to create a deadloop. 'chain|C' Chained with next rule. Chains the current rule to the next rule (which can also be chained to its following rule, and so on). If a rule matches, then the substitution process continues as usual. If the rule does not match, then all subsequent chained rules are skipped. 'nocase|NC' No case. Makes the Pattern not case sensitive (that is, there is no difference between 'A-Z' and 'a-z') when the pattern is matched against the current URL. 'skip|S=num' Skip the next rule or rules. If the current rule matches, this flag forces the rewrite engine to skip the next num rules in the rule set. Use this flag to make pseudo if-then-else constructs. The last rule of the then-clause About the Settings menu Flag 318 Description becomes a skip=N where N is the number of rules in the else-clause. Note: This flag is not the same as the 'chain|C' flag!) 'env|E=VAR:VAL' Sets the environmental variable. Creates an environmental variable "VAR" set to the value VAL, where VAL can contain regular expressions backreferences, $N and %N, which are expanded. You can use this flag more than once to set multiple variables. The variables can be later de-referenced in a following RewriteCond pattern via %{VAR}. Use this flag to strip and remember information from URLs. Note: The Store Rewrite Rules and the Retrieve Rewrite Rules share variable values. Because of this behavior, you can set a variable to a time-sensitive sessionid value when an embedded URL is encountered and stored. When the next URL is retrieved from the temporary storage list, the latest sessionid value can be added to it before that page is retrieved. Example of a RewriteRule with a function Assume that you have a case-sensitive server, which handles the strings "www.mydomain.com" and "www.MyDomain.com" differently. In order for your server to work correctly, ensure that the domain is always "www.mydomain.com" even though some documents contain links referencing "www.MyDomain.com." To do this, you could use the following rule: RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2 This rewrite rule uses the function tolower to rewrite the domain portion of a URL to ensure that it is always lowercase as in the following: 1. The Pattern (^http://([^/]*)(.*)$) contains a backreference ([^/]*) that matches all characters between http:// and the first/ in the URL. The pattern also contains a second backreference (.*) that matches all remaining characters in the URL. 2. The Substitution (http://${tolower:$1}$2) tells the search engine to rewrite the URL by using the tolower function on the first backreference(http://${tolower:$1}$2) leaving the rest of the URL untouched (http://${tolower:$1}$2). Thus, a URL of the form http://www.MyDomain.com/INTRO/index.Html is rewritten as http://www.mydomain.com/INTRO/index.Html. About RewriteCond directives The RewriteCond directive defines a rule condition. When a RewriteCond precedes a RewriteRule, the rule is only used if its pattern matches the current title and the additional conditions apply. Rewrite conditions take the following form: RewriteCond TestString CondPattern [Flags] TestString is a string which can contain the following constructs: About the Settings menu 319 Plain text: Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are the two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2. • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0<= N <= 9). Variables: These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the RewriteRule [E] flag for more information on setting variables. Functions: These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is the following: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged, spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL encode characters back into single characters. CondPattern is a standard Extended Regular Expression with some additions. The pattern string can be prefixed with a '!' character (exclamation mark) to specify a non-matching pattern. Instead of real regular expression strings, you can use one of the following special variants: Note: You can also prefix all of these tests with an exclamation mark ('!') to negate their meaning. CondPattern string Description '<CondPattern' Lexically less. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically less than CondPattern. '>CondPattern' Lexically greater. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically greater than CondPattern. '=CondPattern' Lexically equal. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically equal to CondPattern, that is, the two strings are exactly equal (character by character). If CondPattern is just "" (two quotation marks), this compares TestString to the empty string. About the Settings menu 320 [Flags] (optional) Enclose flags in brackets. Multiple flags are comma-separated. Flag Description 'nocase|NC' No case. This flag makes the test not case sensitive, that is, there is no difference between 'A-Z' and 'a-z' both in the expanded TestString and in the CondPattern. 'ornext|OR' Or next condition. Use this flag to combine rule conditions with a local OR instead of the implicit AND. Without this flag, you would have to write the cond/rule multiple times. Example Some web pages assign a "sessionid" CGI variable the first time a visitor arrives at a site. This variable is used to identify the visitor and, as the visitor browses through the site, the variable is passed along. Because the search robot looks like a visitor to your site, it is assigned a "sessionid"number. The search robot maintains this single "sessionid" value, even if a second site page tries to assign a new value. To ensure this, you need two rewrite rules. The first rule is used to identify and store the sessionid variable: RewriteCond RewriteRule %{sessionid} !.+ ^.+sessionid=([^&#]+).*$ - [E=sessionid:$1] The RewriteRule uses an E-flag ([E=sessionid:$1]) to assign the current value of the sessionid CGI parameter to the variable sessionid. The $1 refers to the first backreference, which is contained between the first set of parentheses in the RewriteRule's Pattern ([^&#]+). The regular expression ^&#]+ matches the portion of a URL between the word sessionid and the next&or#character. Since this RewriteRule is used only to create the initial value for the sessionid variable, it does no rewriting. Note that the rule's Substitution field is set to - to indicate that no rewriting is required. The RewriteCond examines the variable sessionid (%{sessionid}). If it does not have even a single character (!.+), then the RewriteRule matches. Using this rule, the URL is read as http://www.domain.com/home/?sessionid=1234&function=start and assign the value 1234 to the variable sessionid. The second rule is used to rewrite all URLs that match the following RewriteRule Pattern: RewriteRule ^(.+)sessionid=[^&#]+(.*)$ $1sessionid=%{sessionid}$2 The RewriteRule Pattern contains two backreferences: (.+) and(.*). The first backreference matches all characters before sessionid. The second backreference matches all characters after the terminating & or #. The Substitution pattern rewrites the URL using the first backreference, followed by the string "sessionid=", followed by the value of the session ID variable defined by the first rule %{sessionid}, followed by the second backreference. ($1sessionid=%{sessionid}$2) About the Settings menu 321 Notice that this RewriteRule does not contain a RewriteCond. As such, it causes a rewrite for all URLs that match the RewriteRule Pattern. Thus, if the value of the sessionid variable (%{sessionid}) is 1234, a URL of the form http://www.domain.com/products/?sessionid=5678&function=buy is rewritten as http://www.domain.com/products/?sessionid=1234&function=buy Acknowledgment The rewrite engine software was originally developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). Adding crawl list retrieve URL rules You can add crawl list retrieve URL rules to specify how encountered URLs within web content are rewritten. Retrieve Rewrite Rules are only necessary if URLs contain dynamic data, such as a session ID, and if that dynamic data changes over time to remain valid. To add crawl list retrieve URL rules 1. On the product menu, click Settings > Rewrite Rules > Crawl List Retrieve URL Rules. 2. In the Crawl List Retrieve URL Rules field, enter the rules that you want. Blank lines and comment lines beginning with a '#' (hash) character are permitted. 3. (Optional) On the Crawl List Retrieve URL Rules page, in the Test Crawl List Retrieve URL Rules field, enter a test URL whose crawl rules you want to test, and then click Test. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Crawl List Retrieve URL Rules page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Crawl Title Rules Crawl Title Rules specify how encountered titles within Web content are rewritten before they are stored in the search index. For example, you can use a rewrite rule to remove a portion of a title such as an organization name. As a website is crawled, encountered titles are stored in a temporary buffer. However, before a title is added to this buffer, the title rules are applied to it. By default, site search/merchandising has no crawl title rules and makes no title modifications. Before the effects of the rules are visible to customers, rebuild your site index. You can quickly revert any changes you make to Crawl Title Rules by using the History feature. Rules can consist of two main elements: the RewriteRule and the optional RewriteCond. You can specify an unlimited number of rules and conditions. The order of these rules is important because the rule set is looped through rule by rule. When a rule About the Settings menu 322 matches, it loops through any (optional) corresponding rewrite conditions. Crawl URL rules are specified in the following manner: RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] When a title is encountered, the search robot tries to match the title to the Pattern of each crawl rule. If the pattern matches, the rewrite engine looks for corresponding RewriteCond directives. If no conditions are present, the URL is substituted with a new value constructed from the Substitution string and continues with the next rule in the rule set. If conditions exist, they are processed in the order that they are listed. The rewrite engine tries to match a condition pattern (CondPattern) against a test string (TestString). If the two match, then the next condition is processed until no more conditions are available. If all conditions match, the URL is replaced with the Substitution that is specified in the rule. If the condition is not met, the complete set of conditions and the corresponding rule fails. Enter the Crawl URL Rules in the text box, and then click Save Changes. Blank lines and comment lines beginning with a '#' (hash) character are permitted. To test the search rules, you can enter a test URL in the "Test Rewrite Rules" text box, and then click Test. RewriteRule directive Each RewriteRule directive defines one rewriting rule. Rules are applied in the order in which they are listed. A rewrite rule takes the following form: RewriteRule Pattern Substitution [Flags] Pattern can be a POSIX regular expression, which is applied to the current title. The "current title" differs from the original title, because earlier rules have already matched and altered it. See Regular Expressions. You can use the "not" character ('!') to prefix the pattern. The "not" character allows you to negate a pattern, that is, to be true only if the current title does NOT match the pattern. The "not" character can be used when it is better to match a negative pattern, or as a final default rule. Note: You cannot use both the "not" character and grouped wildcards in a pattern. In addition, you cannot use a negated pattern when the substitution string contains $N. You can use parentheses to create a backreference, which can be referenced by the Substitution and CondPattern. Substitution The title is replaced by the substitution string. The string can contain the following: Plain text - Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the [E] flag for more information on setting environment variables. About the Settings menu 323 Functions These are functions of the form ${NAME_OF_FUNCTION: key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. Note: There is a special substitution string: '-' that means "NO substitution." The '-' string is often useful with the C (chain) flag, allowing you to match a title to several patterns before a substitution occurs. [Flags] (optional) Flags are enclosed in brackets and multiple flags are comma-separated: Flag Description 'last|L' Last rule. Stops the rewrite process and does not apply any additional rewriting rules. Use this flag to prevent any further processing to the current title. 'next|N' Next round. Reruns the rewriting process (starting again with the first rewriting rule) using the title from the last rewriting rule, not the original title. Be careful not to create a dead loop. 'chain|C' Chained with next rule. Chains the current rule to the next rule (which can also be chained to its following rule, and so on). If a rule matches, then the substitution process continues as usual. If the rule does not match, then all subsequent chained rules are skipped. 'nocase|NC' No case. Makes the Pattern not case sensitive (that is, there is no difference between 'A-Z' and 'a-z') when the pattern is matched against the current title. 'skip|S=num' Skip next rule or rules. If the current rule matches, this flag forces the rewrite engine to skip the next num rules in the rule set. Use this to make pseudo if-then-else constructs. The last rule of the then-clause becomes a skip=N where N is the number of rules in the else-clause. (Note: This is not the same as the 'chain|C' flag!) 'env|E=VAR:VAL' Set environment variable. Creates an environmental variable "VAR" set to the value VAL, where VAL can contain regular expressions backreferences, About the Settings menu Flag 324 Description $N and %N, which is expanded. You can use this flag more than once to set multiple variables. The variables can be later referenced in a following RewriteCond pattern via %{VAR}. Use this flag to strip and remember information from titles. RewriteCond Directive (Optional) The RewriteCond directive defines a rule condition. When a RewriteCond precedes a RewriteRule, the rule is only used if its pattern matches the current title and the additional conditions apply. Rewrite condition directives take the following form: RewriteCond TestString CondPattern [Flags] TestString is a string that can contain the following constructs: Plain text - Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. There are two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the [E] flag for more information on setting environment variables.. Functions These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. • The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged, spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL- encoded characters back into single characters. CondPattern is a standard Extended Regular Expression with some additions. The pattern string can be prefixed with a '!' character (exclamation mark) to specify a non-matching pattern. Instead of real regular expression strings, you can use one of the following special variants. Note: You can prefix all of these tests with an exclamation mark ('!') to negate their meaning. CondPattern string Description '<CondPattern' Is lexically less. About the Settings menu CondPattern string 325 Description Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically less than CondPattern. '>CondPattern' Is lexically greater. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically greater than CondPattern. '=CondPattern' Is lexically equal. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically equal to CondPattern, that is, the two strings are exactly equal (character by character). If CondPattern is just "" (two quotation marks), this compares TestString to the empty string. [Flags](optional) Flags are enclosed in brackets and multiple flags are comma-separated: Flag Description 'nocase|NC' No case. Makes the test not sensitive. That is, there is no difference between 'A-Z' and 'a-z' both in the expanded TestString and in the CondPattern. 'ornext|OR' Or next condition. Use this flag to combine rule conditions with a local OR instead of the implicit AND. Without this flag, you would have to write the cond/rule multiple times. Example Assume that you have a corporate Web site with a standard title format: "My Company" followed by a hyphen and then a page-specific description ("My Company - Welcome" or "My Company - News", for example). You want to strip "My Company - " from the title and convert the whole title into uppercase letters when it indexes the site. The following rewrite rule uses the function toupper to rewrite only the descriptive portion of a title to uppercase: RewriteRule ^My[[:blank:]]Company[[:blank:]]-[[:blank:]](.*)$ ${toupper:$1} The rule's Pattern (^My[[:blank:]]Company[[:blank:]]-[[:blank:]](.*)) contains a backreference (.*) that matches the title content that follows "My Company-". Remember that surrounding a portion of a pattern with parenthesis ( ) About the Settings menu 326 creates a backreference that can be referenced by the Substitution. In this example, the Substitution (${toupper:$1}) rewrites that backreference ($1) using the toupper function. Thus, a title of the form "My Company - Welcome" is rewritten as "WELCOME". Acknowledgment The rewrite engine software was originally developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). Adding crawl title rules You can add crawl title rules to specify how the encountered titles within the web content are rewritten before they are stored in the search index. To add crawl title rules 1. On the product menu, click Settings > Rewrite Rules > Crawl Title Rules. 2. In the Crawl Title Rules field, enter the rules that you want. Blank lines and comment lines beginning with a '#' (hash) character are permitted. 3. (Optional) On the Crawl Title Rules page, in the Test Crawl Title Rules field, enter a test URL whose search rules you want to test, and then click Test. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Crawl Title Rules page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About Search URL Rules Search URL Rules specify how the URLs in your web site search results should display. The rules operate on full URLs. Any portion of the URL can be manipulated, including query arguments where session ID information is often kept. Typically, search URL rules are used to insert a session ID into a URL. However, you can also use search URL rules to alter the domain name that is displayed with your results. By default, no rules are specified and no URL modification is performed. Search URL rules can consist of two main elements: the RewriteRule and the optional RewriteCond. When a URL is included as part of a search result, the rules are used to manipulate it. You can specify an unlimited number of search URL rules and conditions. The order of these rules is important because the rule set is looped through rule-by-rule. When a rule matches, the software loops through any (optional) corresponding rewrite conditions. Crawl URL rules are specified in the following manner: RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] About the Settings menu 327 RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] When processing a URL, site search/merchandising tries to match it to the Pattern of each search rule. If the match fails, the rewrite engine immediately stops processing the rule and continues with the next rule in the set. If the pattern matches, the rewrite engine looks for corresponding RewriteCond instructions. If no conditions exist, the URL is substituted with a new value. This value is constructed from the Substitution string and continues with the next rule in the rule set. If conditions exist, the order that they are listed is how they are processed. The rewrite engine tries to match a condition pattern (CondPattern) against a test string (TestString). If the two match, then the next condition is processed until no more conditions are available. If all conditions match, the URL is replaced with the Substitution specified in the rule. If the condition is not met, the complete set of conditions and the corresponding rule fails. About RewriteRule directive A rewrite rule takes the following form: RewriteRule Pattern Substitution [Flags] Pattern can be a POSIX regular expression, which gets applied to the current URL. The "current URL" may differ from the original URL, because earlier rules may have already matched and altered it. See Regular Expressions. You can use the "not" character ('!') to prefix the pattern. The "not" character lets you negate a pattern. In other words, it is true only if the current URL does NOT match the pattern. You can use the "not" character when it is better to match a negative pattern, or as a final default rule. Note that you cannot use both the "not" character and grouped wildcards in a pattern. In addition, you cannot use a negated pattern when the substitution string contains $N. You can use parentheses to create a backreference, which can be referenced by the Substitution and CondPattern. Substitution The URL is completely replaced by the substitution string, which can contain the following: Plain Text - Text that is passed through unchanged. Backreferences Provides access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. There are two types of backreferences: RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} RewriteCond Backreferences- These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Functions: These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. • The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged; spaces are translated to '+'; all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL- encoded characters back into single characters. Note: There is a special substitution string: '-' that means "NO substitution." The '-' string is often useful in conjunction with the C (chain) flag. It lets you match a URL to several patterns before a substitution occurs. [Flags] (optional) About the Settings menu 328 Flags are enclosed in brackets and multiple flags are comma-separated: Flag Description 'last|L' Last rule. Stop the rewriting process and do not apply any additional rewriting rules. Use this flag to prevent any further processing to the current URL. 'next|N' Next round. Re-run the rewriting process (starting again with the first rewriting rule) using the URL from the last rewriting rule (not the original URL). Be careful not to create a dead loop! 'chain|C' Chained with next rule. This flag chains the current rule to the next rule, which can also be chained to its following rule, and so forth. If a rule matches, then the substitution process continues as usual. If the rule does not match, then all subsequent chained rules are skipped. 'nocase|NC' No case. This flag makes the Pattern case-insensitive. In other words, there is no difference between 'A-Z' and 'a-z' when the pattern is matched against the current URL. 'skip|S=num' Skip next rule or rules. If the current rule matches, this flag forces the rewrite engine to skip the next num rules in the rule set. Use this to make pseudo if-then-else constructs. The last rule of the then-clause becomes a skip=N where N is the number of rules in the else-clause. (Note: This is not the same as the 'chain|C' flag!) 'env|E=VAR:VAL' Set environmental variable. This flag creates an environmental variable "VAR" set to the value VAL. VAL can contain regular expressions backreferences, $N and %N, which are expanded. You can use this flag more than once to set multiple variables. The variables can be later de-referenced in a following RewriteCond pattern via %{VAR}. Use this flag to strip and remember information from URLs. About the Settings menu 329 Note that the Store Rewrite Rules and the Retrieve Rewrite Rules share variable values. Because of this, you can set a variable to a time-sensitive sessionid value when an embedded URL is encountered and stored. When the next URL is retrieved from the temporary storage list, the latest sessionid value can be added to it before that page is retrieved. Example Assume that you have a case-sensitive server. It handles the strings "www.mydomain.com" and "www.MyDomain.com" differently. To have your server work correctly, you must ensure that the domain is always "www.mydomain.com" even though some documents contain links that reference "www.MyDomain.com." To do this, you could use the following rule: RewriteRule ^http://([^/]*)(.*)$ http://${tolower:$1}$2 This rewrite rule uses the function "tolower" to rewrite the domain portion of a URL to ensure that it is always lowercase: 1. The Pattern (^http://([^/]*)(.*)$) contains a backreference ([^/]*) that matches all characters between "http://" and the first "/" in the URL. The pattern also contains a second backreference (.*) that matches all remaining characters in the URL. 2. The Substitution (http://${tolower:$1}$2) tells the search engine to rewrite the URL by using the tolower function on the first backreference (http://${tolower:$1}$2) leaving the rest of the URL untouched (http://${tolower:$1}$2). Therefore, a URL of the form http://www.MyDomain.com/INTRO/index.Html is rewritten as http://www.mydomain.com/INTRO/index.Html RewriteCond Directive (Optional) The RewriteCond directive defines a rule condition. When a RewriteCond precedes a RewriteRule, the rule is only used if its pattern matches the current title and the additional conditions apply. Rewrite condition directives take the following form: RewriteCond TestString CondPattern [Flags] TestString is a string that can contains the following constructs: Plain text: Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. There are two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the RewriteRule [E] flag for more information on setting variables. Note: Rewrite rules generally make use of variables. All CGI parameters from the current URL are automatically made into variables. For example, the search URL "http://search.atomz.com/search/?sp_a=sp00000000&sp_q="Product"&session=1234&id=5678" will automatically provide four variables, which can be referenced in the rewrite rules. In this example, one variable is called "session" and its value is "1234" while another variable is called "id", and its value is "5678." (The other two variables are sp_a and sp_q.) You should pass all necessary variables as hidden fields from the search form on your Web page. In this example, you should pass About the Settings menu 330 the "session" and "id" values, which identify the Web site user performing the search. To pass a hidden field on the search form, use a tag like <input type=hidden name="session" value="1234">. Functions These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged, spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL encode characters back into single characters. CondPattern is a standard Extended Regular Expression with some additions. The pattern string can be prefixed with a '!' character (exclamation mark) to specify a non-matching pattern. Instead of real regular expression strings, you can use one of the following special variants. You can prefix all of these tests by using an exclamation mark ('!') to negate their meaning. CondPattern string Description '<CondPattern' Is lexically less. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically less than CondPattern. '>CondPattern' Is lexically greater. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically greater than CondPattern. '=CondPattern' Is lexically equal. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically equal to CondPattern. That is, the two strings are exactly equal (character by character). If CondPattern is just "" (two quotation marks), this compares TestString to the empty string. [Flags] (optional) Flags are enclosed in brackets and multiple flags are comma-separated: 'nocase|NC' (no case): This makes the test case-insensitive. In other words, there is no difference between 'A-Z' and 'a-z' both in the expanded TestString and in the CondPattern. 'ornext|OR' (or next condition): Use this to combine rule conditions with a local OR instead of the implicit AND. Without this flag you would have to write the cond/rule multiple times. Example Some Web pages assign a "sessionid" CGI variable the first time a customer arrives at a site. This variable is used to identify the customer and, as the customer browses through the site, the variable is passed along. Because the search robot looks like a About the Settings menu 331 customer to your site, it is assigned a "sessionid" number. The search robot maintains this single "sessionid" value, even if a second site page tries to assign a new value. To ensure this, you need the following rewrite rule: RewriteCond RewriteRule %{sessionid} .+ ^(.+)sessionid=[^&#]+(.*)$ $1sessionid=%{sessionid}$2 The RewriteRule Pattern contains two backreferences: (.+) and (.*). The first backreference matches all characters before "sessionid=". The second backreference matches all characters after the sessionid's terminating '&' or '#'. The Substitution pattern rewrites the URL using the first backreference, followed by the string "sessionid=", followed by the value of the session ID variable, which was passed as a CGI parameter in the URL, followed by the second backreference. ($1sessionid=%{sessionid}$2). The RewriteCond examines the variable sessionid (%{sessionid}). If it contains at least one character (.+), then the RewriteRule matches. Thus, if the search query is "http://search.atomz.com/search/?sp_a=sp99999999&sp_q=word&sessionid=5678", then all search result URLs will be rewritten so that the "sessionid" value is "5678" instead of the "sessionid" value that the search robot encountered when it crawled your site and saved the links. Acknowledgment The rewrite engine software was originally developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). Adding search URL rules You can add search URL rules to specify how the URLs in your website search results are displayed. The rules operate on full URLs. You can manipulate any portion of the URL, including query arguments where session ID information is often kept. To add search URL rules 1. On the product menu, click Settings > Rewrite Rules > Search URL Rules. 2. In the Search URL Rules field, enter the rules that you want. Blank lines and comment lines beginning with a '#' (hash) character are permitted. 3. (Optional) On the Search URL Rules page, in the Test Search URL Rules field, enter a test URL whose crawl rules you want to test, and then click Test. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Search URL Rules page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Settings menu 332 About Search Title Rules Search Title Rules specify how titles in your web site search results are displayed. Any portion of the title can be manipulated. A rewrite rule might be used to remove a portion of a title, like an organization name, for example. By default, site search/merchandising has no title rules and makes no title modifications. Title rules can consist of two main elements: the RewriteRule and optional RewriteCond. An unlimited number of rules and conditions may be specified. The order of these rules is important, because the rule set is looped through rule by rule. When a rule matches, the software loops through any (optional) corresponding rewrite conditions. Search Title Rules are specified in the following fashion: RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] RewriteCond TestString CondPattern [Flags] RewriteRule Pattern Substitution [Flags] When a title is encountered, site search/merchandising tries to match it to the Pattern of each crawl rule. If the pattern matches, the rewrite engine looks for corresponding RewriteCond directives. If no conditions are present, The title is substituted with a new value constructed from the Substitution string and continues with the next rule in the rule set. If conditions exist, they are processed in the order that they are listed. The rewrite engine tries to match a condition pattern (CondPattern) against a test string (TestString). If the two match, then the next condition is processed until no more conditions are available. If all conditions match, the URL is replaced with the Substitution specified in the rule. If the condition is not met, the complete set of conditions and the corresponding rule fails. RewriteRule Directive Each RewriteRule directive defines one rewriting rule. Rules are applied in the order in which they are listed. A rewrite rule takes the following form: RewriteRule Pattern Substitution [Flags] Pattern A POSIX regular expression, which gets applied to the current title. The "current title" may differ from the original title, because earlier rules may have already matched and altered it. See Regular Expressions. You may use the "not" character ('!') to prefix the pattern. The "not" character lets you negate a pattern. That is, to be true only if the current title does NOT match the pattern. The "not" character can be used when it is better to match a negative pattern, or as a final default rule. Note: You cannot use both the "not" character and grouped wildcards in a pattern. In addition, you cannot use a negated pattern when the substitution string contains $N. You may use parentheses to create a backreference, which can be referenced by the Substitution and CondPattern. Substitution The title is completely replaced by the substitution string, that can contain the following: Plain text - Text that is passed through unchanged. Backreferences Provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. The following are two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} • RewriteCond Backreferences About the Settings menu 333 These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the [E] flag for more information on setting environment variables. Variables can also be defined in the search form that generated the search results. Functions These are functions of the form ${NAME_OF_FUNCTION: key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. There is a special substitution string: '-' that means "NO substitution." The '-' string is often useful in conjunction with the C (chain) flag, allowing you to match a title to several patterns before a substitution occurs. [Flags] (optional) Flags are enclosed in brackets, and multiple flags are comma-separated: Flag Description 'last|L' Last rule. Stop the rewriting process and do not apply any additional rewriting rules. Use this flag to prevent any further processing to the current title. 'next|N' Next round. Re-run the rewriting process (starting again with the first rewriting rule) using the title from the last rewriting rule (not the original title!). Be careful not to create a dead loop. 'chain|C' Chained with next rule. This flag chains the current rule to the next rule (which can also be chained to its following rule, and so forth). If a rule matches, then the substitution process continues as usual. If the rule does not match, then all subsequent chained rules are skipped. 'nocase|NC' No case. This flag makes the Pattern case-insensitive. That is, there is no difference between 'A-Z' and 'a-z' when the pattern is matched against the current title. 'skip|S=num' Skip next rule or rules. If the current rule matches, this flag forces the rewrite engine to skip the next num rules in the rule set. Use this to make pseudo if-then-else constructs. The last rule of the then-clause About the Settings menu Flag 334 Description becomes a skip=N where N is the number of rules in the else-clause. (This is not the same as the 'chain|C' flag!) 'env|E=VAR:VAL' Set environment variable. This flag creates an environmental variable "VAR" set to the value VAL, where VAL can contain regular expressions backreferences, $N and %N, which will be expanded. You can use this flag more than once to set multiple variables. The variables can be later referenced in a following RewriteCond pattern via %{VAR}. Use this flag to strip and remember information from titles. RewriteCond Directive (Optional) The RewriteCond directive defines a rule condition. When a RewriteCond precedes a RewriteRule, the rule is only used if its pattern matches the current title and the additional conditions apply. Rewrite condition directives take the following form: RewriteCond TestString CondPattern [Flags] TestString is a string that can contain the following constructs: Plain text - Text that is passed through unchanged. Backreferences provide access to the grouped parts (inside parenthesis) of the Pattern or CondPattern. There are two types of backreferences: • RewriteRule Backreferences These match backreferences in the corresponding RewriteRule Pattern and take the form $N (0 <= N <= 9). For example, RewriteRule ^My[[:blank:]](.*)$ ${toupper:$1} • RewriteCond Backreferences These match backreferences in the last matched RewriteCond CondPattern and take the form %N (0 <= N <= 9). Variables These are variables of the form %{NAME_OF_VARIABLE} where NAME_OF_VARIABLE can be a string for the name of a defined variable. See the [E] flag for more information on setting environment variables. Variables can also be defined in the search form that generated the search results. Functions These are functions of the form ${NAME_OF_FUNCTION:key} where NAME_OF_FUNCTION is: • tolower makes all characters in key lowercase. • toupper makes all characters in key uppercase. • escape URL-encodes all characters in key. • The characters 'a'..'z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@', and '_' are left unchanged, spaces are translated to '+', and all other characters are transformed to their %xx URL-encoded equivalent. • unescape transforms '+' back to space and all %xx URL- encoded characters back into single characters. About the Settings menu 335 There is a special substitution string: '-' that means "NO substitution." The '-' string is often useful in conjunction with the C (chain) flag, allowing you to match a URL to several patterns before a substitution occurs. CondPattern A standard Extended Regular Expression with some additions. The pattern string can be prefixed with a '!' character (exclamation mark) to specify a non-matching pattern. Instead of real regular expression strings, you can use one of the following special variants. All of these tests can also be prefixed by an exclamation mark ('!') to negate their meaning. CondPattern string Description '<CondPattern' Is lexically less. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically less than CondPattern. '>CondPattern' Is lexically greater. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically greater than CondPattern. '=CondPattern' Is lexically equal. Treats the CondPattern as a plain string and compares it lexically to TestString. True if TestString is lexically equal to CondPattern. That is, the two strings are exactly equal (character by character). If CondPattern is just "" (two quotation marks), this compares TestString to the empty string. [Flags] (optional) Flags are enclosed in brackets, and multiple flags are comma-separated: Flag Description 'nocase|NC' (no case) Makes the test not sensitive. That is, there is no difference between 'A-Z' and 'a-z' both in the expanded TestString and in the CondPattern. 'ornext|OR' (or next condition) Use this to combine rule conditions with a local OR instead of the implicit AND. Without this flag you would have to write the cond/rule multiple times. Example Assume that you have a corporate Web site with a standard title format: "My Company" followed by a hyphen and then a page-specific description ("My Company - Welcome" or "My Company - News", for example). You want to strip "My Company - " from the title and to convert the whole title into uppercase letters when it indexes the site. About the Settings menu 336 The following rewrite rule uses the function toupper to rewrite only the descriptive portion of a title to uppercase: RewriteRule ^My[[:blank:]]Company[[:blank:]]-[[:blank:]](.*)$ ${toupper:$1} The rule's Pattern (^My[[:blank:]]Company[[:blank:]]-[[:blank:]](.*)) contains a backreference (.*) that matches the title content that follows "My Company-". Remember that surrounding a portion of a pattern with parenthesis ( ) creates a backreference that can be referenced by the Substitution. In this example, the Substitution (${toupper:$1}) rewrites that backreference ($1) using the toupper function. Thus, a title of the form "My Company - Welcome" is rewritten as "WELCOME". Acknowledgment The rewrite engine software was originally developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/). Adding search title rules You can add search title rules to specify how titles in your website search results are displayed. You can manipulate any portion of the title. To add search title rules 1. On the product menu, click Settings > Rewrite Rules > Search Title Rules. 2. In the Search Title Rules field, enter the rules that you want. Blank lines and comment lines beginning with a '#' (hash) character are permitted. 3. (Optional) On the Search Title Rules page, in the Test Search Title Rules field, enter a test title, and then click Test. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the Search Title Rules page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the SiteCatalyst menu Use the SiteCatalyst menu to setup SiteCatalyst metrics authentication, manage SiteCatalyst metrics of a Report Suite, or use SAINT to enhance SiteCatalyst reports through the acceptance of tabular data from outside sources. Setting up SiteCatalyst metrics authentication To incorporate SiteCatalyst metrics into your site search/merchandising rankings, you must first obtain a SiteCatalyst Web Services login. After you obtain the login information, you can use it to set up SiteCatalyst authentication in site search/merchandising. About the Settings menu 337 To set up SiteCatalyst metrics authentication 1. On the product menu, click Settings > SiteCatalyst > Authentication. 2. On the Setup SiteCatalyst Metrics Authentication page, specify the information requested in each field. See Setup SiteCatalyst Metrics Authentication options. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Setup SiteCatalyst Metrics Authentication options A table that describes the required text fields on the Setup SiteCatalyst Metrics Authentication page. See Setting up SiteCatalyst metrics authentication Text field Description SiteCatalyst Company Name The same Company Name setting that is used to log in to your SiteCatalyst account. Web Services Username The Web Services Username that is associated with your SiteCatalyst account. You can obtain this information in SiteCatalyst. On the SiteCatalyst menu bar, click Admin > Admin Console > Company > Web Services. The information is in the API Access Information table. Web Services Shared Secret The Web Services Shared Secret that is associated with your SiteCatalyst account. You can obtain this information in SiteCatalyst. On the SiteCatalyst menu bar, click Admin > Admin Console > Company > Web Services. The information is in the API Access Information table. About SiteCatalyst Report Suites To use SiteCatalyst Report Suite data within site search/merchandising, you must first create copies of the SiteCatalyst data in your site search/merchandising account. About the Settings menu 338 You can create new SiteCatalyst Report Suite definitions, or you can view or modify your existing SiteCatalyst Report Suites and associated metrics. The first time you access SiteCatalyst from within site search/merchandising, a list of your company's available Report Suites are downloaded and cached. If new Report Suites have recently been added, or existing ones removed, you can refresh the report suite list to re-download the list of Report Suites. Adding a SiteCatalyst Report Suite You can select a SiteCatalyst Report Suite on which to base your site search/merchandising Ranking rules. The list you can select from should correspond to the Report Suites that are available from within your SiteCatalyst account. The Report Suite you select determines the metrics that are available for use within your site search/merchandising Ranking Rules. See About Ranking Rules. After you add a SiteCatalyst Report Suite, you can edit its metrics. See Editing the SiteCatalyst metrics of a Report Suite. To add a SiteCatalyst Report Suite 1. 2. 3. 4. On the product menu, click Settings > SiteCatalyst > Metrics. On the SiteCatalyst Report Suites page, click Add Report Suite. In the drop-down list of the newly added table row, select the Report Suite that you want. Edit the SiteCatalyst metrics of a Report Suite. Editing the SiteCatalyst metrics of a Report Suite To incorporate SiteCatalyst metrics into your Ranking Rules in site search/merchandising, you select one or more of the metrics that are associated with the chosen Report Suite. Then you configure the options that are used to fetch metric data by way of the SiteCatalyst Web Service. See Adding a SiteCatalyst Report Suite. See Configuring advanced SiteCatalyst options. To edit the SiteCatalyst metrics of a Report Suite 1. On the product menu, click Settings > SiteCatalyst > Metrics. 2. On the SiteCatalyst Report Suites page, under the Actions column, click Edit for the Report Suite whose metrics you want to configure. 3. On the Edit SiteCatalyst Metrics page, set the metrics that are required. Metrics that do not have an asterisk (*) next to the metric name, are optional. See Edit SiteCatalyst Metrics options 4. Click Save Changes. You are returned to the Staged SiteCatalyst Report Suites page. 5. (Optional) Do one of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. About the Settings menu 339 See Viewing live settings. • Click Push Live. See Pushing stage settings live. Edit SiteCatalyst Metrics options A table that describes the options that are available on the Edit SiteCatalyst Metrics page in site search/merchandising. You base your Ranking Rules on the SiteCatalyst metrics that you want. See About Ranking Rules See Editing the SiteCatalyst metrics of a Report Suite Option Description Report Suite Displays the name of the currently Report Suite that you added. Report Suite View Name Provides an "alias" name for the SiteCatalyst Report Suite name. This alternate name is useful if the same Report Suite is used in more than one definition. Select Report Type Specifies the Report Type value to use with the selected Report Suite. The value identifies the key for each returned row of results. The Report Type is also known as the SiteCatalyst Element. This metric is required. Cross-reference Field Name Specifies a metadata field whose values are used as look-up "keys" into the Report Suite's data. If no value is selected ("-- None --"), this Report Suite's data is not available for use in Ranking calculations (Rules > Ranking Rules > Edit Rules). When you select a value, this field's values are used to cross-reference site search/merchandising documents with this Report Suite's SiteCatalyst data, using the selected Report Type value that you set earlier. Search Terms Report Gives you access to create business rules and simulate search terms from the Stage SiteCatalyst Data Preview page. See Previewing SiteCatalyst Data. A pull-down menu appears on every row that includes two options: Simulate Search Term and Create New Business Rule. About the Settings menu Option 340 Description Both options use data from the Report Type as the search terms. Therefore, this feature only makes sense if the Report Type represents search terms. Metrics Identifies the metric values that you want to download and use within your site search/merchandising Ranking Rules. The metrics that you configure here appear as choices on the Rules > Ranking Rules > Edit Rules member center pages, when the rule's Data Type is set to SiteCatalyst Metric (Number). The choices show a combination of the Report Suite names or Report Suite View Names, if specified, and the individual metric names. This metric is required. Minimum Metric Value Lets you enter a nonzero value to specify a minimum value for the metric. If blank, or zero, all values for the metric are downloaded; otherwise, the download for this metric stops when the minimum metric value is passed. SiteCatalyst metrics are retrieved in descending order. Click + to add additional metric definitions; click - to remove metric definitions that you no longer need or want. SiteCatalyst Metric Aggregation Period (Days) Controls the number of days worth of SiteCatalyst metrics to fetch, counting back from yesterday's date. No attempt is made to fetch data from the current day. The default is 7. This metric is required. SiteCatalyst Download Refresh Frequency (Days) Sets the minimum interval between downloads of SiteCatalyst data that is used in ranking calculations. Index-triggered downloads that occur within the download refresh frequency interval are ignored. However, manual downloads ignore this value. When you set this value to the default of 1, SiteCatalyst data does not download more than once within a 24 hour period. All Search indexes that occur within the download refresh frequency interval use the last data set that was downloaded. This metric is required. About the Settings menu 341 Deleting a SiteCatalyst Report Suite You can use Delete to remove a Report Suite from the SiteCatalyst Report Suites page. Deleting a Report Suite only removes the copy of the data from the site search/merchandising servers; it does not impact the data on SiteCatalyst systems. To delete a SiteCatalyst Report Suite 1. On the product menu, click Settings > SiteCatalyst > Metrics. 2. On the SiteCatalyst Report Suites page, under the Actions column, click Delete for the Report Suite you want to remove. 3. On the SiteCatalyst Delete Report Suite page, click Delete. Previewing SiteCatalyst Data You can use Preview to view your most recently loaded SiteCatalyst metrics. The Row column in the table shows the number for each row of metric data, indicating the original order that the SiteCatalyst metrics were loaded. The Product column shows the SiteCatalyst Element that is associated with each row of metric data. The values in this column are used to associate your site search/merchandising pages with their corresponding metric values, as configured in your ranking definitions. See About Ranking Rules. See Configuring ranking. The remaining columns show the metric values that are associated with each entry. If the table is empty, it means that you have not loaded any SiteCatalyst data yet. You can close the SiteCatalyst Data Preview page, and then load SiteCatalyst data. See Loading SiteCatalyst data. If the table was designated as a search term report, a small triangle appears in every row. You can click the drop-down list and select Simulate Search Term or Create New Business Rule. The action you select is applied to that row's search term, the data residing in the second column To preview SiteCatalyst Data 1. On the product menu, do one of the following: • Click Settings > SiteCatalyst > Metrics. On the SiteCatalyst Report Suites page, under the Actions column, click Preview for the Report Suite whose downloaded data you want to view. • Click Reports > SiteCatalyst Terms Reports. On the SiteCatalyst Terms Report page, under the Actions column, click Preview for the Report Suite whose downloaded data you want to view. 2. On the SiteCatalyst Data Preview page, use the navigation and viewing options at the top and bottom of the page to view the data. Click any column heading in the table to sort the data in ascending or descending order. 3. Do any of the following: • • Click Download to Desktop to download and save the table as a .xlt file. Close the page when you are finish previewing the SiteCatalyst data and return to the previously viewed page. About the Settings menu 342 Viewing the log from the most recent SiteCatalyst data load You can use View Log to examine the SiteCatalyst data log file of the most recent download process. You can also use the log view to monitor a running download. See Loading SiteCatalyst data. To view the log from the most recent SiteCatalyst data load 1. On the product menu, click Settings > SiteCatalyst > Metrics. 2. On the SiteCatalyst Report Suites page, click View Log. Log page, 3. On the SiteCatalyst Data Log page, use the navigation and viewing options at the top and bottom of the page to view the log information. 4. When you are finished, close the page to return to the SiteCatalyst Report Suites page. Loading SiteCatalyst data You can download the configured SiteCatalyst Report Suite data into site search/merchandising. The Data Load page shows the status of your last SiteCatalyst Data Load operation with the following information: Status field Description Status Indicates the success or failure of the last data load attempt. Or, it displays the status of a data load operation that is already in progress. Results Displays the number of rows of metric data that was downloaded during the last data load attempt. Start Time Displays the date and time that the last data load operation started. Stop Time Displays the completion date and time of the last data load operation. Or, it indicates the current data load operation is still in progress. To load SiteCatalyst data 1. On the product menu, click Settings > SiteCatalyst > Metrics. 2. On the Stage SiteCatalyst Report Suites page, click Load SiteCatalyst Data. 3. On the SiteCatalyst Data Load page, do one of the following: • Click Start Load to start the load operation. During a data load operation, theProgress row provides information on its progress. • Click Stop Load to stop the load operation. 4. Click Close to return to the Stage SiteCatalyst Reports Suite page. About the Settings menu 343 Refreshing the Report Suite list The first time you access SiteCatalyst from the site search/merchandising user interface, a list of your company's available SiteCatalyst Report Suites are downloaded and cached. If new Report Suites were recently added, or existing ones deleted, you can use Refresh Report Suite List to update the currently displayed list in site search/merchandising. See Adding a SiteCatalyst Report Suite. See Deleting a SiteCatalyst Report Suite. To refresh the Report Suite list 1. On the product menu, click Settings > SiteCatalyst > Metrics. 2. On the SiteCatalyst Report Suites page, click Refresh Report Suite List. Configuring advanced SiteCatalyst options You can use Advanced SiteCatalyst Options to control settings that are intended to help you fine tune the behavior of the SiteCatalyst Report Suite download process. See Editing the SiteCatalyst metrics of a Report Suite. To configure advanced SiteCatalyst options 1. On the product menu, click Settings > SiteCatalyst > Advanced Options. 2. On the Advanced SiteCatalyst Options page, set the following options: Option Description Maximum Rows, Any Metric An optimization setting that prevents the download of too much SiteCatalyst data. If you set this option to a nonzero value, the SiteCatalyst data fetch is stopped when the total number of rows fetched for each metric exceeds the specified value. The default value is 0; no maximum value applied. Metric Repeating Fetch Size (rows) Controls the number of SiteCatalyst metric values to fetch at a time. The metric data rows are repeatedly fetched until all the data is retrieved or until the maximum rows limit is reached. Normally you do not need to change this setting. However, you may find it helpful to optimize the metric download phase of a full re-index of your site. The default value is 5000. 3. Click Save Changes. 4. (Optional) Do one of the following: • Click History to revert any changes that you have made. About the Settings menu 344 See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About SAINT Classification Feeds You can use SiteCatalyst SAINT to enhance SiteCatalyst reports through the acceptance of tabular data from outside sources. For example, you can use site search/merchandising to retrieve the data from its own indexes and export that data to SiteCatalyst. To successfully use the SiteCatalyst SAINT feature in site search/merchandising be aware of the following requirements: • You must have a SiteCatalyst company and a Report Suite. See About SiteCatalyst Report Suites. • The SiteCatalyst user account must have privileges to modify the Report Suite. SeeSetting up SiteCatalyst metrics authentication. • The SiteCatalyst user must belong to the Web API group so that they can use the SiteCatalyst Web API. • The search index must have data that SiteCatalyst can use, such as having data in the correct format. Before you create a feed, review the following questions and information so that you can complete the SAINT Feed wizard successfully: • Which Report Suite are you going to work with? • Which classification set, such as product, e-var, and so on, are you going to provide data for? • What classifications exist in the reports? The answer to this question is determined by the type of data that is readily available from site search/merchandising, and the type of reports that SiteCatalyst reports as desirable. • SAINT accepts the data from site search/merchandising as a text type. The format of that data impacts the presentation of the SiteCatalyst reports. Creating a SiteCatalyst SAINT feed You can use SiteCatalyst SAINT to enhance SiteCatalyst reports through the acceptance of tabular data from outside sources. For example, you can use site search/merchandising to retrieve data from its own indexes and export that data to SiteCatalyst. To create a SiteCatalyst SAINT feed 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the SAINT Classification Feeds page, click Create SAINT Feed. 3. In the Create Feed dialog box, in the Feed Name text field, enter the new feed name, and then click Next. At this point, the feed is saved and added to the SAINT Classification Feed page. If you choose, you can exit, and edit the feed later to complete the wizard. 4. On the Authentication page, specify the SiteCatalyst company name, user name, and web secret in the respective text fields, and then click Next. Make sure that it is authorized to use the Web API with SiteCatalyst. 5. On the Report Suite page, choose a report suite and its classification data set, and then click Next. About the Settings menu 345 6. On the Field Maps page, map SiteCatalyst classifications with site search/merchandising meta data fields, and then click Next. To adjust SiteCatalyst classifications, click Edit SiteCatalyst Classifications to log in to SiteCatalyst. When you have finished making your changes, click Refresh Classifications to refresh the choices of classifications. 7. On the Search Criteria page, data from site search/merchandising can be filtered before it is submitted to SiteCatalyst SAINT. Construct filter rules here using the rule builder interface, and then click Next. 8. On the Configure FTP page, select the FTP server. Specify the frequency for how often you want to upload data, and then click Next. As a best practice, each feed has its own FTP account to avoid accidental lost of data. You can create a new SiteCatalyst FTP account here. 9. On the Verification page, click Show Data View to review the data view representation of the output. If any actual feed files exist, they are listed here and are available for you to download. 10. Click Close. Editing a SiteCatalyst SAINT feed You can edit all aspects of an existing SAINT feed that you have created. To edit a SiteCatalyst SAINT feed 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the Saint Classification Feeds page, under the Name column, in the drop-down list next to a feed, clickEdit feed. 3. In the SAINT feed dialog box, in the Feed Name text field, enter the new feed name, and then click Next. At this point, the feed is saved and added to the SAINT Classification Feed page. If you choose, you can exit, and edit the feed later to complete the wizard. 4. On the Authentication page, specify the SiteCatalyst company name, user name, and web secret in the respective text fields, and then click Next. Make sure that it is authorized to use the Web API with SiteCatalyst. 5. On the Report Suite page, choose a report suite and its classification data set, and then click Next. 6. On the Field Maps page, map SiteCatalyst classifications with site search/merchandising meta data fields, and then click Next. To adjust SiteCatalyst classifications, click Edit SiteCatalyst Classifications to log in to SiteCatalyst. When you have finished making your changes, click Refresh Classifications to refresh the choices of classifications. 7. On the Search Criteria page, data from site search/merchandising can be filtered before it is submitted to SiteCatalyst SAINT. Construct filter rules here using the rule builder interface, and then click Next. 8. On the Configure FTP page, select the FTP server. Specify the frequency for how often you want to upload data, and then click Next. As a best practice, each feed has its own FTP account to avoid accidental lost of data. You can create a new SiteCatalyst FTP account here. 9. On the Verification page, click Show Data View to review the data view representation of the output. If any actual feed files exist, they are listed here and are available for you to download. 10. Click Close. Deleting a SiteCatalyst SAINT feed You can delete an existing SiteCatalyst SAINT feed that you no longer need or use. About the Settings menu 346 To delete a SiteCatalyst SAINT feed 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the Saint Classification Feeds page, under the Name column, in the drop-down list next to a feed that you want to remove, clickDelete feed. 3. In the Delete dialog box, click Yes to verify the feed deletion. Viewing a SiteCatalyst SAINT feed file You can open the Verification page of an existing SAINT feed to review the data view representation of the output. If any actual feed files exist, they are listed here and are available for you to download as a text file. To view a SiteCatalyst SAINT feed file 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the Saint Classification Feeds page, under the Name column, in the drop-down list next to a feed, clickView Feed Files. 3. (Optional) Click Download File to save the feed file as a text file. 4. Click Close to return to the SAINT Classification Feeds page. Testing a SiteCatalyst SAINT feed You can test an existing SiteCatalyst SAINT feed with no file upload. See Generating and uploading a SiteCatalyst SAINT feed. See Viewing a SiteCatalyst SAINT feed file. To test a SiteCatalyst SAINT feed file 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the Saint Classification Feeds page, under the Name column, in the drop-down list next to a feed, clickTest Feed (No file upload). 3. When the feed finishes processing, from the feed name's drop-down list, click View Feed Files. 4. On the Verification page, click Download File to download the feed file. 5. Click Close to return to the SAINT Classification Feeds page. Generating and uploading a SiteCatalyst SAINT feed You can generate and upload feed files for an existing SiteCatalyst feed that you have created. See Testing a SiteCatalyst SAINT feed. See Viewing a SiteCatalyst SAINT feed file. To generate and upload a SiteCatalyst SAINT feed file 1. On the product menu, click Settings > SiteCatalyst > SAINT Classification Feeds. 2. On the Saint Classification Feeds page, under the Name column, in the drop-down list next to a feed, clickGenerate and Upload Feed. 3. When the feed finishes processing, from the feed name's drop-down list, click View Feed Files. 4. On the Verification page, click Download File to download the feed file. 5. Click Close to return to the SAINT Classification Feeds page. About the Settings menu 347 About SEO You can use SEO (Search Engine Optimization) meta tags to help tailor certain elements of your pages and thereby improve search engine placement. You can define each such element as a piece of starting text followed by a list of words. The list of words can include the following: • Popular search phrases on your site over a selected time period (for example, "last month"), subject to your custom exclusions. • Value sets of one or more fields from the search the page came from. • Static words and phrases that you define in a list The most common page elements that people use for SEO are the page title, and the "keywords" and "description" meta tags. You can define settings for these three page elements. Additionally, you can define these three settings for each of the three types of pages: Search Result Pages, Browse Pages, and Item Detail Pages. When you save or preview your SEO settings, small segments of search (transport) templates are generated that you can include in your other search templates with the <search-include> template tag. By way of example, you can include the Search Results Pages Title field into another template with the following: <search-include file="seo/seo_search_title.tpl" /> The nine possible values for the file attribute of the <search-include> tag for SEO fields are the following: • seo/seo_search_title.tpl • seo/seo_search_description.tpl • seo/seo_search_keywords.tpl • seo/seo_browse_title.tpl • seo/seo_browse_description.tpl • seo/seo_browse_keywords.tpl • seo/seo_item_title.tpl • seo/seo_item_description.tpl • seo/seo_item_keywords.tpl To use SEO fields in a presentation template, you complete several steps. First, you use <search-include> as described above to include the desired fields in an XML search template, within a <general> element. Then, surround each <search-include> tag with <general-field> and </general-field> tags, giving the field names in the name attribute as in the following example: <general> <general-field name="seo_search_title"><search-include file="seo/seo_search_title.tpl" /></general-field> <general-field name="seo_search_description"><search-include file="seo/seo_search_description.tpl" /></general-field> <general-field name="seo_search_keywords"><search-include file="seo/seo_search_keywords.tpl" /></general-field> </general> Then, in your presentation template, you can use <guided-general-field> tags to insert the named fields wherever you need as in the following example: <title><guided-general-field gsname="default" field="seo_search_title"></title> <meta name="description" content="<guided-general-field gsname="default" field="seo_search_description">"/> About the Settings menu 348 <meta name="keywords" content="<guided-general-field gsname="default" field="seo_search_keywords">"/> Notice the use of the gsname attribute to specify, in this case, the "default" search. Altogether, you can define nine different SEO fields that you can use in your web pages. They include the following: • Search Result pages - title, description, and keywords • Browse pages - title, description, and keywords • Item Detail pages - title, description, and keywords All nine fields are defined with similar settings. In fact, the names of the nine fields, such as the "title" field in "Search Results Pages", are only suggestions of how you might use them. You can use any of the fields in any context in your presentation templates and search templates. See also About Templates. See also Presentation template tags. See also Search template tags. See also SEO options for titles, descriptions, and keywords. Configuring a search results word list You can configure the list of search result words and phrases that are included in page titles, descriptions, and keywords. To configure a search results word list 1. On the product menu, click Settings > SEO > Search Result Pages. 2. On the SEO Browse Pages Word List page, in the respective Title, Description, and Keywords groups, set the options that you want. See SEO options for titles, descriptions, and keywords. 3. (Optional) Click Preview Sample Output to preview the resulting values for the SEO fields that you set. See Previewing the SEO meta tags that you configured. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the SEO Search Results Word List page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Settings menu 349 SEO options for titles, descriptions, and keywords A table that describes the options that are available in the Title, Description, and Keywords group boxes on the Staged SEO Search Results Word List page, the Staged SEO Browse Pages Word List page, and the Staged SEO Item Detail Word List page. Option Description Title | Description | Keywords Starts With The text that you want to display in front of the word list. For example, you might want the Keywords list to begin with the word "Brands". Include Popular Searches During The time period for which searches are included. Maximum Search Count The maximum number of searches that are included. Include Field Values The field values that are included in the results word list. Add These Words & Phrases List the words that you want to add to the search results page title, the browse page title, or the item detail page title. Click Edit to add words to the list. You can add one word or phrase per line. When you are finished, click Save Changes, and then close the page to return to the main SEO page. Remove These Words & Phrases (except from included field values) List the words that you want to remove from the search results page title, the browse page title, or the item detail page title. Click Edit to add words to the remove list. You can add one word or phrase per line. When you are finished, click Save Changes, and then close the page to return to the main SEO page. See also About SEO Configuring a browse pages word list You can configure the list of browse pages words and phrases that are included in page titles, descriptions, and keywords. To configure a browse pages word list 1. On the product menu, click Settings > SEO > Browse Pages. 2. On the SEO Browse Pages Word List page, in the respective Title, Description, and Keywords groups, set the options that you want. See SEO options for titles, descriptions, and keywords. 3. (Optional) Click Preview Sample Output to preview the resulting values for the SEO fields that you set. About the Settings menu 350 See Previewing the SEO meta tags that you configured. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the SEO Browse Pages Word List page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Configuring an item detail word list You can configure the list of item detail words and phrases that are included in page titles, descriptions, and keywords. To configure an item detail word list 1. On the product menu, click Settings > SEO > Item Detail Pages. 2. On the SEO Item Detail Word List page, in the respective Title, Description, and Keywords groups, set the options that you want. See SEO options for titles, descriptions, and keywords. 3. (Optional) Click Preview Sample Output to preview the resulting values for the SEO fields that you set. See Previewing the SEO meta tags that you configured. 4. Click Save Changes. 5. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 6. (Optional) On the SEO Item Detail Word List page, do any of the following: • Click History to revert any changes that you have made. See Using the History option. • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Previewing the SEO meta tags that you configured You can preview the resulting values for the SEO fields that you set to see what is inserted where you use them. SEO fields can contain included field values, so the search results may depend on the search query that you specify. About the Settings menu 351 To preview the SEO meta tags that you configured 1. 2. 3. 4. On the product menu, click Settings > SEO > Search Result Pages. On the SEO page, click Preview Sample Output. On the SEO Preview page, in the Enter sample query field, type the query term you want to search on. Click Search. The resulting Title, Description, and Keywords fields show the content that is inserted into a page based on the search query you just entered. 5. Click Close to return to the main SEO page. About the My Profile menu Use the My Profile menu to set personal information, preferences, login password, and view access privileges. Configuring your personal user information You can view and manage your personal user information associated with your account including setting your required email address and the character encoding that is used by the majority of your website pages. The character encoding that you select is applied to the web pages in your account as long as they do not specify an overriding character set encoding in a meta tag. The character encoding is also applied to the account configuration pages. The default value is "Western European (ISO-8859-1). When you specify the email address it must contain ASCII characters only. Use standard alphabetic (a..z) characters or numeric (0..9) characters with exactly one '@' character used to separate the user name from the domain. The characters '_', '+', '-', '.', '!', '#', '$', ''', '%', '&', '*', '=', '?', '^', '{', and '}' are also allowed. Your email address cannot start with a period ('.') character. See Configuring your preferences. See Changing your login password See Canceling your login. See Viewing your access privileges. To configure your personal user information 1. On the product menu, click Settings > My Profile > Personal Information. 2. On the Personal Information page, specify the fields that you want. Only the Email Address field is required. 3. Click Save Changes. Configuring your preferences You can configure preferences that are specific to the user interface. For example, you can set your preference as to which Rule Builder user interface you want to use as the default. Or, you can choose to validate template tag attributes when you save, or validate template references to Guided Search objects when you save. See Configuring your personal user information. About the Settings menu 352 See Changing your login password See Canceling your login. See Viewing your access privileges. SeeAbout Business Rules. See About Templates. To configure your preferences 1. On the product menu, click Settings > My Profile > My Preferences. 2. On the My Preferences page, set the fields that you want. Option Description Rule Builder Preference Lets you select the default user interface that you want to use when you build a new business rule. You can choose a simplified, visual interface for fast rule creation, or an advanced options interface that gives you greater control and flexibility. The default preference is Visual. When you build a business rule, you can still switch between using a visual interface or an advanced interface, regardless of the rule builder preference that you have set. Validate Template Tag Attributes Validates all attributes in <guided-*> and <search-*> when you save a template on Save in the Template Editor. See Editing a presentation or a transport template. Validate Template Reference to GS Checks the existence of Guided Search objects, such as menus, facets, breadcrumbs, Objects on Save custom vars, and templates, that are referred to in <guided-*> tags. 3. Click Save Changes. Changing your login password You can change the password that you use to log in. First-time users are assigned a password automatically. If you lose or forget your password, click Forgot your password? on the login page and follow the instructions to generate a new password. The following rules and restrictions apply to account passwords: • Passwords are case-sensitive. • 8-character minimum and 20-character maximum. • Must include at least one letter and one number. • All ASCII text characters are permitted, except the "@" symbol. • Spaces are permitted (leading spaces are removed). • Dictionary words are not permitted. See Configuring your personal user information. See Configuring your preferences. About the Settings menu 353 See Canceling your login. See Viewing your access privileges. To change your log in password 1. 2. 3. 4. On the product menu, click Settings > My Profile > Password. On the Change Password page, in the Current Password field, type the current login password that you use. In the New Password field and the New Password (again) field, type the new login password that you want to use. Click Save Changes. Canceling your login You can choose to cancel your Adobe login. If you cancel your login, you cannot access this account or any other Adobe account with the displayed login email. As an account owner, before you can cancel your login, transfer account ownership to another active account user. When this action is complete, you can cancel the login like any other account user. See Transferring account ownership to another account user. See Removing yourself from an account. See Removing an account. To cancel your login 1. Transfer account ownership to another account user. See Transferring account ownership to another account user. 2. On the product menu, click Settings >My Profile > Cancel. 3. On the Cancel Login page, click Cancel Login. 4. Click Yes to confirm the cancelation. Viewing your access privileges With My Access Privileges you can use roles to restrict access to pages or remove rarely used pages. The access privileges shows what roles you belong to, if any. If you are not currently assigned to one or more roles then you have full unrestricted access. The tree view shows you the pages in the member-center that can be restricted and whether you currently have access to that page as denoted by a check mark. See Adding a new role to an account. See Viewing the roles that exist for an account. The privilege Can push live in the tree view is a special control that grants any user in that role the ability to push any staged item live. By creating a role that does not have this ability you can ensure that users in that role are not able to impact your live search until someone with the ability to push the settings live reviews their work and does so. The privileges Run live indexes and Run stage indexes are special controls that are used to grant or deny users within a role the ability to run an index. For example, you may have some users in a role that have the ability to run staged indexes but not live indexes or the ability to push staged setting live. Users in this role can test all of their work in a staged environment without impacting the live index. Some settings require you to rebuild the index before you can preview the changes that were made. About the Settings menu 354 To change your access privileges, you must change the privileges for the appropriate role in the administrator area. See Configuring your personal user information. See Configuring your preferences. See Changing your login password See Canceling your login. To view your access privileges 1. On the product menu, click Settings > My Profile > My Access Privileges. 2. On the My Access Privileges page, expand the tree views to review privileges or restricted access. About the Account Options menu Use the Account Options menu to update your account settings, set merchandising preferences, configure a link to your Target, A/B/N and multivariate testing account, or remove your own Target, site search/merchandising account. Configuring your account settings Manage account settings such as the website name and address, time zone, and more. Or, view your account number. To configure your account settings 1. On the product menu, click Settings > Account Options > Account Settings. 2. On the Account Settings page, set the options that you want. See Account Settings options. 3. Click Save Changes. Account Settings options A table that describes the options that are found on the Account Settings page. Option Description Web Site Name Required. A short name that is used to describe your website/account. This option is useful if you have multiple websites. Note: You must contact Technical Support to select one or more names that you want to use. Web Site Address Required. The URL address of your website. The address specified here is used as the main website entry point. See also Adding multiple URL entry points that you want indexed. About the Settings menu 355 Option Description Time Zone (for reports and scheduling) The time zone that is used for reports and publish operations. Validate Template Tag Attributes on Save Validates all attributes in <guided-*> and <search-*> when you save a template in the Staged Template Editor. See Editing a presentation or a transport template. Validate Template References to GS Objects on Save Checks the existence of Guided Search objects, such as menus, facets, breadcrumbs, custom vars, and templates, that are referred to in <guided-*> tags. Enforce stringent template syntax checking Makes the template validator more strict and enables the checking of things such as unbalanced quotes and <> symbols. Account Number You cannot edit the account number. It is for display purposes only. Configuring integration with Adobe CQ5 You can configure the integration of site search/merchandising with Adobe CQ5. To configure integration with Adobe CQ5 1. Obtain your Member ID and Account ID by doing the following: • Login to your site search/merchandising account. • In the URL path, copy the member ID and the account ID. For example, if the URL path to your account were http://searchandpromote.mycompany.com/px/home/?sp_id=00123a4b-sp1234a5b6, the member ID would be 00123a4b and the account ID would be sp1234a5b6. 2. In Adobe CQ5, use the Cloud Services tab to create your site search/merchandising configuration. Use the copied Member ID and Account ID for the respective settings. Configuring Merchandising preferences Manage Merchandising preferences such as the default rule builder and default search term. 1. On the product menu, click Settings > Account Options > Merchandising Preferences. 2. On the Merchandising Preferences page, set the options that you want. See Merchandising preferences options. 3. Click Save Changes. Merchandising preferences options A table that describes the options that are found on the Merchandising Preferences page. About the Settings menu 356 Option Description Trigger Group Dominant Threshold The threshold percentage to apply to "group dominant" results-based triggers that specify "use account default". Changing this setting can immediately effect live searches, therefore use with caution. Group Definition The number of results in a group for the merchandising console. The maximum is 50,000. 'Merchandising Document ID' (MDI) field The field you specify must "uniquify" the search results that you want to manipulate by way of 'single result' results-based triggers and actions. Using the pre-defined URL field works in some cases, but is not recommended. A user-defined meta field with a unique ID for every page (like SKU or product_id for example) would be much more efficient than using the URL field. Specifying 'none' disables 'single result' results-based triggers & actions in the rules manager. Changing this option only applies to rules that are saved going forward; existing rules continue to use the MDI with which they were originally saved. Default VRB (Visual Rule Builder) search term Lets you customize the initial search term that is used in Visual Rule Builder. VRB Default Search This setting lets you set what default search is initially selected in Visual Rule Builder. This setting is only relevant for implementation with multiple searches. The VRB lets you select what search the trigger or action that the defined group applies to. VRB / Simulator Timeout The VRB and Simulator sends searches through a proxy server which are slower than your production search. Under certain circumstances, such as slow loading assets, the VRB or simulator can timeout. You can increase, or decrease, the number of seconds that the user interface must wait before it stops. You seldom need to increase this setting from the default of 60. Configuring access to your Adobe Target account Link your site search/merchandising account to Adobe Target. See also Adding a new business rule. About the Settings menu 357 See also Adding a new Target campaign. To configure access to your Target account 1. On the product menu, click Settings > Account Options > Target Configuration. 2. On the Target Configuration page, set the options that you want. See Target configuration options. 3. (Optional) Click Test to verify that your Target client name, email address, and password details are correct. 4. Click Save Changes. Target configuration options A table that describes the options that are found on the Target Configuration page. You can use these options to configure the Target account that is linked with your site search/merchandising account. Option Description Admin Server Identifies the Target server that your account is on. An example entry is admin4.testandtarget.mycompany.com Client Identifies your Target client name that is used to login. You can find your client name within the Target product. In Target, click Configuration > mbox.js > edit. Email Identifies your Target login email address. Password Your Target login password. Enabled Enables all the Target controls within the site search/merchandising. Test Verifies that your Target client name, email address, and password details are correct. It does not validate your Target admin server entry. Configuring access to your Adobe Scene7 account Link your site search/merchandising account to Adobe Scene7 so you can easily add banner ads to your website using uploaded digital assets from Adobe Scene7. See About Banners. See Adding a banner using Adobe Scene7. To configure access to your Adobe Scene7 account 1. On the product menu, click Settings > Account Options > Scene7 Configuration. About the Settings menu 358 2. On the Scene7 Configuration page, set the options that you want. See Scene7 configuration options. 3. (Optional) Click Test to verify that your Scene7 region name, email address, and password details are correct. 4. Click Save Changes. Scene7 configuration options A table that describes the options that are found on the Scene7 Configuration page. You can use these options to configure the Scene7 account that is linked with your site search/merchandising account so that you can add banners to your website. Option Description Region Required. Identifies the region of the world where your Scene7 account accesses the various Scene7 servers. Default Company Identifies the name of the company that is associated with your Scene7 account. Email Required. Identifies your email address that is used for Scene7 sign-in and communications. Password Required. Your Scene7 sign-in password. Enabled Enables all the Scene7 controls within site search/merchandising. Test Verifies that your Scene7 region name, email address, and password details are correct. Configuring SiteCatalyst Redirector If you use SiteCatalyst for tracking site visitors, you can use SiteCatalyst Redirector in site search/merchandising to track all HTTP redirects with SiteCatalyst. To configure SiteCatalyst Redirector 1. On the product menu, click Settings > Account Options > SiteCatalyst Redirector. 2. On the SiteCatalyst Redirector page, set the options that you want. See SiteCatalyst Redirector options. 3. Click Save Changes. 4. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 5. (Optional) On the SiteCatalyst Redirector page, do any of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. About the Settings menu 359 SiteCatalyst Redirector options A table that describes the options that are found on the Staged SiteCatalyst Redirector page. Option Description Turn on SiteCatalyst Redirector feature Turns on tracking HTTP redirects with SiteCatalyst. Tracking Server Identifies your SiteCatalyst tracking server name. To find out the tracking server name, 1. In SiteCatalyst, click Admin > Admin Console > Code Manager. 2. In the Options group box, select a report suite from the respective drop-down list. 3. Click Generate Code. 4. On the Code Manager page, click the Core Javascript File tab. 5. In Config Section, find line the looks like the following: s.trackingServer="yourcompany.122.2o7.net" The tracking server name, in this case, is "yourcompany.122.2o7.net" Report Suite ID Identifies your report suite ID. To find out your report suite ID, 1. In SiteCatalyst, click Admin > Admin Console > Report Suites. 2. Look at Report Suite Id column in the table to find the ID. Custom Parameters Lets you add custom parameters to the SiteCatalyst redirect URL. Set the case of all custom values to Lets you standardize on the casing that is used for any custom parameter values that you specified above. SiteCatalyst is case-sensitive so there is a reason to unify the case of values. Configuring root files Manage root files in the root folder of your website. To configure root files 1. On the product menu, click Settings > Account Options > Root Files. 2. On the Root Files page, browse to the root files you want to upload. About the Settings menu 360 See Root File options. 3. Click Save Changes. 4. (Optional) Rebuild your staged site index if you want to preview the results. See Configuring an incremental index of a staged website. 5. (Optional) On the Root Files page, do any of the following: • Click View Live Settings. See Viewing live settings. • Click Push Live. See Pushing stage settings live. Root File options A table that describes the root files that you can upload from the root folder of your website. Root file Description favicon.ico The icon of the site. Usually it is shown in the address bar of the customer's browser. robots.txt Allows or disallows bots to access certain parts of the website. sitemap.xml The XML file with a list of all pages that are available on the website. crossdomain.xml Allows or disallows Flash Player to access files across domains. Transferring account ownership to another account user As an account owner, if you intend to cancel your login, you have to first transfer ownership to another active account user. You can use Transfer Ownership to accomplish this task. You can transfer ownership to any existing site search/merchandising account user. When transfer of ownership is complete, the new account owner receives an e-mail notification, and the former owner is relieved of the restrictions and responsibilities of that position. There can only be one owner per account. If you transfer your ownership to another user, you no longer have ownership privileges. See Canceling your login. See Removing yourself from an account. See Removing an account. To transfer account ownership to another account 1. On the product menu, click Settings > Account Options > Transfer Ownership. 2. On the Transfer Ownership page, click the user whom you want to take ownership of your account. 3. Click Transfer. About the Settings menu 361 Removing an account You can remove an account entirely from site search/merchandising. When you do so, you and any other users of your account no longer have access to it. When you remove your account, it can no longer be used to index or search your live site. Also, To allow others users to continue using this account, you can transfer ownership to a different user and then remove yourself as a user of the account. See Transferring account ownership to another account user. If you have other accounts, after you remove the current account, you are taken to the first account that is listed in your login. See Removing yourself from an account. See Canceling your login. To remove an account 1. On the product menu, click Settings >Account Options > Remove Account. 2. (Optional) In the Reason for Removal field, enter a reason for the account removal. 3. Click Remove Account. Removing yourself from an account You can remove yourself from a site search/merchandising account. When you remove yourself from an account, you can no longer access it and you cannot edit account settings or index your site with it. To regain access to the account, ask a current account user to reinstate you. See Canceling your login. See Removing an account. See Transferring account ownership to another account user. To remove yourself from an account 1. On the product menu, click Settings >Account Options > Remove Yourself. 2. Click Remove Yourself. Configuring dynamic account definitions Dynamic account configuration options A table that describes the options that are found on the Dynamic Account Configuration Edit page. Option Name Description About the Settings menu Option 362 Description Host Address File Path Incremental File Path Deletes File Path Protocol Username Password Confirm Password Timeout Force to array form About the Users menu Use the Users menu to view and add users, view and add roles, or change role membership. You must be a site search/merchandising user with administrator privileges to perform any of the tasks on the Users menu. Viewing account users You can use the View Users page to view all existing account users. You can also remove account users (except for the account owner). Only account users with User Admin checked can remove users or modify user roles. Before you can remove an account owner, transfer the account ownership to another user. After you have transferred ownership, you can remove an account like any other user. Removed users receive an e-mail that notifies them of the change in status. See Transferring account ownership to another account user. Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To view account users 1. On the product menu, click Settings > Users > View Users. 2. (Optional) Under the User Admin? column heading, select account users whom you want to give the ability to remove account users or edit account user roles. About the Settings menu 363 3. (Optional) Under the Remove? column heading, select account users whom you want to remove. 4. Click Save Changes. 5. (Optional) Click a hyperlinked role name on the View Users page. TheRole Membership page is opened where you can assign users to roles or you can unassign users from roles. See Configuring role membership. Adding account users You can use the Add Users page to add new account users to site search/merchandising. Only the new user's e-mail address is required. When the new user is added to the account, the new user is sent the account information. By default a new user is not assigned as a User Administrator. User Administrator's can define and edit roles, and remove other users. You can choose to make a new user a User Administrator from the Add Users page. Or, you can use the View Users page to make the new user a User Administrator. See Viewing account users. The e-mail address that you specify must contain ASCII characters only. Use standard alphabetic (a..z) characters or numeric (0..9) characters with exactly one '@' character used to separate the user name from the domain. The characters '_', '+', '-', '.', '!', '#', '$', ''', '%', '&', '*', '=', '?', '^', '{', and '}' are also allowed. Do not start the e-mail address with '.' If the new user is not an Adobe customer already, you are prompted to create a customer login for that person. The new user is sent a login password and confirmation. When the new user logs in for the first time, they fill out a customer profile. You can optionally click a hyperlinked role name on the Add Users page. The Role Membership page is opened where you can assign users to roles or you can unassign users from roles. See Configuring role membership. Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To add account users 1. On the product menu, click Settings > Users > Add Users. 2. On the Add Users page, in the User's Email field and the User's Email (again) fields, enter the e-mail address of the new user. 3. (Optional) Check User Administrator to give the new account user the ability to remove account users or edit account user roles. 4. In the Roles for this User table, check the roles that you want to assign to the new account user. 5. Click Add User. Viewing the roles that exist for an account You can use the View Roles page to show all the roles that currently exist for the currently logged in account. If no roles exist for the account, the user interface informs you of this issue. You can use Add Roles to create and add a role. See Adding a new role to an account. Removing a role does not delete account users that are assigned to it. About the Settings menu 364 Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To view the roles that exist for an account 1. 2. 3. 4. On the product menu, click Settings > Users > View Roles. (Optional) Under the Remove? column header in the table, select roles that you want to remove. Click Save Changes. (Optional) Do any of the following: • Under the Role Name column header in the table, click a hyperlinked role name. TheRole Membership page is opened where you can assign users to roles or you can unassign users from roles. See Configuring role membership. • Under the Edit column header in the table, click the pencil icon. The Edit Role page is opened where you can rename the role, change the description, and more. See Editing a role. Editing a role You can rename a existing role, change its description, and select just the areas of the user interface to which you want to give the role access. See Adding a new role to an account. Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To edit a role 1. On the product menu, click Settings > Users > View Roles. 2. Under the Edit column header in the table, click the pencil icon next to the role you want to change. 3. (Optional) Do any of the following: • In the Role Name text field, type a new name, if desired. The * indicates that this field is required for the role. • In the Description text field, type a new description of the role, if desired. • In the group box, check or uncheck the features that you want the role to access or block, respectively. 4. Click Save Changes. Adding a new role to an account You can use the Add Roles page to make the assignment of permissions to account users easier and faster. For example, you could individually grant each member of your Public Relations department access to site search/merchandising tasks. However, it is much more efficient to add these users to a "PR" role and then assign the tasks to the entire role. Each role name must be unique. You can use alphanumeric characters and common symbols, including dashes "-", underscores "_", and periods "." . The name cannot begin with either an underscore or a period. Under the Users in This Role column header in the table, you can optionally click a hyperlinked e-mail address of a user. TheRole Membership page is opened for the specific user where you can assign the user to roles or you can unassign the user from roles. About the Settings menu 365 See Configuring role membership. Under the Roles column header in the table, you can optionally click a hyperlinked role name. TheRole Membership page is opened where you can assign users to the selected role or you can unassign users from the selected role. Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To add a new role to an account 1. 2. 3. 4. 5. On the product menu, click Settings > Users > Add Roles. On the Add Roles page, in the Role Name field, enter the name of the role. (Optional) In the Description field, enter a sentence that adequately describes the role. Select which users belong to the role by checking the boxes to the left of each e-mail address. Click Add Role. Configuring role membership You can use the Role Membership page to add users to a role or remove users from a role. You can also manage individual user group memberships when you view roles by user. See Adding a new role to an account. See Viewing the roles that exist for an account. Note: You must be a site search/merchandising user with Administrator privileges to perform this task. To assign account users to roles 1. On the product menu, click Settings > Users > Role Membership. 2. On the Role Membership page, do one of the following: Option Steps To add one or more users • In the Change Role drop-down list, select a role that you want to add users to. to a single role If you do not see the Change Role drop-down list, click View Users BY GROUP. • (Optional) In the table, check Show Only Role Members to have the table display only account users that are currently assigned to the selected role. • In the check box column of the table, select one or more account users that you want to assign to the selected role. Deselect one or more account users that you want to remove from the selected role. To add one or more roles to a single user • In the Change User drop-down list, select a user whom you want to assign one or more roles to. If you do not see the Change User drop-down list, click View Roles BY USER. • (Optional) In the table, check Show Only This User's Roles to have the table display only those roles that are currently assigned to the selected account user. About the Settings menu Option 366 Steps • In the check box column of the table, select one or more roles that you want to assign to the selected user. Deselect one or more roles that you want to remove from the selected user. 3. Click Save Changes. About the Accounts menu 367 About the Accounts menu Use Accounts on the product menu to select an account that you want to access and use. Selecting a different account to use Use the Select Account page to select the account that you want to use and manage. After you have select an account, the account's site search/merchandising Home page appears and you can begin working with it. The selected account name appears in the upper-right corner of the page. To select a different account to use 1. Do one of the following: • • On the product menu, click Accounts. In the upper-right corner of the page, click Select Account. 2. On the Select Account page, do any one of the following: • • In the table, under the Name column heading, click an account name that you want to start using and managing. In the table, under the Number column heading, click an account number that you want to start using and managing. Appendices 368 Appendices Date Formats You can define the date formats that are used when it parses and indexes any field with a "date" data type. The format of the date and time is specified with a format string. The format string consists of zero or more conversion specifications (a conversion specification consists of a percent sign and one other character) and ordinary characters. A default list is provided of date format strings for each date field. You have complete control over this list and may add to or modify it to suit your site's needs. The top format string takes precedence and subsequent format strings are only used if parsing a given metadata tag's content yields an error. For example, suppose you have specified the following date formats: %B %d, %Y %T %Z %b %d, %Y %T %Z %A %B %d, %Y %T %Z %A %b %d, %Y %T %Z %a %B %d, %Y %T %Z %a %b %d, %Y %T %Z %d %b %Y %T %Z The first format, "%B %d, %Y %T %Z", matches dates like the following "September 20, 2014 13:12:00 PDT". If the metadata tag content cannot be parsed with this format string, the next available format "%b %d, %Y %T %Z" is tried. This format matches dates like the following: "Sep 20, 2014 3:12:00 PDT". If the metadata tag content cannot be parsed with this format string, site search/merchandising moves down the list of format strings until it finds a format string that works. The following table describes the available date format strings: Data format Description %A Matches the national representation of the full weekday name, for example, "Monday." The national representation is determined from the "Language" setting on the "Words & Languages" Option %a matches the national representation of the abbreviated weekday name, where the abbreviation is the first three characters, e.g. "Mon." The national representation is determined from the "Language" setting on the "Words & Languages" Option Appendices 369 Data format Description %B matches the national representation of the full month name, e.g. "June." The national representation is determined from the "Language" setting on the "Words & Languages" Option %b matches the national representation of the abbreviated month name, where the abbreviation is the first three characters, e.g. "Jun." The national representation is determined from the "Language" setting on the "Words & Languages" Option %D is equivalent to "%m/%d/%y", e.g. "06/06/01" %d matches the day of the month as a decimal number (01-31) %e matches the day of month as a decimal number (1-31); single digits are preceded by a blank %H matches the hour (24-hour clock) as a decimal number (00-23) %h matches the national representation of the abbreviated month name, where the abbreviation is the first three characters, e.g. "Jun" (the same as %b) %I matches the hour (12-hour clock) as a decimal number (01-12) %j matches the day of the year as a decimal number (001-366) %k matches the hour (24-hour clock) as a decimal number (0-23); single digits are preceded by a blank %l matches the hour (12-hour clock) as a decimal number (1-12); single digits are preceded by a blank %M matches the minute as a decimal number (00-59) %m matches the month as a decimal number (01-12) %p matches the national representation of either "ante meridiem" or "post meridiem" as appropriate, e.g. "PM." The national representation is determined from the "Language" setting on the "Words & Languages" Option %R is equivalent to "%H:%M", e.g. "13:23" Appendices 370 Data format Description %r is equivalent to "%I:%M:%S %p", e.g. "01:23:45 PM" %S matches the second as a decimal number (00-60) %T is equivalent to "%H:%M:%S", e.g. "13:26:47" %U matches the week number of the year (Sunday as the first day of the week) as a decimal number (00-53) %v is equivalent to "%e-%b-%Y", e.g. "6-Jun-2001" %Y matches the year with century as a decimal number, e.g. "2001" %y matches the year without century as a decimal number (00-99) %Z matches the time zone name %% matches "%" Default Format Strings The following default format strings are used by templates. You can add to this list or edit it as necessary. Default format string Resulting example %B %d, %Y %T %Z September 5, 1999 13:12:00 PDT %b %d, %Y %T %Z Sep 5, 1999 13:12:00 PDT %A %B %d, %Y %T %Z Sunday September 5, 1999 13:12:00 PDT %A %b %d, %Y %T %Z Sunday Sep 5, 1999 13:12:00 PDT %a %B %d, %Y %T %Z Sun September 5, 1999 13:12:00 PDT %a %b %d, %Y %T %Z Sun Sep 5, 1999 13:12:00 PDT %d %b %Y %T %Z 5 Sep 1999 13:12:00 PDT Regular Expressions A refresher concerning the syntax and rules of constructing regular expressions. Appendices 371 See also Configuring an incremental index of a staged website. Syntax of regular expressions Text Any single character [chars] Character class: One of chars [^chars] Character class: None of chars text1|text2 Alternative: text1 or text2 ? 0 or 1 of the preceding text * 0 or N of the preceding text (N > 1) + 1 or N of the preceding text (N > 1) (text) Grouping of text, either to set the borders of an alternative or to make back references where the Nth group is used on the RHS of a RewriteRule with $N) ^ Start of line anchor. $ End of line anchor. \char Escape the particular char. For example, to specify the chars ".[]()" and so forth. Quantifiers Grouping Anchors Escaping Rules about regular expressions • An ordinary character—not one of the special characters described below—is a one-character regular expression that matches itself. • A backslash (\) followed by any special character is a one-character regular expression that matches the special character itself. Special characters include the following: • . (period), * (asterisk), ? (question mark), + (plus sign), [ (left square bracket), | (vertical pipe), and \ (backslash) are always special characters, except when they appear within square brackets. Appendices 372 • ^ (caret or circumflex) is special at the beginning of a regular expression, or when it immediately follows the left of a pair of square brackets. • $ (dollar sign) is special at the end of a regular expression. • . (period) is a one-character regular expression that matches any character, including supplementary code set characters with the exception of new-line. • A non-empty string of characters enclosed in [ ] (left and right square brackets) is a one-character regular expression that matches one character, including supplementary code set characters, in that string. If, however, the first character of the string is a ^ (circumflex), the one-character regular expression matches any character, including supplementary code set characters, with the exception of new-line and the remaining characters in the string. The ^ has this special meaning only if it occurs first in the string. You can use - (minus sign) to indicate a range of consecutive characters, including supplementary code set characters. For example, [0-9] is equivalent to [0123456789]. Characters specifying the range must be from the same code set. When the characters are from different code sets, one of the characters specifying the range is matched. The - loses this special meaning if it occurs first (after an initial ^, if any) or last in the string. The ] (right square bracket) does not terminate such a string when it is the first character within it, after an initial ^, if any. For example, []a-f] matches either a ] (right square bracket) or one of the ASCII letters a through f inclusive. The four characters listed as special characters above stand for themselves within such a string of characters. Rules for constructing regular expressions from one-character regular expressions You can use the following rules to construct regular expressions from one-character regular expressions: • A one-character regular expression is a regular expression that matches whatever the one-character regular expression matches. • A one-character regular expression followed by a * (asterisk) is a regular expression that matches zero or more occurrences of the one-character regular expression, which may be a supplementary code set character. If there is any choice, the longest leftmost string that permits a match is chosen. • A one-character regular expression followed by a ? (question mark) is a regular expression that matches zero or one occurrences of the one-character regular expression, which may be a supplementary code set character. If there is any choice, the longest leftmost string that permits a match is chosen. • A one-character regular expression followed by a + (plus sign) is a regular expression that matches one or more occurrences of the one-character regular expression, which may be a supplementary code set character. If there is any choice, the longest leftmost string that permits a match is chosen. • A one-character regular expression followed by {m}, {m,}, or {m,n} is a regular expression that matches a range of occurrences of the one-character regular expression. The values of m and n must be non-negative integers less than 256; {m} matches exactly m occurrences; {m,} matches at least m occurrences; {m,n} matches any number of occurrences between m and n inclusive. Whenever a choice exists, the regular expression matches as many occurrences as possible. • The concatenation of regular expressions is a regular expression that matches the concatenation of the strings matched by each component of the regular expression. • A regular expression enclosed between the character sequences ( and ) is a regular expression that matches whatever the unadorned regular expression matches. • A regular expression followed by a | (vertical pipe) followed by a regular expression is a regular expression that matches either the first regular expression (before the vertical pipe) or the second regular expression (after the vertical pipe). You can also constrain a regular expression to match only an initial segment or final segment of a line, or both. • A ^ (circumflex) at the beginning of a regular expression constrains that regular expression to match an initial segment of a line. • A $ (dollar sign) at the end of an entire regular expression constrains that regular expression to match a final segment of a line. • The construction ^regular expression$ constrains the regular expression to match the entire line. Appendices 373 There are some predefined character class names that you can use in place of complex bracketed regular expressions. For example, a digit can be represented by the one-character regular expression [0-9] or by the character class one-character regular expression [[:digit:]]. The predefined character classes and their meanings are the following: Character class Meaning [[:alnum:]] An alphabetic character or a digit. [[:alpha:]] An alphabetic character. [[:blank:]] A space or a tab. [[:cntrl:]] A control code; non-printing character. [[:digit:]] A digit. [[:graph:]] Any printing character except space. [[:lower:]] A lower-case alphabetic character. [[:print:]] Any printing character including space. [[:punct:]] Punctuation. [[:space:]] White space such as a space, a tab, or an end-of-line. [[:upper:]] An upper-case alphabetic character. [[:xdigit:]] A hexadecimal digit, upper- or lower-case. Two special character class names match the null space at the start and the end of a word. In other words, they do not match an actual character. A word is considered to be any sequence of alphabetic characters, digits, or underscores (_). Character class Meaning [[:<:]] start of a word [[:>:]] end of a word About proximity search Proximity Search lets you associate a unique location with any page on your website, and then search and sort results by proximity (distance) from a given location. Appendices 374 For example, suppose you have populated pages on your website with United States postal ZIP code metadata such as the following: <meta name="zipcode" content="84057"> Then you configure your account to index your ZIP code metadata. In Settings > Metadata > Definitions > Add New Field, on the Add Field page, you set the following options: • Field name: zip • Meta Tag Name(s): zipcode • Data Type: Location • Sorting: Ascending • Default Units: Miles After indexing your site, you perform the following search: ...&sp_q_location_1=84057&sp_x_1=zip&sp_q_max_1=100&sp_s=zip_proximity The result set contains any documents located within 100 miles of ZIP code 84057, sorted in ascending order of distance from this ZIP code. You can also use telephone area codes for United States locations. Or, you can use latitude/longitude pairs to specify locations in your site metadata and in your search criteria. The location type is automatically determined from the form of the data that is provided. Three-digit location values ("DDD", where each "D" represents a decimal digit from 0-9) are treated as a United States telephone area code. Five or five-dash-four digit location values ("DDDDD" or "DDDDD-DDDD") are treated as a United States postal ZIP code. Location values in the exact form of "±DD.DDDD±DDD.DDDD" are treated as a latitude/longitude pair. The first signed numeric value specifies latitude and the second signed numeric value represents longitude. Important: If you specify a positive latitude value, or a positive longitude value, or both, the "+" character in the URL must be encoded as %2b. Otherwise, the "+" is interpreted as a space, and the value is not recognized as a valid location. For example, suppose you had a latitude value of +49.2394 and longitude value of -123.1892. The location portion of the URL, with "+" encoded, would look like the following: ...&sp_q_location_1=%2b49.2394-123.1892... • Positive latitude values represent degrees North of the equator. • Negative latitude values represent degrees South of the equator. • Positive longitude values represent degrees East of Prime Meridian. • Negative longitude values represent degrees West of Prime Meridian. For example, the value "+48.8577+002.2950" represents 48.8577 degrees North of the equator, 2.295 degrees East of the Prime Meridian, the exact location of the Eiffel Tower in Paris, France. The numeric signs and each digit are required, even the leading and trailing zeros. For example, the three values "48.8577+2.2950", "+48.8577+2.2950", and "+48.8577+02.295" are not locations. The first value is missing the leading sign on the latitude. The second value is missing the two leading zeros on the longitude. The third value is missing the trailing zero on the longitude. Be sure that you examine your index log carefully for any location-related problems. When you search by proximity there is a special "proximity output field" created for that search. The field is populated with the relative distance between the location that is specified in the search criteria, and the location that is associated with each search Appendices 375 result. This special field is named for the location-type field that is used in the search criteria with "_proximity" added to the end. In the example search above, the results are sorted in ascending order of "zip_proximity." That is, the distance between the specified ZIP code (84057) and each result's "zip" field location. You can also use this special "proximity output field" to display the relative distance for each search result, in either kilometers or miles, using the <Search-Display-Field> Search template tag. See Search template tags. You can also search without the sp_s option. In such case, the results are sorted by score (sp_s=0, which is the default).The score is influenced by the relative distance of each result from the proximity search location that is specified by way of the sp_q_location[_#] parameter. A new cgi parameter sp_q_max_relevant_distance[#] is added, to optionally control the relevance calculation applied to proximity searches. The following is a proximity-relevance search example: ...&sp_q_location_1=84057&sp_x_1=zip&sp_q_max_1=100&sp_q_2=shirt&sp_x_2=title&sp_q_max_relevant_distance_2=50 The result set contains any documents located within 100 miles of ZIP code 84057 and contain the word "shirt" in title field, sorted by scoring that influenced by proximity-relevance scoring. A perfect relevance score for the proximity component would represent a distance of 0. A minimum relevance score for the proximity component would represent a distance just over 50 miles. You can learn more information about proximity search by reviewing sp_location, sp_location_#, sp_q_min, sp_q_min_#, sp_q_max, sp_q_max_#, and sp_s in the Search CGI Parameters reference topic. See Search CGI parameters. See Meta tag field options. Templates Presentation template tags A list of site search/merchandising tags and attributes for presentation templates. A presentation template is an HTML file that includes presentation template tags that site search/merchandising defines. These tags indicate how the search results that customers see are formatted. See About Templates. You can select from the following presentation tag groups: • Declarations • Results • Facets • Breadcrumb • Menus • Pagenav • Recent Searches • Did You Mean Appendices 376 • Autocomplete • Store • Zones • Loop Indicators • Miscellaneous Language Declarations Declarations are special guided-declare tags that you can set at the top of a top-level presentation template. Any subsequent declarations are ignored, including declarations in included templates. Tag 1 <guided-content-type-header content="content-type"> Description By default the presentation template is sent back with a mime-type of text/html. You can change what content-type is used with this tag. Declare this tag as high as possible in your presentation template. Do not add other text on the same line with this tag. 2 <guided-xml-declare [charset="charset"]> If you are returning XML, you can use this tag to create the XML declaration. Make this tag the first line in your presentation template. When you use this tag, the content-type is automatically set to text/xml, unless you overrule it with <guided-content-type-header> in the first line. If you do not specify a charset, it defaults to UTF-8. This tag results in the following output in your XML document: <?xml version="1.0" encoding="charset-name" standalone="yes" ?> Results 1 Tag Description <guided-results The guided-results tag defines the boundaries of a results loop. Any set of results can be accessed by specifying a gsname attribute. If no gsname is given, then the default search results are displayed. [gsname="searchname"]></guided-results> 2 <guided-result-link [gsname="fieldname"] [attr="value"]+></guided-result-link> To create a link to a given result, use the guided-result-link tag. By defining a gsname attribute, you can use a field from the index instead of the standard "loc" tag that references the "search-url". Any other attributes, such as class and target, can be passed as well, which are output in the resulting anchor tag. Appendices 3 377 Tag Description <guided-result-img gsname="fieldname" The <guided-result-img> tag helps create image tags rather than embedding variables inside a raw img tag. [attr="value"]+> Specify the field to use for the image path in the gsname attribute. The result is an img tag with any standard HTML attributes that you defined, passed through. So, the following example: <guided-result-img gsname="thumbnail" class="thumb" border="0"/> becomes: <img src="prod8172.jpg" class="thumb" border="0"/> 4 <guided-result-field gsname="fieldname" [escape="html|url|js|json|ijson|0"]/> Any piece of information to present in the results is displayed as a <guided-result-field> tag (except when using auto-generating tags such as the <guided-result-img> tag). Specify the name of the Search index field in gsname. The exact string passed is output in the template. You can specify an escape option if you want this field escaped differently from what was specified in the transport template. This encoding is applied on top of whatever encoding was specified in the transport template. 5 <guided-if[-not]-result-field This set of conditional tags is true if there is content in the gsname="fieldname></guided-if-result-field> specific field to display. If no content exists, the condition is false. You can use the tags to decide whether surrounding HTML is displayed or not displayed if a value does not exist, or if a different image is displayed, and so on. <guided-if-result-field gsname="thumbnail"> <guided-result-img gsname="thumbnail" class="thumb" /> <guided-else-result-field> <img src="nothumb.jpg" class="nothumb" /> </guided-if-result-field> 6 <guided-if[-not]-result-wrap> <guided-else-result-wrap> </guided-if[-not]-result-wrap> When displaying results in columns, this tag is used to identify whether the current result marks the end of a column. When the Boolean condition is true, HTML is added to the end of the result to finish off the row and start a new one. When it is the last one, a new row is not started. See <guided-if-not-last> to learn more about that tag. <guided-if-result-wrap> </div> Appendices Tag 378 Description <guided-if-not-last> <div> </guided-if-not-last> </guided-if-result-wrap> 7 <guided-results-found [gsname="searchname"]/> 8 <guided-results-total [gsname="searchname"]/> 9 <guided-results-lower [gsname="searchname"]/> 10 <guided-results-upper [gsname="searchname"]/> 11 <guided-if[-not]-results-found [gsname="searchname"]> <guided-else[-not]-results-found> </guided-if[-not]-results-found> Returns a 1 if the back-end search request returned results and 0 if it did not. If no gsname is specified, the tag assumes the primary search. This tag is useful to pass logic to JavaScript routines. Returns the total number of results in the specified results set. Assumes the default search when no gsname is given. Returns the result number of the lower result on the page for the specified results set. Assumes the default search when no gsname is given. Returns the result number of the upper result on the page for the specified results set. Assumes the default search when no gsname is given. Shows content when results are found. Or, shows no results HTML when results are not found. <guided-if-results-found gsname="products"> <guided-results gsname="products"> ... </guided-results> <guided-else-results-found> No results were found. </guided-if-results-found> 12 <guided-result-title/> The <guided-result-title> tag gives value of title transport template field specified with <title> transport tag. 13 <guided-result-description/> The <guided-result-description> tag gives value of description transport template field specified with <description> transport tag. 14 <guided-result-loc/> The <guided-result-loc> tag gives value of loc transport template field specified with <loc> transport tag. 15 <guided-if-result-field gsname="fieldname"> True if there is content in the specific field to display. If no content exists, the condition is false. Use the tags to decide <guided-else-result-field> </guided-if-result-field> Appendices Tag 379 Description whether surrounding HTML is displayed or not if a value does not exist, or if a different image is displayed, and so on. <guided-if-result-field gsname="thumbnail"> <guided-result-img gsname="thumbnail" class="thumb"/> <guided-else-result-field> <img src="nothumb.jpg" class="nothumb"/> </guided-if-result-field> 16 <guided-result-attribute-table gsname="tablename"> 17 <guided-result-attribute-table-field gsname="fieldname" This tag provides a loop through attribute table defined in the transport template with <attribute_table> transport tag. There is <guided-result-attribute-table-field> tag for displaying attribute table field values. Also it is possible to use plain guided-result-field tag inside loop for displaying other result fields. Displays attribute table field as defined in transport template. <guided-results> [escape="html|url|js|json|0"]/> ... <ul> <guided-result-attribute-table gsname="downloads"> <li> <a href="<guided-result-attribute-table-field gsname="download_link" />"> <guided-result-attribute-table-field gsname="download_title" /> </a> (<guided-result-field gsname="title"/>) </li> </guided-result-attribute-table> </ul> ... </guided-results> 18 <guided-trace [gsname="searchname"]/> Outputs the trace information found within the trace data within the general section of the JSON data output by the transport template for the given search. If no search name is given, default is assumed. 19 <guided-result-trace/> Outputs the JSON content found within the results > trace information of the JSON data output by the transport template for the current search result. Appendices Tag 380 Description This tag is only valid within the <guided-results></guided-results> loop. Facets Facets are navigational components that let you drill into search results. You can use the facet tags to display various facets on your presentation template. You reference facets by name. See About Facets. See About Facet Rail. See About Dynamic Facets. Tag 1 Description <guided-dynamic-facets></guided-dynamic-facets> A looping context for any dynamic facets for a given search. The <guided-facet> presentation template tag is edited so that the gsname attribute is automatically provided by the <guided-dynamic-facets> looping context. 2 3 <guided-facet-display-name Returns the display label of the facet. gsname="facetname"/> If the facet uses the <display-name> tag on the transport template, the content of that tag becomes the label. <guided-facet-rail></guided-facet-rail> Defines a section on the presentation template that is used as a repeating pattern for each facet in the facet rail. Each facet that belongs to the facet rail uses this section to evaluate its output. The following is an example of a facet rail: <guided-facet-rail> <guided-facet> <guided-facet-display-name/> ... </guided-facet> </guided-facet-rail> Note that following tags do not need gsname attribute when inside <guided-facet-rail> tag as value is dynamically determined at search time and is properly substituted: • guided-facet • guided-facet-display-name • guided-facet-total-count • guided-facet-undo-link • guided-facet-undo-path Appendices Tag 381 Description • guided-facet-behavior The sort criteria on the Facet Rail page determines the position of the facets. You can choose the sort order from the Sort Facets Method drop-down list. This tag can optionally accept a gsname attribute value of _dynamic_facets, which provides a looping context for any dynamic facets for this search. This pre-defined facet rail is also exposed in the Business Rules user interface for action push facet X in facet rail '_dynamic_facets' to position Y". See About Facet Rail. See also About Dynamic Facets. 4 <guided-facet gsname="facetname" Use the guided-facet tag to define an area within which all height="60px" width="120px"></guided-facet> facet tags relate to a specific facet. This tag is also a Boolean tag that hides all of the content if no values in the facet exist. In such case, there is no point outputting the facet values). The height and width attributes are optional and the dimensions are specified in pixels (px). The Visual Rule Builder (VRB) uses these two attributes, and displays a dotted box as an interactive placeholder when the facet is hidden. When the display name is in the facet and the facet is hidden, the name is also hidden. However, if the name is outside the facet, you can hide the name only if a zone tag or a guided-if-facet-visible tag is wrapped around it. 5 <guided-if[-not]-facet-long This conditional tag is true when the number of facet values [gsname="facetname"]></guided-if[-not]-facet-long> is over the length-threshold defined in the configuration. Use it to display a facet as a different UI element (such as a truncated list or a scroll box) when the list is too long. <guided-facet name="category"> <guided-if-facet-long> <select> <guided-facet-values> <guided-facet-option /> </guided-facet-values> </select> <guided-else-facet-long> <guided-facet-values> <guided-facet-value-link><guided-facet-value /></guided-facet-link> </guided-facet-values> </guided-if-facet-long> </guided-facet> Appendices Tag 382 Description You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-long gsname="category"> The category facet is very long! </guided-if-facet-long> 6 <guided-if[-not]-facet-selected This conditional tag is true when the facet is clicked at least [gsname="facetname"]></guided-if[-not]-facet-selected> once and a facet value is currently selected. It is used to show or hide HTML or gs tags depending on whether a facet was clicked. <guided-facet name="category"> <guided-if-facet-selected> This facet has been selected. no longer refine it. <guided-else-facet-selected> <guided-facet-values> You can <guided-facet-value-link><guided-facet-value /></guided-facet-link> </guided-facet-values> </guided-if-facet-selected> </guided-facet> You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-selected gsname="category"> The category facet is selected! </guided-if-facet-selected> 7 <guided-if[-not]-facet-single This conditional tag is true when there is only one facet value. [gsname="facetname"]></guided-if[-not]-facet-single> Use the tag to change the display of the facet when it has no ability to refine the results. <guided-facet name="category"> <guided-if-facet-single> Facet is not refinable. <guided-else-facet-single> <guided-facet-values> <guided-facet-value-link><guided-facet-value /></guided-facet-link> </guided-facet-values> </guided-if-facet-single> </guided-facet> You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-single gsname="category"> There is only one value in the category facet! </guided-if-facet-single> Appendices Tag 8 383 Description This conditional tag is true when the facet is multi-select. Use [gsname="facetname"]></guided-if[-not]-facet-multiselect> the tag to change the display of the facet inside <guided-facet-rail> or <guided-dynamic-facets> tags. <guided-if[-not]-facet-multiselect <guided-facet-rail> <guided-facet> <guided-facet-display-name/> <guided-if-facet-multiselect> ... <guided-else-facet-multiselect> ... </guided-if-facet-multiselect> ... </guided-facet> </guided-facet-rail> 9 This is the facet value loop iterator tag. You can define it within [gsname="facetname"]></guided-facet-values> the context of a named guided-facet block, in which case you can omit the gsname. Or, you can define it outside any guided-facet block, but it would require the gsname attribute to identify which set of facet values are displayed. <guided-facet-values You can also use this tag to display the facet values outside the context of a named guided-facet block. You reference a specific facet directly by using the gsname attribute. <script> registerFacetValues('category', '<guided-facet-values gsname="category"><guided-facet-value/>,</guided-facet-values>'); </script> 10 <guided-facet-value [escape="html|url|js|json|0"]/> Outputs the string of the current facet value. By default the value is HTML escaped. You can use the escape option to change how the value is escaped. 11 <guided-facet-count/> Outputs the number of results that match the current facet value. 12 <guided-facet-value-link Creates a link around the facet value string for the site visitor to click. The path is automatically generated to narrow the results by the current facet value. It supports passing any attribute directly to the anchor tag. [attr="value"]+></guided-facet-value-link> <guided-facet-values> <guided-facet-value-link class="facetlink"><guided-facet-value /></guided-facet-value-link> </guided-facet-values> Appendices Tag 13 <guided-if-facet-value-selected> <guided-else-facet-value-selected> </guided-if-facet-value-selected> 384 Description Changes the display of the facet value when it is currently selected. If it has already been chosen, in most cases, it is no longer linkable. <guided-facet-values> <guided-if-facet-value-selected> <b><guided-facet-value/></b> <guided-else-facet-value-selected> <guided-facet-link><guided-facet-value/></guided-facet-link> </guided-if-facet-value-selected> </guided-facet-values> 14 <guided-if[-not]-facet-value-ghost> <guided-else[-not]-facet-value-ghost> </guided-if[-not]-facet-value-ghost> Changes the display of the facet value when it is a ghost value. When a facet value is a ghost value, it is typically displayed in italic text to indicate that the value is missing or "ghosted". The following code excerpt is an example of a facet block: <guided-facet-values> <guided-if-facet-value-selected> <b><guided-facet-value /> (<guided-facet-count />)</b> <guided-else-facet-value-selected> <guided-if-facet-value-ghost> <i><guided-facet-value /> (0)</i> <guided-else-facet-value-ghost> <guided-facet-link class="link"><guided-facet-value /></guided-facet-link> (<guided-facet-count />) </guided-if-facet-value-ghost> </guided-if-facet-value-selected> </guided-facet-values> 15 <guided-facet-undo-link Displays an undo link for a given facet. If there are multi-select gsname="facetname"></guided-facet-undo-link> facets, this link deselects all of the given facet's values. Give the facet a name. If the facet is not currently selected then the link is the current path. The following is an example of this tag's usage: <guided-if-facet-selected gsname="category"> <guided-facet-undo-link gsname="category">Undo Category</guided-facet-undo-link> </guided-if-facet-selected> 16 <guided-if-facet-long [gsname="facetname"]> This conditional tag is true when the number of facet values <guided-else-facet-long></guided-if-facet-long> is over the length-threshold defined in the configuration. Use Appendices Tag 385 Description it to display a facet as a different user interface element (such as a truncated list or a scroll box) when the list is too long. <guided-facet gsname="category"> <guided-if-facet-long> <div class="long_facet"> <guided-facet-values> <guided-facet-link><guided-facet-value/></guided-facet-link> </guided-facet-values> </div> <guided-else-facet-long> <div class="facet"> <guided-facet-values> <guided-facet-link><guided-facet-value/></guided-facet-link> </guided-facet-values> </div> </guided-if-facet-long> </guided-facet> You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-long gsname="category"> The category facet is very long! </guided-if-facet-long> 17 <guided-if-facet-selected This conditional tag is true when the facet is clicked at least once and a facet value is currently selected. It can be used to [gsname="facetname"]> <guided-else-facet-selected></guided-if-facet-selected> show or hide HTML or gs tags depending on whether a facet is clicked. <guided-facet gsname="category"> <guided-if-facet-selected> This facet has been selected. can no longer refine it. <guided-else-facet-selected> <guided-facet-values> You <guided-facet-link><guided-facet-value/></guided-facet-link> </guided-facet-values> </guided-if-facet-selected> </guided-facet> You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-selected gsname="category"> The category facet is selected! </guided-if-facet-selected> Appendices Tag 386 Description 18 <guided-if-facet-single This conditional tag is true when there is only one facet value. It can be used to change the display of the facet when it has no [gsname="facetname"]> <guided-else-facet-single></guided-if-facet-single> ability to refine the results. <guided-facet gsname="category"> <guided-if-facet-single> Facet is not refinable. <guided-else-facet-single> <guided-facet-values> <guided-facet-link><guided-facet-value/></guided-facet-link> </guided-facet-values> </guided-if-facet-single> </guided-facet> You can also use this condition outside the context of a named guided-facet block by referencing a specific facet directly through use of the gsname attribute. <guided-if-facet-single gsname="category"> There is only one value in the category facet! </guided-if-facet-single> 19 <guided-if-facet-has-values This condition lets you check if the specified facet has any values at all. You can use it for showing another facet instead <guided-else-facet-has-values></guided-if-facet-has-values> of an empty one. [gsname="facetname"]> 20 <guided-facet-total-count gsname="facetname"/> 21 <guided-facet-value gsname="associated custom facet value" [escape="html|url|js|json|0"]/> 22 <guided-if-facet-value gsname="associated Outputs the total number of results that are within the given facet. Outputs the string of a value that is associated with the facet. You can have 0 or more fields associated with a facet. Having associated fields is rare and to support such you configure the transport template. Tests if the facet value has an associated field value. custom facet value"/><guided-else-facet-value></guided-if-facet-value> 23 <guided-facet-link [attr="value"]+></guided-facet-link> Creates a link around the facet value string for the customer to click. The path is automatically generated to narrow the results by the current facet value. It supports passing any attribute directly to the anchor tag. <guided-facet-values> <guided-facet-link class="facetlink"><guided-facet-value/></guided-facet-link> </guided-facet-values> Appendices Tag 24 <guided-facet-value-path [escape="html|url|js|json|0"]/> 387 Description Creates your own link to a facet value. <guided-facet-values> <guided-lt/>a href="<guided-facet-value-path/>"<guided-gt/><guided-facet-value/></a> </guided-facet-values> By default, the value is URL escaped. You can, however, add another layer of encoding by specifying which mode of escaping you want to use by way of the escape parameter. 25 <guided-facet-value-children></guided-facet-value-children> As <guided-facet-values> iterate through each facet value, this tag iterates through all the child values of a nested facet. Inside this tag, use the typical facet tags for creating links, creating undo links, and displaying facet values. This tag must be inside <guided-facet-values> because it does nested looping. An example of using this tag is the following: <guided-facet-values> <guided-facet-link title='<guided-facet-value />'><guided-facet-value /> (<guided-facet-count />)</guided-facet-link> <guided-if-facet-value-has-children> <guided-facet-value-children> <guided-facet-link title='<guided-facet-value />'><guided-facet-value /> (<guided-facet-count />)</guided-facet-link> </guided-facet-value-children> </guided-if-facet-value-has-children> </guided-facet-values> 26 <guided-if-facet-value-has-children> <guided-else-facet-value-has-children> </guided-if-facet-value-has-children> Tests if the current facet value has child values. Recommended to use before using the <guided-facet-value-children> tags. The "else" clause is optional. 27 <guided-if[-not]-facet-value-above-length-threshold> Determines if the current facet value within the facet-values <guided-else[-not]-facet-value-above-length-threshold> loop, is above the length threshold. It is typically used to only </guided-if[-not]-facet-value-above-length-threshold> display values below the threshold on a long facet (unless the user previously selected a "See more" link displayed beneath the facet). 28 <guided-if[-not]-facet-value-equals-length-threshold> Determines if the current facet value within the facet-values <guided-else[-not]-facet-value-equals-length-threshold> loop, is equal to the length threshold. </guided-if[-not]-facet-value-equals-length-threshold> 29 <guided-facet-value-undo-link></guided-facet-value-undo-link> Displays an undo link for a given selected facet value. Use it to display an undo link next to a selected facet value. Because this undo link only undoes that particular selected value, it Appendices Tag 388 Description differs from <guided-facet-undo-link> which deselects all selected values. Note: If the facet does not have multi-select behavior then the two undo links have the same behavior. That is, the facet can only have one selected value. If the facet is not currently selected then the link is the current path. Use this tag only within a guided-facet-values loop. 30 <guided-facet-value-undo-path/> Create your own facet value undo link. 31 <guided-facet-undo-path gsname="facetname"/> Create your own facet undo link. Similar to the <guided-facet-undo-link> tag except that it gives you the raw path to build your own undo link. 32 <guided-if-facet-value-matches Conditionally display HTML when the given facet has the selected or single value "value". This set of tags is often used to value="value"><guided-else-facet-value-matches> display a facet based on the value selected in another facet. facetname="facetname" </guided-if-facet-value-matches> 33 <guided-facet-behavior gsname="facetname"/> Determine a facet's behavior, such as normal, sticky, or multi-select. It is useful for customers that receive XML results and want to dynamically change how the facet is displayed based on its behavior. 34 <guided-if-facet[-not]-visible gsname="real_facet"> <guided-else-facet[-not]-visible> </guided-if-facet[-not]-visible> The content that this tag wraps is either hidden or revealed based on the visibility state of the facet. If a business rule hides or reveals the facet directly, any content inside the facet is hidden or revealed. It is not necessary for these tags to wrap around the facet. A common use for this tag is to hide the display name when the name is outside the facet. Wrapping this tag around the display name makes the name disappear when the facet is hidden. This tag replaces the zone and has many of the same performance benefits as using zones. Breadcrumb See About Breadcrumbs. Appendices Tag 389 Description 1 <guided-breadcrumb The loop tag for the breadcrumb. Any content in between the [gsname="breadcrumbname"]></guided-breadcrumb> opening and closing tags is iterated for each query-number of the current state. If gsname is omitted, then the breadcrumb named "default" is used. 2 <guided-breadcrumb-link [gsname="goto|remove|drop"] [attr="value"]+></guided-breadcrumb-link> Creates a link in the breadcrumb. The default behavior is the "goto" behavior. If the link behaves differently, use the gsname optional attribute to specify "remove" or "drop". Any attribute included in the tag is passed through to the resulting anchor tag. <guided-breadcrumb> <guided-breadcrumb-link gsname="remove" class="bc_link"> <guided-breadcrumb-value/> </guided-breadcrumb-link> </guided-breadcrumb> 3 <guided-breadcrumb-value /> The value tag prints out the transformed value of the current breadcrumb iteration. It is used only in the context of a guided-breadcrumb block. <guided-breadcrumb> <guided-breadcrumb-link> <guided-breadcrumb-value/> </guided-breadcrumb-link> </guided-breadcrumb> 4 <guided-breadcrumb-label /> The label tag outputs a label for a breadcrumb value detailing which facet was selected to generate that breadcrumb item. It is only used in the context of a guided-breadcrumb block. <guided-breadcrumb> <guided-breadcrumb-link> <guided-breadcrumb-label/>: <guided-breadcrumb-value/> </guided-breadcrumb-link> </guided-breadcrumb> 5 <guided-if-breadcrumb-label><guided-else- This conditional tag is used to conditionally display content breadcrumb-label><guided-if-breadcrumb-label if the current breadcrumb value has a label. It is used to only /> display labels and relating content when a label actually exists. It is only used in the context of a guided-breadcrumb block. <guided-breadcrumb> <guided-breadcrumb-link> <guided-if-breadcrumb-label> <guided-breadcrumb-label/>: </guided-if-breadcrumb-label> Appendices Tag 390 Description <guided-breadcrumb-value/></guided-breadcrumb-link> </guided-breadcrumb> 6 <guided-breadcrumb-path Used to build your own breadcrumb link. [gsname="goto|remove|drop"]/> Menus See About Menus. 1 Tag Description <guided-menu This is the menu value loop iterator tag. Use the gsname attribute to identify which set of menu items is displayed. gsname="menuname"></guided-menu> 2 <guided-menu-item-link [attr="value"]+></guided-menu-item-link> 3 Gives you the URL for refining the current search for the menu item. <guided-menu-item-option [attr="value"]+ /> Typically a menu is displayed in a select control on a template. This tag makes constructing the select control easier because it generates the HTML for generating the option for the select control. For example, the following code block: <select name="sort" onchange="gcGo(this);"> <guided-menu gsname="sort"> <guided-menu-item-option/> </guided-menu> </select> Can generate HTML like the following: <select name="sort" onchange="gcGo(this);"> <option value="?sort=relevance;sp_sfvl_field=product-type|category|size;" selected="selected">Sort by Relevance</option> <option value="?sort=avail-code;sp_sfvl_field=product-type|category|size;">Sort by Availability</option> <option value="?sort=price;sp_sfvl_field=product-type|category|size;">Sort by Price</option> </select> 4 <guided-menu-item-value /> Returns the string of the value that is associated with the menu. 5 <guided-menu-item-label /> Returns the string of the label that is associated with the menu. Appendices 391 Tag Description 6 <guided-menu-item-path /> Returns the path string. Use the tag if you want to add a parameter to the path and create a custom link. 7 <guided-if-menu-item-selected> Returns a 1 or 0 indicating if the current menu item is selected. <guided-else-menu-item-selected> </guided-if-menu-item-selected> Pagenav The page navigation tags can be used to build a set of links allowing a user to page through the search results. Tag Description 1 <guided-pages></guided-pages> The loop tag for the page navigation. Any content between the opening and closing tags is iterated for each page. 2 <guided-page-link Creates a link in the page navigation. [attr="value"]+></guided-page-link> 3 Creates a link to the first, previous, next, or last page. It can gsname="first|prev|next|last|viewall|viewpages" also create a link to view all of the pages on one page. <guided-page-link [attr="value"]+></guided-page-link> 4 <guided-page-number /> 5 <guided-if-page-selected><guided-else-page- This set of conditional tags is true if the page that is currently 6 selected></guided-if-page-selected> iterated over is selected. It is typically used to display differently the page number in the page-navigation control. <guided-if[-not]-page-prev> This set of conditional tags is true if the current page has a previous page. It is typically used to display a previous link in the page navigation, when it makes sense. <guided-else-page-prev> </guided-if[-not]-page-prev> 7 <guided-if[-not]-page-next> <guided-else-page-next> </guided-if[-not]-page-next> 8 Returns a string with the current page number. <guided-if[-not]-page-viewall> <guided-else-page-viewall> </guided-if[-not]-page-viewall> This set of conditional tags is true if the current page has a next page. It is typically used to display a previous link in the page navigation, when it makes sense. When a search returns a large result set you might not want to offer the ability to view all of the results. Therefore, you can use this set of conditional tags to determine when to display the View All link. Appendices 9 392 Tag Description <guided-if[-not]-page-viewpages> You can use this set of conditional tags to determine when to display the View Pages link. It is typically used to allow a customer to view certain pages. <guided-else-page-viewpages> </guided-if[-not]-page-viewpages> 10 <guided-if-page-link gsname="first|prev| next|last|viewall|viewpages"> Tests if the page navigation has a first page, previous page, next page, and so on. <guided-else-page-link> </guided-if[-not]-page-link> 11 <guided-page-total /> Returns a string with the total number of pages of search results. 12 <guided-pagination gsname= Use the guided-pagination tag to define an area in which all pagination tags relate to a specific pagination setting in case you have few Page Navigation Settings defined. "pagination_name"></guided-pagination> 13 <guided-page-path[gsname="first|prev| Creates your own link in the page navigation. next|last|viewall|viewpages]/> 14 <guided-if-page-high-eq-last> <guided-else-page-high-eq-last> Tests if the highest page in the page navigation is equal to the total number of pages. </guided-if-page-high-eq-last> 15 <guided-if-page-low-eq-first> <guided-else-page-low-eq-first> Tests if the lowest page in the page navigation is equal to the one. </guided-if-page-low-eq-first> 16 <guided-if-page-is-multipage> <guided-else-page-is-multipage> Tests if there is a single page of results or multiple pages of results. </guided-if-page-is-multipage> Recent Searches You can use recent searches tags to build a set of links that let a user quickly run a previous search, as in the following example: <guided-if-recent-searches> <span>Recent Searches</span><br/> <guided-recent-searches> <guided-recent-searches-link><guided-recent-searches-value></guided-recent-searches-link><br/> </guided-recent-searches> <guided-recent-searches-clear-link>Clear Recent Searches</guided-recent-searches-clear-link> </guided-if-recent-searches> See Configuring recent searches. Appendices Tag 393 Description 1 <guided-recent-searches></guided-recent-searches> The loop tag for recent searches. Any content between the opening and closing tags is iterated for each page. 2 <guided-recent-searches-link [attr="value"]+> Lets you build a link to a recent search. It supports the passing of any HTML attributes directly to the anchor tag. </guided-recent-searches-link> 3 <guided-recent-searches-path/> Lets you grab the relative URL path for a recent search, within a guided-recent-searches loop. Typically you would use guided-recent-search-link. However, if you wanted to build your own link you could use this tag. The following is an example: <guided-lt/>a href="<guided_recent_searches_path>"><guided-recent-searches-value></a> 4 <guided-recent-searches-value> Lets you grab the query term that is associated with a recent search. 5 <guided-recent-searches-clear-link Lets you offer your customers the ability to clear recently saved [attr="value"]+></guided-recent-searches-clear-link> searches. 6 <guided-recent-searches-clear-path/> Returns the path that <guided-recent-searches-clear-link> uses so that you can build your own link. 7 <guided-if-recent-searches> <guided-else-recent-searches> Lets you display the recent searches when a customer has performed a recent search. </guided-if-recent-searches> Did You Mean You can use Did You Mean tags to build a set of links to suggestions when a search returns no results and the Search term is not in the account's dictionary. The following is an example of using Did You Mean tags: <guided-if-suggestions> <span>Did You Mean?</span><br/> <guided-suggestions> <guided-suggestion-link><guided-suggestion/></guided-suggestion-link><br/> </guided-suggestions> </guided-if-suggestions> See About Did You Mean. 1 Tag Description <guided-suggestions></guided-suggestions> This is the loop tag for looping over the suggestions. Appendices 2 394 Tag Description <guided-suggestion-link Creates a link to the given suggestion. [attr="value"]+></guided-suggestion-link> 3 <guided-suggestion-value /> 4 <guided-if[-not]-suggestions><guided-else[-not]- Lets you test if there are any suggestions. suggestions></guided-if[-not]-suggestions> 5 <guided-suggestion-path/> Returns the path string to the suggestion. You can use it to build your own anchor tag. Typically, guided-suggestion-link is used instead. 6 <guided-suggestion/> A suggestion. 7 <guided-suggestion-result-count/> Result count for the suggestion. 8 <guided-if[-not]-suggestion-autosearch> Lets you test if autosearch by suggestion on zero results was performed, in case this feature is on. <guided-else[-not]-suggestion-autosearch> </guided-if[-not]-suggestion-autosearch> 9 <guided-suggestion-original-query/> Returns the original query if autosearch was performed. Example of use: <guided-if-suggestion-autosearch> Search for <guided-query-param gsname="q" /> instead of <guided-suggestion-original-query /> </guided-if-suggestion-autosearch> 10 <guided-if[-not]-suggestion-low-results> <guided-else[-not]-suggestion-low-results> </guided-if[-not]-suggestion-low-results> This condition is true if there are suggestions due to a low result count, in case this feature is on. The following is an example of using this tag: <guided-if-suggestion-low-results> You have a low result count for <guided-query-param gsname="q" />. Did you mean: <guided-suggestions> <guided-suggestion-link> <guided-suggestion /> </guided-suggestion-link><guided-if-not-last>, </guided-if-not-last> </guided-suggestions> </guided-if-suggestion-low-results> Appendices 395 Autocomplete The following tags can be used to add autocomplete to your search form. The head-content and form-content tags are required to make autocomplete function correctly. It is recommended you use the tags as opposed to hard coding the autocomplete Javascript and CSS into your presentation template. The reason is because tags enable your templates to pick up any new defeat cache IDs whenever you change your autocomplete settings without the need to manually update your template. See About Auto-Complete. 1 Tag Description <guided-if-autocomplete> Detects if the autocomplete feature is enabled. You could use the tags to optionally pick up the head and form content that are required for autocomplete. In turn, this lets you toggle the feature on and off and not have to alter your presentation templates. <guided-else-autocomplete> </guided-if-autocomplete> 2 <guided-ac-css/> Used in the head of the presentation template and replaced by the appropriate CSS script includes for autocomplete. 3 <guided-ac-form-content/> Used in the search form (between the <form> and </form> tags) of the presentation template instead of hard coding the autocomplete tags within the form. The tags are replaced with the appropriate HTML that is required to make autocomplete work. 4 <guided-ac-javascript/> Generates the links to the Autocomplete JavaScript. For best performance it is recommended that you place this tag near the bottom of the page before the closing "body" tag. Store Use the following tags to test and display the store that a user is currently in. Tag Description 1 <guided-store/> Outputs the current store. 2 <guided-if-store-defined> Detects if the user is in a store. <guided-else-store-defined> </guided-if-store-defined> 3 <guided-if-store gsname="store"> <guided-else-store> </guided-if-store> Detects if the user is in the store that the gsname parameter specifies. Appendices 396 Zones 1 Tag Description <guided-zone gsname="zone area" You can wrap any content in zone tags to create a zone out of that area. This lets you use business rules to display the zone as needed. By default, zones are always displayed. You can use the optional search and facet parameters to indicate what search or facet is associated with the zone. Such functionality lets the software skip searches or facets when a zone is hidden, improving search-time performance. The height and width attributes are optional and are used to configure how the placeholder is displayed in the Visual Rule Builder when a zone is removed. [search="associated search"] [facet="associated facet"] [width="xx" height="yy"]> Use the guided-if-facet[-not]-visible tag instead of the zone where possible. It simplifies the presentation template. 2 <guided-if-zone gsname="zone area"> <guided-else-zone> </guided-if-zone> This set of tags enables testing if a zone is currently being displayed. It is useful when you have content elsewhere on the page that you only want to display when the zone is displayed. Loop Indicators You can use each of the following loop indicators in any of these loop blocks: • guided-results • guided-facet-values • guided-breadcrumb • guided-menu-items • guided-pages Tag 1 <guided-if[-not]-first><guided-else[-not]-first> This condition is true when the current iteration is the first </guided-if[-not]-first> 2 Description iteration of the loop. That does not necessarily mean the first result or the first page, but the first one shown. If the site visitor is on page 2 of a results set that is 10 per page, the first iteration is result 11. <guided-if[-not]-last><guided-else[-not]-last> This condition is true when the current iteration is the last </guided-if[-not]-last> iteration of the loop. That does not necessarily mean the last result or the last page, but the last one shown in the current context (page). If the site visitor is on page 1 of a results set that contains 200 results but only has 10 results per page, the last iteration is result 10 instead of result 200. Appendices Tag 3 iteration of the loop. This is helpful for displaying varying row colors. <guided-if[-not]-inner><guided-else[-not]-inner> Includes the text between them if the current iteration is </guided-if[-not]-inner> 7 iteration of the loop (versus an odd iteration). This is helpful for displaying varying row colors. <guided-if[-not]-alt><guided-else[-not]-alt> This condition is true when the current iteration is an even </guided-if[-not]-alt> 6 iteration of the loop (versus an even iteration). This is helpful for displaying varying row colors. <guided-if[-not]-even><guided-else[-not]-even> This condition is true when the current iteration is an even </guided-if[-not]-even> 5 Description <guided-if[-not]-odd><guided-else[-not]-odd> This condition is true when the current iteration is an odd </guided-if[-not]-odd> 4 397 neither the first or the last. <guided-if[-not]-outer><guided-else[-not]-outer> Includes the text between them if the current iteration is the </guided-if[-not]-outer> first or the last. 8 <guided-loop-index> An integer (starting from 0) whose value increments for each iteration of the loop. 9 <guided-loop-counter> An integer (starting from 1) whose value increments for each iteration of the loop. Miscellaneous Language The following tags are available to let you do more advanced things with your template, such as building your own mini-facet. 1 Tag Description <guided-current-path Gives you the current path that is used. Typically it is used to create a link that adds on a new parameter to the existing search. By default the path is URL escaped. You can specify which mode of escaping you want to use by way of the escape parameter. [escape="html|url|js|json|0"] /> Example: <a href="<guided-current-path />&lang=fr"> French Version In this example, a search processing rule uses lang to select the French version. Appendices Tag 398 Description Current path always has at least one query parameter. If no other query parameters exist it is set to q=* making it easier to add more parameters. 2 Base Path If you want to create a link using the basepath, use / at the start of your href and add on parameters. <a href="/">All Products</a> Would create a link "All Products" to your basepath, for example http://search.mycompany.com/ 3 <guided-query-param gsname="query_parameter" Lets you grab the existing value of a query parameter that is [escape="html|url"] /> on the URL. If your parameter does not exist, this tag returns an empty string. If you do not specify an escape option the string returned is automatically HTML escaped, you can specify either HTML or URL escaping. Example: If my URL is http://stage.leejeansken.com:2928/?q=pants&lang=en <guided-query-param gsname="q" /> gives you the value pants <guided-query-param gsname="lang" /> gives you the value en <guided-query-param gsname="test" /> gives you an empty string 4 <guided-query-param-name gsname="param#" offset="offset_number"/> Guided Search has the notion of a query number, which is used in the breadcrumb control. guided-query-param-name lets you define parameters as part of a link in the presentation template where Guided Search figures out the correct query number for you. The gsname has an "x" in it, which Guided Search replaces with the correct number. The offset value can be 0 – 15, where 0 indicates that the next available query number is used. A 1 indicates that you want to add 1 to it, and so on. Combined with guided-current-path, you can build your own mini facet link or allow an additional drill-down level. Example: <a href="<guided-current-path />&<guided-query-param-name gsname="q#" offset="0" />=mens&<guided-query-param-name Appendices Tag 399 Description gsname="x#" offset="0" />=category" >Category:Men</a> <a href="<guided-current-path />&<guided-query-param-name gsname="sp_q_exact_#" offset="0" />=mens&<guided-query-param-name gsname="sp_x_#" offset="0" />=category&<guided-query-param-name gsname="sp_q_exact_#" offset="1" />=Jeans&<guided-query-param-name gsname="sp_x_#" offset="1" />=product-type" >Cat:Men Product:Jeans</a> 5 <guided-include gsfile="filename" /> Lets you include other template files. This functionality means that you can create multiple templates using sub templates as modules. In the following example, the breadcrumbs and facets files are included: <guided-include gsfile='breadcrumbs.tmpl' /> <guided-include gsfile='facets.tmpl' /> Dynamic includes are not supported. In other words, gsfile cannot be a variable. 6 <guided-search-time> Identifies how long the search took. The returned search time value is specified in ms. 7 <guided-fall-through-searches> Returns the count of cores searches that are used to build the page of search results. 8 <guided-if-fall-through-search></guided-if-fall-through-search> Tests if the count of core searches is greater than one. 9 <guided-if[-not]-even><guided-else[-not]-even> This condition is true when the current iteration is an even </guided-if[-not]-even> iteration of the loop (versus an odd iteration). This is helpful for displaying varying row colors. 10 <guided-if[-not]-alt><guided-else[-not]-alt> This condition is true when the current iteration is an even iteration of the loop. This is helpful for displaying varying </guided-if[-not]-alt> row colors. 11 <guided-if[-not]-inner><guided-else[-not]-inner> Includes the text between them if the current iteration is neither the first or the last. </guided-if[-not]-inner> 12 <guided-if[-not]-outer><guided-else[-not]-outer> Includes the text between them if the current iteration is the first or the last. </guided-if[-not]-outer> Appendices Tag 400 Description 13 <guided-if-first-search><guided-else-first-search> Lets you check whether you are on the initial search or not (query was the result of a search from the search box). </guided-if-first-search> 14 <guided-search-url/> You can use this tag in your template to save you from hardcoding the search form's action. It detects when you are in the Staged or Live environment and changes correspondingly. 15 <guided-if-query-param-defined This set of tags lets you test what CGI parameters are defined in the search path. You can test the values of the parameters only if they are defined. gsname="query_parameter"> <guided-else-query-param-defined> </guided-if-query-param-defined> 16 <guided-next-query-number [gsname="offset"] The Guided Search engine that drives the template has the notion of floating query numbers where each new link that /> the engine generates, uses the next available query number. This tag lets you grab the next query number or offsets so that you can build custom links that drill into the result set. Offset lets you offset into the next query number. For example, if you have selected one facet, the next query number is 2, with an offset of 1 the query number returned is 3. 17 <guided-custom-var gsname="custom_variable" Lets you grab the existing value of a custom variable that your processing rules define. If you do not specify an escape option [escape="html|url|js|json|0"]/> the string returned is automatically HTML escaped, you can specify either html, url, js, or 0. If you use a processing rule to copy an incoming CGI parameter to a custom variable and then display or use that variable in your template with escaping set to none or js, then you can create an XSS vulnerability in your search. 18 <guided-if-custom-var-defined gsname="custom_variable"> <guided-else-custom-var-defined> Enables testing if a custom variable is defined in the processing rules (query cleaning, pre-search processing and post-search processing). </guided-if-custom-var-defined> 19 <guided-general-field gsname="searchname" field="fieldname" [escape="html|url|js|json|0"]/> Lets you display the contents of a general field that is defined in the transport template. If you do not specify an escape option the string returned is encoded in the format you have specified in the transport template for that field. Specifying an escape option applies on top of whatever format you are encoding the field as in your transport template. You can specify either html, url, js, json, or 0. Appendices Tag 401 Description 20 <guided-if-general-field gsname="searchname" Enables testing if the contents of a general field, as defined in the transport template, exists. field="fieldname"> <guided-else-general-field> </guided-if-general-field> 21 <guided-cookie-value gsname="cookie_name" [escape="html|url|js|json|0"]/> 22 <guided-if-cookie gsname="cookie_name"> Lets you grab the value of a cookie, assuming that the cookie is available. If you do not specify an escape option the string returned is automatically HTML escaped, you can specify either html, url, js, json, or 0. Enables testing if a cookie exists. <guided-else-cookie> </guided-if-cookie> 23 <guided-banner gsname="banner area" [escape="html|url|js|json|0"] [width="xx" height="yy"]/> Outputs the banner for a given area. The optional width and height attributes are used in the Visual Rule Builder to enable the display of a meaningful place-holder to let users select a banner. By default banners are not escaped. Instead, you want to inject HTML into the presentation template. However, if you are building a JSON template consider using the js escaping option. Example: <guided-banner gsname="top" width="400px" height="50px"/> 24 <guided-if-banner-set gsname="banner area"> Enables testing if a banner area is set. <guided-else-banner-set> </guided-if-banner-set> 25 <guided-if-simulator-mode> <guided-else-simulator-mode> </guided-if-simulator-mode> 26 <guided-if-tnt-business-rules> <guided-else-tnt-business-rules> </guided-if-tnt-business-rules> 27 <guided-redirect/> Lets you detect when you are viewing your search in Simulator or the Visual Rule Builder. It is normally used to display extra debug information for you. Lets you detect if you have any business rules referencing an Adobe Target campaign. It is normally used as part of the integration with Adobe Target to prevent hitting the Target servers when it is not necessary. By default redirects are performed automatically. However, if you have configured site search/merchandising to return an XML or JSON response to your web-application, you can choose to either parse the 302/301 response in your web-application or have the redirect passed to you as part of the result set. If you are passing the redirect as part of the Appendices Tag 402 Description result set, then this tag can be used in the template to output the redirect location. 28 <guided-if-redirect> <guided-else-redirect> When you have configured site search/merchandising to return redirects in the result set, this set of tags can be used </guided-if-redirect> to determine if there is a redirect to output. 29 <guided-lt/> <guided-gt/> This set of tags lets you embed guided template tags within HTML attributes. Example: <guided-lt/>div <guided-if-facet-long> style="height: 125px; overflow: auto;"</guided-if-facet-long><guided-gt/> Transport template tags Transport templates are XML templates that pass data from the backend search to the Guided Search presentation layer. In your presentation layer, you can have a single presentation template that presents the results of multiple searches. Each search could use the same transport template or a custom transport template to pass the data to the presentation layer. Because the transport template is only used to pass data to the presentation layer, it does not have any HTML that is concerned with displaying the search results. The transport template uses transport template XML tags to pass the search results for populating the Guided Search components, such as facets, breadcrumbs, and menus. Within these tags standard search template tags are used to display the actual values. See Editing a presentation or a transport template. See Search template tags. Transport template tag Description <guided-xml></guided-xml> The root XML tags that the presentation layer uses to detect what gets parsed out of the transport template. <general></general> Tags surround search template tags that provide summary data based on the result set. Typically, these tags contain search tags for total number of results, lower result, and highest result. You can define any number of additional global fields that you want with the general-field tag, as in the following example: <general> <total><search-total /></total> <lower><search-lower /></lower> <upper><search-upper /></upper> <general-field name="my_custom_field">Some global content</general-field> </general> Appendices 403 Transport template tag Description <results></results> Tags are wrapped around the search results, so that Guided Search knows where to look for them. <result></result> Tags are wrapped around each search result, so that Guided Search recognizes where the content for a single search result starts and ends, as in the following example: <results> <search-results> <result> <index><search-index /></index> <loc><search-cdata><search-url length="500" /></search-cdata></loc> </result> </search-results> </results> <attribute-table name="tablename"> Lets you loop through each item in a multi-value list for a single result. Only use this tag within a result. Its purpose is to let you iterate over attributes that belong to a result field, as in the following example: <results> <search-results> <result> <index><search-index /></index> <loc><search-url /></loc> <title><search-title /></title> <attribute-table name="downloads"> <field name="download_title"><search-display-field name="download_title" /></field> <field name="download_link" delimiter="|"><search-display-field name="download_link" /></field> </attribute-table> </result> </search-results> </results> <facets></facets> Passes on the results that populate the facets. <dynamic-facet></dynamic-facet> You can designate a facet as both a dynamic facet and as a member of a facet rail. However, their treatment is independent with respect to the related presentation template tags. In other words, the nesting of a facet rail looping context within a dynamic facet looping context, or vice versa, is not allowed. For facets that are both dynamic and railed, only those dynamic facets that were returned for a given search are visible within the facet rail looping context. Appendices 404 Transport template tag Description <facet name="name"></facet> Each facet has its own facet tags where the name parameter matches the facet name. Search tags are used within the facet tags for the facet values, as in the following example: <facets> <facet name="brand"> <values><search-field-value-list name="brand" quotes="no" commas="yes" data="values" sortby="values" /></values> <counts><search-field-value-list name="brand" quotes="no" commas="yes" data="counts" sortby="values" /></counts> </facet> <facet name="category"> <values><search-field-value-list name="category" quotes="no" commas="yes" data="values" sortby="values" /></values> <counts><search-field-value-list name="category" quotes="no" commas="yes" data="counts" sortby="values" /></counts> </facet> </facets> Accounts using slotted facets can use the dynamic tag and the display-names tag. Both of these tags help facilitate the mapping between slotted facets and real facets while creating business rules. <facets> <facet name="facet_values01"> <dynamic>1</dynamic> <display-names><search-field-value-list name="facet_names01" quotes="no" commas="yes" data="values" sortby="values" /></display-names> <values><search-field-value-list name="facet_values01" quotes="no" commas="yes" data="values" sortby="values" /></values> <counts><search-field-value-list name="facet_values01" quotes="no" commas="yes" data="counts" sortby="values" /></counts> </facet> <search-display-field separator=","> The separator attribute lets change the delimiter that is used when you output search-display-field data for lists. The default is a comma. Generally, the delimiter you use should be something that does not readily appear in your field content. <suggestions></suggestions> Wrap your Did You Mean suggestions with tags so that Guided Search recognizes which XML nodes contain suggestions. See About Did You Mean. Appendices 405 Transport template tag Description <suggestion></suggestion> Wrap each Did You Mean suggestion with tags, as in the following example: <search-if-suggestions> <suggestions> <search-suggestions> <suggestion><search-suggestion-text /></suggestion> </search-suggestions> </suggestions> </search-if-suggestions> See About Did You Mean. Search template tags A search template is an HTML file that includes template tags that site search/merchandising defines. These tags indicate how your search results are formatted. The following reference contains a brief description of each search template tag and its attributes. Note: Only use search template tags in transport template files (.tpl). You can select from the following search template tag groups and reference material. Tags that are valid only within the results loop include the following: • About Results loop tags • Results loop string tags • Results loop conditional tags • Results loop anchor link tags • Loop position conditional tags Tags that are valid throughout the template include the following: • Field value list tags • Field value list loop tags • Suggest tags • Template string tags • Template anchor link tags • Template conditional tags • Template form control tags Search template reference topics • Date format strings • Language identifiers • Specifying the content-type HTTP header • Specifying a character set in an HTML template • Specifying a character set in an XML template • Including a search template within another Appendices 406 About Results loop tags The results loop tag is the workhorse of the template system. When the tag is encountered during a search, the HTML is repeated and other tags between the beginning and ending results loop tags, replacing any other tags with your search results. <search-results> ... </search-results> The results loop tags surround the HTML that shows the search results. The HTML between the tags is repeated for every result and is displayed on the page. The following tags are valid only within the results loop: • Results loop string tags • Results loop conditional tags • Results loop anchor link tags • Loop position conditional tags Results loop string tags The following tags return a string. See About Results loop tags. Tag Description 1 <search-index> Returns the numerical index of the current result. 2 <search-title length="XX"> Returns the page title of the current result. The optional length attribute is used to limit the length of strings displayed, with a default of 80 characters. 3 <search-bodytext length="XX" Returns the body text starting from the top of the page. Relevant encoding="html/javascript/json/perl/url/none" terms are shown in bold. The optional length attribute is used to limit the length of strings displayed, with a default of 80 > characters. The encoding attribute is optional and it can encode output characters with HTML encoding (default), Javascript encoding, Perl encoding, or none. 4 <search-description length="XX" Returns the description of the current result. If the meta encoding="html/javascript/json/perl/url/none"> description tag exists and the content attribute is not empty, that text is shown. Otherwise, the beginning of the body text of the page is shown. The optional length attribute is used to limit the length of strings displayed, with a default of 80 characters. The optional encoding attribute controls whether the output is HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of encoding is html. Normally, you do not need to specify the encoding attribute. Appendices Tag 407 Description 5 <search-score Returns the score of the current result, which is a number 0 – rank="dynamic/static/dynamic-raw/static-raw/final-raw" 100. If you have defined a rank field under Options > Metadata > Definitions, you can display the dynamic page rank by setting precision="XX"> the rank attribute to dynamic (<search-score rank="dynamic">). You can display the static page rank by setting the rank attribute to static (<search-score rank="static">). You can use the optional precision attribute to specify the number of decimal places to display. The default is 0 which displays the integer score). 6 <search-date length="XX" none="text" date-format="date-format-string" gmt="yes/no" language="0/2/language-id"> Returns the date of the current result. The optional "none" text value is displayed if there is no date associated with the current result. If the optional "none" value is not given, the text "No Date" is displayed if there is no date associated with the current result. The "date-format" attribute takes a UNIX style date format string such as "%A, %B %d, %Y" (for "Monday, July 25, 2016"). "gmt" defaults to "yes" and controls whether the time portion of the date string should be output in GMT ("yes") or the account's time zone ("no"). The "language" attribute controls the language and locale conventions of the output date string. "0" (the default) means "Use Account Language". "2" means "Use Document Language". The "language" value "1" is reserved for future use. Any other "language" value is interpreted as a specific language identifier, for example, "en_US" means "English (United States)". The optional length attribute is used to limit the length of strings displayed, with a default of 80 characters. 7 <search-size> Returns the size of the current result in bytes. 8 <search-url length="XX" Returns the URL of the current result. encoding="html/javascript/json/perl/url/none" > Use the optional length attribute to limit the length of strings displayed, with a default of unlimited characters. The encoding attribute is optional and it can encode output characters with HTML encoding, Javascript encoding, Perl encoding, or none. 9 <search-url-path-query length="XX"> Returns the path and query portions including the question mark of the URL of the current result. Use the optional length attribute to limit the length of strings displayed, with a default of unlimited characters. Appendices Tag 408 Description 10 <search-context length="XX" Returns the next line of context for the search term. Relevant encoding="html/javascript/json/perl/url/none" terms are shown in bold. Call this tag repeatedly to display more than one context line for the current result. > Use the optional length attribute to limit the length of strings displayed, with a default of 80 characters. The length attribute is ignored if this tag is enclosed by either <search-if-context> or <search-if-any-context> tag sets which contain a length attribute. The encoding attribute is optional and it can encode output characters with HTML encoding (default), Javascript encoding, Perl encoding, or none. 11 <search-display-field name="field-name" length="XX" none="text" date-format="date-format-string" gmt="yes/no" language="0/2/language-id" encoding="html/javascript/json/perl/url/none" quotes="yes/no" commas="yes/no" This advanced tag displays the content of the metadata field (url, title, desc, keys, target, body, alt, date, charset, and language or fields defined under Options > Metadata > Definitions) specified in the name attribute, for the current result. For example: <search-display-field name="title" length="70" none="no title"> units="miles/kilometers" separator="|"> Outputs the title of the page for a search result. If the optional none attribute is specified, its value is displayed on the results page only if there is no content associated with the field. The date-format, gmt and language attributes are only relevant if the content type of the specified field is date. The date-format attribute takes a UNIX style date format string such as %A, %B %d, %Y (for Monday, July 25, 2016). gmt defaults to yes and controls whether the time portion of the date string is output in GMT (yes) or the account's time zone (no). See Date format strings. The language attribute controls the language and locale conventions of the output date string. 0 (the default) means "Use Account Language". 2 means "Use Document Language". The language value 1 is reserved for future use). Any other language value is interpreted as a specific language identifier, for example, en_US means "English (United States)". See Language identifiers. The optional length attribute is used to limit the length of strings displayed, with a default of 80 characters. The optional encoding attribute controls whether the output is HTML encoded, JavaScript encoded, Perl encoded, URL encoded Appendices Tag 409 Description or not encoded, for output on the results page. The default value of encoding is html. Normally, you do not need to specify the encoding attribute. The optional quotes attribute controls whether the individual items output are surrounded by double-quotes (or single-quotes, if encoding=perl). The default value of quotes is no. The optional commas attribute controls whether the individual items output are separated by commas. The default value of commas is yes. The commas attribute is ignored for non-list-type fields. The optional units attribute controls the distance units applied to a proximity search output field. The default value of units is determined from the "Default Units" setting of the location-type field associated with the given proximity search output field. See About proximity search. The optional separator attribute defines the single character, or delimiter, that is inserted between the values of the output for list-type fields. 12 <search-display-field-values name="field-name"> ...<search-display-field-values> 13 <search-display-field-value This tag creates a loop for enumerating metadata field values (url, title, desc, keys, target, body, alt, date, charset, and language or fields defined under Options > Metadata > Definitions) for the current result. Do not nest this tag inside another <search-display-field-values> tag. The name attribute specifies the name of the field containing the values to enumerate. This tag is most useful with fields that have the Allow Lists attribute checked (under Options > Metadata > Definitions). This tag outputs the metadata field value (url, title, desc, keys, target, body, alt, date, charset, and language or fields defined date-format="date-format-string" under Options > Metadata > Definitions) for the current gmt="yes/no" language="0/language-id" encoding="html/javascript/json/perl/url/none"> <search-display-field-values> loop iteration. This tag is only valid inside a <search-display-field-values> loop. The date-format, gmt and language attributes are only relevant if the content type of the field name specified in the enclosing <search-display-field-values> tag is date. The date-format attribute takes a UNIX style date format string such as "%A, %B%d, %Y" (for "Monday, July 25, 2016"). The gmt attribute defaults to yes and controls whether the time portion of the date string is output in GMT (yes) or the account's time zone (no). Appendices Tag 410 Description The language attribute controls the language and locale conventions of the output date string. 0 (the default) means "Use Account Language". Any other language value is interpreted as a specific language identifier, for example, en_US means "English (United States)". The optional encoding attribute controls whether the output is HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of encoding is html. Normally, you do not need to specify the encoding attribute. 14 <search-display-field-value-count name="field-name"> Outputs the total number of values in the current result for the metadata field (url, title, desc, keys, target, body, alt, date, charset, and language or fields defined under Options > Metadata > Definitions) specified with the name attribute. This tag can appear anywhere in the results loop. 15 <search-display-field-value-counter> Outputs the ordinal counter (1, 2, 3, and so on) for the current <search-display-field-values> loop iteration. This tag is only valid inside a <search-display-field-values> loop. 16 <search-dynamic-facet-fields> Begins a looping context for any dynamic-facet-fields returned for this search. 17 <search-dynamic-facet-field-name> Outputs the name of the current dynamic-facet-field, for this loop iteration. 18 <search-result-trace Outputs information related to the placement of the current encoding="html/javascript/json/perl/url/none"> result, for example, any results-based actions that affected the position of the result. The output format of this tag is JSON as in the following example: { "sliceID": 5, "indexID": 5894, "finalScore": 98.5, "dynamicScore": 15.3, "staticScore": 55.456, "position": 1, "rbtaActionListID": 117, "rbtaActionID": 57 } The encoding attribute is optional; the default value is html. Note: This tag only has output if sp_trace=1 is specified with the core search query parameters. Appendices Tag 411 Description See row 48 in the table found in Backend search CGI parameters. Results loop conditional tags The following tags conditionally include the HTML between them. See About Results loop tags. Tag 1 <search-if-title> ... </search-if-title> <search-if-not-title> ... </search-if-not-title> 2 <search-if-description length="XX"> ... /search-if-description> <search-if-not-description> ... Description These tags include the HTML between them if the next call to <search-title> returns (or does not return) text from the document title. These tags include the HTML between them if the next call to <search-description> returns (or does not return) text from the document description. </search-if-not-description> 3 <search-if-bodytext> ... </search-if-bodytext> <search-if-not-bodytext> ... These tags include the HTML between them if the next call to <search-bodytext> returns (or does not return) text from the document body. </search-if-not-bodytext> 4 <search-if-context length="XX"> ... </search-if-context> <search-if-not-context> ... </search-if-not-context> 5 <search-if-any-context length="XX"> ... /search-if-any-context> <search-if-not-any-context> ... </search-if-not-any-context> 6 <search-if-score lower="XX" upper="yy" These tags include the HTML between them if the next call to <search-context> returns (or does not return) a non-empty context string. The length attribute overrides the length attribute on any enclosed <search-context> tag. These tags include the HTML between them if there is (or is not) a context string associated with the result. The length attribute overrides the length attribute on any enclosed <search-context> tag. These tags include the HTML between them if the score of the rank="dynamic/static/dynamic-raw/static-raw/final-raw"> current result is (or is not) between XX and YY. Useful for adding bullets or graphics to show how relevant the result is. ... </search-if-score> If you have defined a rank-type field under Options > Metadata <search-if-not-score lower=XX upper=yy > Definitions, you can check the dynamic page rank by setting rank="dynamic/static"> ... the rank attribute to dynamic (<search-if-score </search-if-not-score> rank="dynamic" lower=XX upper=YY>). You can check the static page rank by setting the rank attribute to static Appendices Tag 412 Description (<search-if-score rank="static" lower=XX upper=YY>). 7 <search-if-field name="field-name" value="value"> ... </search-if-field> <search-if-not-field name="field-name" value="value"> ... </search-if-not-field> These advanced tags include the HTML between them based on whether the field specified in the "name" attribute has content or not. If the optional "value" attribute is specified, the tags include the HTML between them based on whether the given value matches (or does not match) the value for the field in the current result. These tags only function within the results loop (between <search-results> and </search-results> tags). Results loop anchor link tags See About Results loop tags. Tag Description 1 <search-link target="frame-name" This pair of tags creates an anchor link around the HTML between them. When the link is clicked, the results page displays. An optional target attribute specifies the named hbx-linkid-name="field-name" hbx-linkid-none="text" hbx-linkid-length="XX" window in which frame-capable browsers should display the results page. > ... </search-link> hbx-enable="yes/no" Set the hbx-enable attribute to "yes" to take advantage of the analytics available through HBX. Set hbx-linkid-name to the name of a Meta-data field you would like to track. For example, to track search results by SKU number, set hbx-linkid-name to the name of the Meta-data field that contains SKU information. Date-type fields are currently not supported. The value of hbx-linkid-name is appended to the link ID in the generated anchor. The value of the hbx-linkid-none attribute is appended to the link ID whenever the named Meta-data field is empty. The value of hbx-linkid-length limits the number of characters fetched and displayed from the Meta tag. The default number of characters is 12. 2 <search-smart-link target="frame-name" hbx-enable="yes/no" hbx-linkid-name="field-name" hbx-linkid-none="text" hbx-linkid-length="XX"> ... </search-smart-link> This pair of tags is similar to the <search-link> ... </search-link> tags. When the generated anchor links are clicked, the results page displays, but with the page scrolled to the nearest anchor tag preceding the result. For PDF links, the Acrobat viewer displays the page that contains the result. An Appendices Tag 413 Description optional target attribute specifies the named window in which frame-capable browsers should display the results page. Set the hbx-enable attribute to "yes" to take advantage of the analytics available through HBX. Set hbx-linkid-name to the name of a Meta-data field you would like to track. For example, to track search results by SKU number, set hbx-linkid-name to the name of the Meta-data field that contains SKU information. Date-type fields are currently not supported. The value of hbx-linkid-name is appended to the link ID in the generated anchor. The value of the hbx-linkid-none attribute is appended to the link ID whenever the named Meta-data field is empty. The value of hbx-linkid-length limits the number of characters fetched and displayed from the Meta tag. The default number of characters is 12. 3 <search-if-link-extension> ... </search-if-link-extension> <search-if-not-link-extension> ... </search-if-not-link-extension> These tags include the HTML between them if a value attribute specifies an extension that matches the end of the URL for the result. This tag is useful for including a graphic in the search results based on the link extension. The value attribute is a list of one or more extensions (space separated) as follows: VALUE=".pdf" or VALUE=".html .htm". Loop position conditional tags The following tags conditionally include the text between them. They can only appear inside the "looping" tags: <search-results> and <search-field-values>. They are used to test the position of the current result within the result set. See About Results loop tags. Tag 1 <search-if-first> ... </search-if-first> <search-if-not-first> ... </search-if-not-first> 2 <search-if-last> ... </search-if-last> <search-if-not-last> ... </search-if-not-last> Description These tags include the text between them if the current result is (or is not) the first result on the page (when used inside <search-results>) or the first field value (when used inside <search-field-values>). These tags include the text between them if the current result is (or is not) the last result on the page (when used inside <search-results>) or the last field value (when used inside <search-field-values>). This tag can be used to insert Appendices 414 Tag Description a separator between results. For example, this inserts an <hr> tag between results: <search-results> <search-lt>tr<search-if-alt> class="alt"</search-if-alt><search-gt> <td><search-url></td> </tr> </search-results> 3 <search-if-inner> ... </search-if-inner> <search-if-not-inner> ... </search-if-not-inner> These tags include the text between them if the current result is not the first nor the last result on the page (when used inside <search-results>) or is not the first nor the last field value (when used inside <search-field-values>). The not version of the tag tests whether the result is either the first or the last. 4 <search-if-alt> ... </search-if-alt> These tags include the text between them if the current result is (or is not) an alternate result on the page (when used inside <search-if-not-alt> ... </search-if-not-alt> <search-results>) or an alternate field value (when used inside <search-field-values>). The "alternate" results are the second, fourth, sixth, and so on, on the page. This example applies a different class to alternate table rows. Note the use of <search-lt> and <search-gt> to allow the <search-if-alt> tag to be placed "inside" the <tr> tag. <search-results> <search-lt>tr<search-if-alt> class="alt"</search-if-alt><search-gt> <td><search-url></td> </tr> </search-results> 5 <search-if-even> ... </search-if-even> <search-if-not-even> ... </search-if-not-even> These tags include the text between them if the current result is (or is not) an even-numbered result (when used inside <search-results>) or an even-numbered field value (when used inside <search-field-values>). A search result is even-numbered if its <search-index> value is even. In other words, if its position within the entire result set is even. This may be different from <search-if-alt> which tests the position of a result on the page, not within the entire result set. The following two tables illustrate the difference: Table 1: First page, sp_n=1 Index Result Even? Alt? 1 First result No No Appendices 415 Index Result Even? Alt? 2 Second result Yes Yes 3 Third result No No 4 Fourth result Yes Yes 5 Fifth result No No Index Result Even? Alt? 10 Tenth result Yes No 11 Eleventh result No Yes 12 Twelfth result Yes No 13 Thirteenth result No Yes 14 Fourteenth result Yes No Table 2: Later page, sp_n=10 Finally, note that <search-if-even> is always the same as <search-if-alt> for search field values since field values are not paged. Field value list tags The following advanced tags output field values and related data from the entire set of search results. These tags only yield output for fields specified by the sp-sfvl-field CGI parameters in the search query. Tag 1 <search-field-value-list name="field-name" quotes="yes/no" commas="yes/no" data="values/counts/results" separator="X" Description This tag displays a list of unique field values, value counts, or result counts within the entire result set. This tag only yields output for fields specified by the sp_sfvl_field CGI parameters in the search query. The max-items="XX" date-format="date-format-string" optional "quotes" attribute controls whether the individual gmt="yes/no" language="0/language-id" items output are surrounded by double-quotes (or encoding="html/javascript/json/perl/url/none"> single-quotes, if encoding=perl). The default value of "quotes" is "yes". The optional "commas" attribute controls whether the individual items output are separated by commas. The default value of "commas" is "yes". The sortby="none/values/counts/results" Appendices Tag 416 Description optional "data" attribute controls whether each unique field value is output (data="values"), the total count of each unique field value is output (data="counts"), or the number of results containing each unique value (data="results") is output. The default value of "data" is "values". For non-list-type fields, data="counts" and data="results" are equivalent. The separator attribute defines the single character, or delimiter, to be inserted between the values of the output. The optional "sortby" attribute controls the ordering of the output; sortby="none" means no particular order, sortby="values" means sort by field values (in ascending or descending order according to the field's Sorting property), sortby="counts" means sort in descending order of field value counts, and sortby="results" means sort in descending order of the number of results containing each value. Note that sortby="counts" and sortby="results" are equivalent for non-list-type fields. The optional "max-items" attribute limits the number of items to output. The default value of "max-items" is -1, which means "output all items". There is an absolute limit of 100 for max-items. The "date-format", "gmt" and "language" attributes are only relevant if the content type of the specified field is "date". The "date-format" attribute takes a UNIX style date format string such as "%A, %B %d, %Y" (for "Monday, July 25, 2016"). "gmt" defaults to "yes" and controls whether the time portion of the date string should be output in GMT ("yes") or the account's time zone ("no"). See Date format strings. The "language" attribute controls the language and locale conventions of the output date string. "0" (the default) means "Use Account Language". Any other "language" value is interpreted as a specific language identifier, for example, "en_US" means "English (United States)". The optional "encoding" attribute controls whether the output string characters are HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of "encoding" is "html". See Language identifiers. Appendices Tag 2 <search-field-value-list-count name="field-name" value="field-value" results="yes/no"> 3 <search-if-field-value-list-count name="field-name" value="field-value"> ... </search-if-field-value-list-count> <search-if-not-field-value-list-count name="field-name" value="field-value"> ... 417 Description This tag displays count information for a given search-field-value-list. There are three distinct uses for this tag. If only the "name" attribute is supplied, this tag outputs the number of unique values for the named field within the entire results set. If the "name" and "value" attributes are both supplied, this tag outputs either the total count of the given value within the entire results set (for results="no"), or the total count of results containing the given value in the entire results set (for results="yes"). The default value of "results" is "no". Note: For non-list-type fields, results="yes" and results="no" are equivalent. The value of "results" is ignored if the "value" attribute is not supplied. This tag only yields output for fields specified by the sp-sfvl-field CGI parameters in the search query. These tags display the HTML between them if the equivalent call to <search-field-value-list-count name="field-name" value="field-value"> with the given attributes would (or would not) return a value greater than zero. </search-if-not-field-value-list-count> 4 <search-if-single-field-value-list-count name="field-name"> ... </search-if-single-field-value-list-count> These tags display the content between them if the equivalent call to <search-field-value-list-count name="field-name" value="field-value"> with the given attributes would (or would not) return a single value. This is typically used when an account is using facets slots. With facet slots, you typically only want to display the value-slot when the associated name-slot has a single item. Doing this check in the transport template is more efficient than doing it in the presentation layer. Field value list loop tags The following advanced tags enumerate and output field values and related data from the entire set of search results using a looping construct. These tags only yield output for fields specified by the sp-sfvl-field CGI parameters in the search query. Tag 1 <search-field-values name="field-name" sortby="none/values/counts/results" max-items="XX"> ... </search-field-values> Description This tag creates a loop for enumerating field values and related data for a particular field within the entire results set. Do not nest this tag inside another <search-field-values> tag. The "name" attribute Appendices Tag 418 Description specifies the name of the field containing the values to enumerate. The optional "sortby" attribute controls the enumeration order: "none" means no particular order, "values" means sort by field values (in ascending or descending order according to the field's Sorting property), sortby="counts" means sort in descending order of field value counts, and sortby="results" means sort in descending order of the number of results containing each value. Note that sortby="counts" and sortby="results" are equivalent for non-list-type fields. . The optional "max-items" attribute limits the number of iterations to the given value. The default value for "max-items" is -1, which means "enumerate all values". 2 <search-field-value This tag outputs the field value for the current <search-field-values> loop iteration. This tag is only valid encoding="html/javascript/json/perl/url/none" inside a <search-field-values> loop. The "date-format", "gmt" and "language" attributes are only gmt="yes/no" language="0/language-id"> relevant if the content type of the field name specified in the enclosing <search-field-values> tag is "date". The "date-format" attribute takes a UNIX style date format string such as "%A, %B %d, %Y" (for "Monday, July 25, 2016"). date-format="date-format-string" See Date format strings. The optional "encoding" attribute controls whether the output string characters are HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of "encoding" is "none". Normally, you do not need to specify the encoding attribute. "gmt" defaults to "yes" and controls whether the time portion of the date string should be output in GMT ("yes") or the account's time zone ("no"). The "language" attribute controls the language and locale conventions of the output date string. "0" (the default) means "Use Account Language". Any other "language" value is interpreted as a specific language identifier, for example, "en_US" means "English (United States)". See Language identifiers. 3 <search-field-value-count results="yes/no"> This tag outputs the count associated with the current <search-field-values> loop iteration. The output count is either the number of results in the entire results set containing the field value (results="yes"), or the total count Appendices Tag 419 Description for the field value in the entire results set. The default value of "results" is "no". For non-list-type fields, results="yes" and results="no" are equivalent. This tag is only valid inside a <search-field-values> loop. 4 <search-field-value-counter> This tag outputs the ordinal counter for the current <search-field-values> loop iteration. This tag is only valid inside a <search-field-values> loop. Suggest tags Suggest provides a user-friendly "Did you mean?" service for suggesting alternative search terms. If a user has misspelled a search term, for example, Suggest can help the user find results by suggesting a correct spelling. The system can also suggest related keywords that can help a user discover results. When generating suggestions, the Suggest service uses two dictionaries: one based on the account language (set under Indexing > Words and Languages > Language), and the other that is uniquely built from the keywords in the account index. Note: The Suggest service does not work for Chinese, Japanese, or Korean. Tag 1 <search-if-suggestions> ... </search-if-suggestions> Description Surround these tags with any "Suggest" template tags, such as <search-suggestion>, <search-suggestion-link>, and so on. If the search generates suggestions, the search engine outputs and processes everything between the open and close tag. If the search does not generate suggestions, none of the nested content is output. 2 <search-suggestions> ... </search-suggestions> This tag generates the "Suggest" loop, which contains a list of suggested search terms (for example, "intend", "intended" and "intends", for a query originally entered as "intendds"). When generating the list of terms, the search engine repeats any nested HTML and/or template tags up to five times, which is the maximum number of suggestions. Use the count attribute to specify the number of generated suggestions (between 0-5). The <search-suggestions> tag can appear multiple times on the page to repeat the list of suggestions. Multiple suggestions are sorted according to the number of results each yields. Appendices Tag 420 Description Nest the <search-suggestions> tag between open and close <search-if-suggestions> tags. 3 <search-suggestion-link> ... </search-suggestion-link> This tag generates a link to the original search query using the selected suggested search term instead of the original term. The tag accepts and simply prints out any HTML attribute such as class, target, and style. The tag can also accept a URL attribute, the value of which is used as the base URL for the generated link. The tags can only appear inside the <search-suggestions> loop. 4 <search-suggestion-text/> This tag prints out the currently suggested query term (for example, "intend" for a query originally entered as "intendds"). The tag has no attributes and can only appear inside the <search-suggestions> loop. 5 <search-if-not-suggestions> ... If the search generates no suggestions, the search engine outputs and processes everything between the open and close tag. If the search generates suggestions, none of the nested content is output. </search-if-not-suggestions> 6 <search-if[-not]-first-suggestion> ... </search-if[-not]-first-suggestion> 7 <search-if[-not]-last-suggestion> ... </search-if[-not]-last-suggestion> These conditional tags include the HTML between them based on whether the suggested term is the first term in the Suggest loop. The tags must appear between open and close <search-suggestion> tags. These conditional tags include the HTML between them based on whether the suggested term is the last term in the Suggest loop. The tags must appear between open and close <search-suggestion> tags. 8 <search-suggestion-index> This tag returns the numerical index of the current suggested search term. The tag must appear between open and close <search-suggestion> tags. 9 <search-suggestion-total> This tag returns the total number of generated suggested search terms. The tag must appear between open and close <search-suggestion> tags. 10 <search-suggestion-result-count> This tag returns the total number of results for suggested search term. The tag must appear between open and close <search-suggestion> tags. Appendices 421 Template string tags The following tags output a string into the HTML at that point in the template. Tag Description 1 <search-body> The HTML body tag with any Search Link Color settings that the Basic Look Section sets under the Template link. Add a background attribute to this tag to display background images on the results page. Any color attributes added to this tag override the Search Link Color settings that the Basic Look section sets. 2 <search-header> The HTML for the Search Results Header as set in the Basic Look section under the Template link. 3 <search-cdata> ... </search-cdata> The search-cdata tags are replaced with their XML equivalents: <search-cdata> is replaced with <![CDATA[" and the </search-cdata> tag is replaced with "]]>". An XML parser does not parse any information between the open and close tag. 4 <search-query query-number="XX" The query that the visitor entered. The advanced, optional encoding="html/javascript/json/perl/url/none"> "query-number" attribute controls which numbered query string is output by this tag. For example, <search-query query-number=1> outputs the contents of the sp_q_1 cgi parameter. If "query-number" is not specified, or if query-number is "0", the main query (sp_q) is output. The optional "encoding" attribute controls whether the output is HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of "encoding" is "html". Normally, you do not need to specify the encoding attribute. 5 <search-total> The total count of results for this search. 6 <search-count> The count of results reported for this page. 7 <search-lower> The number of the first result reported for this page. 8 <search-upper> The number of the last result reported for this page. 9 <search-prev-count> The number of results reported for the previous page. 10 <search-next-count> The number of results reported for the next page. 11 <search-time> The time in seconds for this search. Appendices Tag 12 <search-logo> 422 Description The HTML for the Search logo that is configured for your account, if any. This logo is the image that gives credit to site search/merchandising Most accounts do not have an associated Search logo at this time. 13 <search-collection all="name"> The collection of the results for this search. The optional "all" attribute is used to give the name of the collection that represents the entire website. 14 <search-form> ...</search-form> Inserts begin and end form tags. Inserts the method and action attributes into the begin form tag. Accepts additional attributes including the dir="RTL" attribute for language as well as JavaScript-related "name" and "onSubmit" attributes. 15 <search-input-account> Inserts a form input tag which specifies your account number. 16 <search-input-gallery> Inserts a form input tag which specifies the gallery number. 17 <search-input-query query-number="XX"> Inserts a form input tag which specifies the query string. The advanced, optional "query-number" attribute controls which numbered query is used for the form input tag. For example, <search-input-query query-number=1> outputs a form input tag for the sp_q_1 query. If "query-number" is not specified, or if "query-number" is "0", an input tag for the main sp_q query is inserted. 18 <search-input-collections all="name"> Inserts a form select tag and associated HTML which display the collections selection menu. The optional "all" attribute is used to give the name of the collection that represents the entire website. 19 <search-lt> Inserts the output from one of the Search template tags within other HTML or template tags on the results page. <search-lt> inserts a less than character. Use of <search-lt> and <search-gt> provides a way to escape the definition of a tag so that you can use Search template tags as attribute values. When the template is rendered in response to a search, a less-than sign (<) replaces the <search-lt> tag. For example, <search-link> is equivalent to <search-lt>a href="<search-url>"<search-gt>. 20 <search-gt> Inserts the output from one of the Search template tags within other HTML or template tags on the results page. <search-gt> inserts a greater than character. Use of <search-lt> and Appendices Tag 423 Description <search-gt> provides a way to escape the definition of a tag so that you can use other template tags as attribute values. When the template is rendered in response to a search, a greater-than sign (>) replaces the <search-gt> tag. For example, <search-link> is equivalent to <search-lt>a href="<search-url>"<search-gt>. 21 <search-param name="param-name" Returns the value of the cgi parameter named "param-name" from the current search request. The optional "encoding" attribute encoding="html/javascript/json/perl/url/none"> controls whether the output is HTML encoded, JavaScript encoded, Perl encoded, URL encoded or not encoded, for output on the results page. The default value of "encoding" is "html". Normally, you do not need to specify the encoding attribute. length="XX" 22 <search-trace The encoding attribute is optional; the default value is json. encoding="html/javascript/json/perl/url/none"> Note: This tag only has output if sp_trace=1 is specified with the core search query parameters. See row 48 in the table found in Backend search CGI parameters. Template anchor link tags The following are tags that cause an anchor link to surround the HTML between them. When clicked, the anchor link requests another page of results to display. The optional attribute "count" requests that many results on the page to display. If not specified, the count requested on the current page is used. The advanced, optional "URL" attribute controls the domain to which the associated link is directed. By default the domain is http://search.atomz.com/search/, but you can change this using the URL attribute. Tag 1 <search-next Description Displays the next or previous page of the results. URL="http://search.yourdomain.com/search/"> ... </search-next> <search-prev URL="http://search.yourdomain.com/search/"> ... </search-prev> 2 <search-sort-by-date URL="http://search.yourdomain.com/search/"> ... </search-sort-by-date> Sorts the results by date or by relevance. Appendices Tag 424 Description <search-sort-by-score URL="http://search.yourdomain.com/search/"> ... </search-sort-by-score> 3 <search-show-summaries Shows or hides the summaries. URL="http://search.yourdomain.com/search/"> ... </search-show-summaries> <search-hide-summaries URL="http://search.yourdomain.com/search/"> ... </search-hide-summaries> Template conditional tags Tags that let you conditionally include HTML between them. Tag 1 <search-if-results> ... </search-if-results> <search-if-not-results> Description These tags include HTML if the current page contains any (or no) search results. ...</search-if-not-results> 2 <search-if-prev-count> ... </search-if-prev-count> These tags include HTML if the previous page or the next page has any (or none) results associated with it. <search-if-not-prev-count> ... </search-if-not-prev-count> <search-if-next-count> ... </search-if-next-count> <search-if-not-next-count> ... </search-if-not-next-count> 3 <search-if-sort-by-score> ... </search-if-sort-by-score> <search-if-not-sort-by-score> ... </search-if-not-sort-by-score> <search-if-sort-by-date> ... </search-if-sort-by-date> <search-if-not-sort-by-date> ... </search-if-not-sort-by-date> These tags include HTML if the current page is, or is not, sorted by relevance or by date. Appendices 425 Tag Description 4 <search-if-show-summaries> ... These tags include HTML if the current page is showing or hiding summaries. You can use these tags to include or exclude any portion of the search result. </search-if-show-summaries> <search-if-hide-summaries> ... </search-if-hide-summaries> 5 <search-if-input-collections> ... These tags include HTML if a collection was specified in the generation of search results for the current page. </search-if-input-collections> <search-if-not-input-collections> ... </search-if-not-input-collections> 6 <search-if-advanced> ... </search-if-advanced> <search-if-not-advanced> ... These tags include HTML if the sp_advanced=1 CGI parameter was specified for the search query. </search-if-not-advanced> 7 <search-if-bad-param name="parameter-name"> ... </search-if-bad-param> <search-if-not-bad-param name="parameter-name"> ... </search-if-not-bad-param> 8 <search-if-param name="param-name" value="param-value"> ... </search-if-param> <search-if-not-param name="param-name" value="param-value"> ... </search-if-not-param> 9 <search-if-sort-by-field name="field-name"> ... </search-if-sort-by-field> <search-if-not-sort-by-field name="field-name"> These tags include or exclude the HTML between them if the given parameter is, or is not, invalid. Currently only the sp_q_location[_#] parameter is supported. These advanced tags include the HTML between them based on whether the CGI parameter specified in the "name" attribute has the value specified in the "value" attribute. These advanced tags include the HTML between them if the current page is, or is not, sorted by the given field-name. ... </search-if-not-sort-by-field> Template form control tags Tags that let you control the default selection state for check boxes, radio buttons, and list boxes within a <form> on the search template. Tag 1 <search-input> Description Used in a template in place of an <input> tag. When the tag is written to the browser, the word input replaces search-input and all other information in the tag is output as-is. In addition, if the name specified in the tag is listed as a Appendices Tag 426 Description CGI parameter and if the value specified in the tag is the value for that CGI parameter, then the word checked is added at the end of the tag. In this way, you can automatically make the default radio button or checkbox state in your search result the same as the current query. For example, the HTML code for a check box might look like the following: <input type=checkbox name="sp_w" value="exact">No sound-alike matching The corresponding template code for that checkbox is the following: <search-input type=checkbox name="sp_w" value="exact">No sound-alike matching If the CGI parameter string for the query contains sp_w=exact, then the tag written to the browser with the search results looks like the following (the word checked is inserted at the end of the tag): <input type=checkbox name="sp_w" value="exact" checked>No sound-alike matching If the CGI parameter string for the query does not contain sp_w=exact, then the tag written to the browser with the search results looks like the following (the word checked is not listed in the tag): <input type=checkbox name="sp_w" value="exact">No sound-alike matching The <search-input> tag is useful for putting check boxes and radio buttons into your search template. If you have check boxes or radio buttons that you want to add to the <form> in your search template, use <search-input...> in place of <input...>. 2 <search-select> ... </search-select> <search-option> ... </search-option> Drop-down list boxes in a <form> tag are started with a <select> tag and ended with a </select> tag. The name for the associated CGI parameter is listed inside the <select> tag. Following the <select> tag is a list of <option> tags that specify the values to show inside the list box. The <search-select>, </search-select>, <search-option>, and </search-option> tags provide similar functionality to the <search-input> tag. That is, the word selected is automatically added at the end of the Appendices Tag 427 Description <option> tag sent to the browser if the name in the <search-select> tag is listed as a CGI parameter and if the value of that CGI parameter is listed as the value in a particular <search-option> tag. In this way, you can automatically make the default list box choice in your search result the same as the current query. For example, a typical list box looks like the following: <select name="sp_x" size=1> <option value="any" selected>Anywhere</option> <option value="title">Title</option> <option value="desc">Description</option> <option value="keys">Keywords</option> <option value="body">Body</option> <option value="alt">Alternate text</option> <option value="url">URL</option> <option value="target">Target</option> </select> The corresponding template code for that list box is the following: <search-select name="sp_x" size=1> <search-option value="any">Anywhere</search-option> <search-option value="title">Title</search-option> <search-option value="desc">Description</search-option> <search-option value="keys">Keywords</search-option> <search-option value="body">Body</search-option> <search-option value="alt">Alternate text</search-option> <search-option value="url">URL</search-option> <search-option value="target">Target</search-option> </search-select> If you have list boxes that you want to add to the <form> in your search template, use <search-select...> in place of <select...>, </search-select> in place of </select>, <search-option...> in place of <option...>, and </search-option> in place of </option>. 3 <search-sort-by-field name="field-name" count="XX"> ... </search-sort-by-field> These advanced tags create an anchor link around the HTML between them. When this anchor is clicked, a page of results sorted on the given field is displayed. The optional count attribute specifies the number of results to display on the result page. If count is omitted, the count used on the current page is used. Appendices 428 Date format strings You can use the following conversion specifications in date format strings: Date format string Description %A Matches the national representation of the full weekday name, for example, "Monday." The setting in Linguistics > Words & Languages > Language determines the national representation. See About Words & Language. %a Matches the national representation of the abbreviated weekday name, where the abbreviation is the first three characters, for example "Mon." The setting in Linguistics > Words & Languages > Language determines the national representation. See About Words & Language. %B Matches the national representation of the full month name, for example "June." The setting in Linguistics > Words & Languages > Language determines the national representation. See About Words & Language. %b Matches the national representation of the abbreviated month name, where the abbreviation is the first three characters, for example "Jun." The setting in Linguistics > Words & Languages > Language determines the national representation. See About Words & Language. %D Equivalent to "%m/%d/%y", for example "07/25/13". %d Matches the day of the month as a decimal number (01-31). %e Matches the day of month as a decimal number (1-31). A blank precedes single digits. %H Matches the 24-hour clock as a decimal number (00-23). %h Matches the national representation of the abbreviated month name, where the abbreviation is the first three characters, for example "Jun" (the same as %b). %I Matches the 12-hour clock as a decimal number (01-12). %j Matches the day of the year as a decimal number (001-366). %k Matches the (24-hour clock as a decimal number (0-23). A blank precedes single digits. %l Matches the hour 12-hour clock as a decimal number (1-12). A blank precedes single digits. Appendices 429 Date format string Description %M Matches the minute as a decimal number (00-59). %m Matches the month as a decimal number (01-12). %p Matches the national representation of either "ante meridiem" or "post meridiem" as appropriate, for example "PM." The setting in Linguistics > Words & Languages > Language determines the national representation. See About Words & Language. %R Equivalent to "%H:%M", for example, "13:23". %r Equivalent to "%I:%M:%S %p", for example, "01:23:45 PM". %S Matches the second as a decimal number (00-60). %T Equivalent to "%H:%M:%S", for example, "13:26:47". %U Matches the week number of the year (Sunday as the first day of the week) as a decimal number (00-53). %v Equivalent to "%e-%b-%Y", for example, "25-Jul-2013". %Y Matches the year with century as a decimal number, for example, "2013". %y Matches the year without century as a decimal number (00-99). %Z Matches the time zone name. %% Matches "%". Language identifiers The following table contains the language identifiers for each supported language. You can use these identifiers as values for the optional "language" attribute in the following template tags: • search-date and search-display-field. See Results loop string tags. • search-field-value-list See Field value list tags. • search-field-value See Field value list loop tags. Appendices 430 Language Language identifier Bulgarian (Bulgaria) bg_BG Chinese (China) zh_CN Chinese (Hong Kong) zh_HK Chinese (Singapore) zh_SG Chinese (Taiwan) zh_TW Czech (Czech Republic) cs_CZ Danish (Denmark) da_DK Dutch (Belgium) nl_BE Dutch (Netherlands) nl_NL English (Australia) en_AU English (Canada) en_CA English (Great Britain) en_GB English (United States) en_US French (Belgium) fr_BE French (Canada) fr_CA Finnish (Finland) fi_FI French (France) fr_FR French (Switzerland) fr_CH German (Austria) de_AT German (Germany) de_DE German (Switzerland) de_CH Appendices 431 Language Language identifier Greek (Greece) el_GR Irish Gaelic (Ireland) ga_IE Italian (Italy) it_IT Japanese (Japan) ja_JP Korean (Korea) ko_KR Norwegian (Norway) no_NO Polish (Poland) pl_PL Portuguese (Brazil) pt_BR Portuguese (Portugal) pt_PT Russian (Former Soviet Union) ru_SU Slovak (Slovakia) sk_SK Slovak (Slovenia) sl_SI Spanish (Mexico) es_MX Spanish (Spain) es_ES Swedish (Sweden) sv_SE Specifying the content-type HTTP header You can specify the Content-Type HTTP response header by using the following tag: <search-content-type-header [content="MIME-type"] [charset="charset-name"]> The content and charset attributes are optional. This tag should appear as early as possible in the template. It is also recommended that it appear before either <search-html-meta-charset> or <search-xml-decl>, because it affects the behavior of those tags. If you do not specify the content attribute, then the value of MIME-type defaults to the value that is set in Settings > Crawling > Content Types. If you specify a content attribute, it is used as the default content attribute for the <search-html-meta-charset> tag. If you do not specify the charset attribute, then no charset value is written to the content-type header. Appendices 432 If you specify charset="1" then the actual value for charset-name is the value of the sp_f CGI parameter. If no sp_f CGI parameter is submitted with the search, then the actual value for charset-name is read from your account settings. You can view or change the character set that is associated with your account under Settings > My Profile > Personal Information > Character Encoding. See Configuring your personal user information. You can choose a specific character set name by listing it as the charset value, like charset="iso-8859-1" or charset="Shift-JIS". If you specify a charset attribute, then it is used as the default charset attribute for the <search-html-meta-charset> and <search-xml-decl> tags, as well as being output to the content-type header. Specifying a character set in an HTML template The default HTML search result templates specify the character set associated with the current account via the following tag: <search-html-meta-charset [content="MIME-type"] [charset="charset-name"]> The content and charset attributes are optional. This tag must appear in the HTML <head> section of the template. This tag results in the following tag on the HTML page generated from the template: <meta http-equiv="content-type" content="MIME-type; charset=charset-name"> If you do not specify the content attribute, then the actual value of MIME-type defaults to one of two values. If the <search-content-type-header> tag specified a content attribute, then that value is used. Otherwise, the value used is the one set in the Templates > Settings > Content Type tab. If you do not specify the charset attribute, then the actual value of charset-name defaults to one of two values. If the <search-content-type-header> tag specified a charset attribute, then that value is used. Otherwise, the actual value for charset-name is read from your account settings. You can view or change the character set that is associated with your account under Settings > My Profile > Personal Information > Character Encoding. See Configuring your personal user information. If you specify charset="1" then the actual value for charset-name is the value of the sp_f CGI parameter. If no sp_f CGI parameter is submitted with the search, then the actual value for charset-name is either the value set in the <search-content-type-header> tag if it was specified, or the value that is set in your account settings. You can specify a specific character set name, as in charset="charset-name". For example, charset="iso-8859-1" or charset="Shift-JIS". The <search-html-meta-charset> tag is optional. If you remove it, the browser assumes the default values for content-type, which is the following: content="text/html; charset=ISO-8859-1". You can also choose to replace the <search-html-meta-charset> tag with your own http-equiv tag. Specifying a character set in an XML template The default XML search result template specifies the character set associated with the current account by way of the following tag: <search-xml-decl [charset="charset-name"]> The charset attribute is optional. This tag must appear at the top of the template, but after any <search-content-type-header> tag. This tag results in the following tag on the XML document that is generated from the template: Appendices 433 <?xml version="1.0" encoding="charset-name" standalone="yes" ?> If you do not specify the charset, then the actual value of charset-name defaults to one of two values. If <search-content-type-header> specified a charset attribute, then that value is used. Otherwise, the actual value for charset-name is read from your account settings. You can view or change the character set that is associated with your account under Settings > My Profile > Personal Information > Character Encoding. See Configuring your personal user information. If you specify charset="1" then the actual value for charset-name is the value of the sp_f CGI parameter. If no sp_f CGI parameter is submitted with the search, then the actual value for charset-name is either the value that is set in the <search-content-type-header> tag if it was specified, or the value that is set in your account settings. You can specify a specific character set name, as in charset="charset-name", if you so desire. For example, charset="iso-8859-1" or charset="Shift-JIS". You can choose to replace the <search-xml-decl> tag with your own ?xml tag. Including a search template within another To include one search template in another, use the <search-include> tag, setting the file attribute to the name of the template file that you want to include as in the following example: <search-include file="seo/seo_search_title.tpl" /> SEO search template segments are in the seo/ subfolder and normal search templates are in the templates/ subfolder. Only .tpl files are meaningful to include in this context. Managing multiple transport templates for your website You can control the appearance of search results across your website by using different search transport templates for each area. To accomplish this kind of search functionality, you can manage your transport templates in site search/merchandising. Or, you can manage your transport templates in Publish. Like site search/merchandising, Publish lets you edit, preview, and publish multiple search transport templates. To set up your search forms to use a specific transport template (other than the default), use the sp_t query parameter. For example, suppose you have a search template called "clearance" for the marked-down sales area of your website. You use the standard HTML search form with the following additional form code: <input type=hidden name="sp_t" value="clearance"> When a customer clicks a standard form that contains this line of code, the "clearance" search transport template is displayed along with their search results. See Using collections in search forms. See Using frames with forms. See Sample advanced search form. Appendices 434 CGI parameters Search CGI parameters Search form code is provided that you can copy and paste into the HTML of your site (Design > Auto-Complete > Form Source). See Copying the HTML code of the search form into the pages of your website. You can also set the parameters that are listed either in the search form itself, or from a script. In addition to the parameters that are listed below you can also use the backend search parameters to control search. See Backend search CGI parameters. Search requests consist of a base URL. The base URL indicates what account the customer is searching, and a set of CGI parameters (key-value pairs) that indicate how to return the desired search results for the associated account. The base URL is associated with a specific account and a staged or live environment. You can request multiple aliases for the base URL from your account manager. For example, a company called Megacorp may have two base URLs associated with their account: http://search.megacorp.com and http://stage.megacorp.com. The former URL searches their live index and the latter URL searches their staged index. Three formats of CGI Parameters are supported. By default your account is configured to separate CGI Parameters with a semi-colon as in the following example: http://search.megacorp.com?q=shoes;page=2 If you prefer, you can have your account manager configure your account to use ampersands to separate the CGI parameters as in the following example: http://search.megacorp.com?q=shoes&page=2 A third format, called the SEO format, is also supported where a forward slash "/" is used in place of the separator and equal sign as in the following example: http://search.megacorp.com/q/shoes/page/2 Any time the SEO format is used to send a request, all output links are returned in the same format. Guided Search parameter Example Description q q=string Specifies the query string for the search. This parameter maps to the sp_q backend search parameter. See Backend search CGI parameters. q# q#=string Faceting (searching within a given field) is done by way of numbered q and x parameters. The q parameter defines the term you are searching for in the facet as denoted by the corresponding numbered x parameter. Appendices Guided Search parameter 435 Example Description For example, if you have two facets that are named size and color, you can have something like q1=small;x1=size;q2=red;x2=color. This parameter maps to the sp_q_exact_# backend search parameters. See Backend search CGI parameters. x# q#=string Faceting (searching within a given field) is done by way of numbered q and x parameters. The q parameter defines the term you are searching for in the facet as denoted by the corresponding numbered x parameter. For example, if you have two facets that are named size and color, you can have something like q1=small;x1=size;q2=red;x2=color. This parameter maps to the sp_x_# backend search parameters. See Backend search CGI parameters. collection collection=string Specifies the collection to use for the search. This parameter maps to the sp_k backend search parameter. See Backend search CGI parameters. count count=number Specifies the total count of results that are shown. The default is defined in Settings > Searching > Searches. . This parameter maps to the sp_c backend search parameter. See Backend search CGI parameters. page page=number Specifies the page of results that are returned. rank rank=field Specifies the rank field to use for static ranking. The field must be a field of type Rank with relevance greater than 0. This parameter maps to the sp_sr backend parameter. See Backend search CGI parameters. sort sort=number Specifies the sort order. "0" is the default and sorts by relevance score; "1" sorts by date; "-1" does not sort. Users can specify a field name for the value of the sp_s parameter. Appendices Guided Search parameter 436 Example Description For example, sp_s=title sorts results according to the values that are contained in the title field. When a field name is used for the value of an sp_s parameter, results are sorted by that field and then sub-sorted by relevance. To enable this feature, click Settings > Metadata > Definitions. On the Definitions page, click Add New Field or click Edit for a particular field name. In the Sorting drop-down list, select either Ascending or Descending. This parameter maps to the sp_s backend search parameter. See Backend search CGI parameters. Backend search CGI parameters Typically customers interact with a presentation layer called Guided Search. However, it is theoretically possible to skip the Guided Search layer and interact with the backend core search directly using the CGI parameters that are described on this page. You can select backend search CGI parameters from the following table: Single query support Multiple query support Examples Description 1 sp_a sp_a=string Specifies the account number string. This parameter is required, and must be a valid account number string. You can find your account number string under Settings > Account Options > Account Settings. 2 sp_advanced sp_advanced=0 or 1 If sp_advanced=1 is submitted with a query, then all code between the <search-if-advanced> tag and the </search-if-advanced> tag in the search template is used for the search form. All code between the <search-if-not-advanced> tag and the </search-if-not-advanced> tag is be ignored. If sp_advanced=0 (or any other value) is submitted, then the <search-if-advanced> template block is ignored and the <search-if-not-advanced> template block is used. 3 sp_c sp_c=number Specifies the total count of results to show. The default is 10. 4 sp_context_field sp_context_ Collects contextual information for the given field. Collected information is output in the search results by field=field Appendices 437 Single query support Multiple query support Examples Description way of the <search-context> template tag. The default value is body. 5 sp_d 6 sp_d_# sp_d=type Specifies the type of date range searching to perform. Possible values for type are any, which means do not perform date range searching, custom, which indicates that the value of sp_date_range should be used to determine the dates to search, and specific, which indicates that the values insp_start_day, sp_start_month, sp_start_year, sp_end_day, sp_end_month, and sp_end_year is used to determine the date range to search. sp_d is only required if your search form contains the option to search either by a custom range (by way of sp_date_range), or by a specific start and end date range. sp_d_#=type Specifies the type of date range searching to perform for the corresponding sp_q_# query. The "#" is replaced with a number between 1 and 16 (for example, sp_d_8, applies to the numbered query sp_q_8). You can set type to any, which means do not perform date range searching, custom, which indicates that the value of sp_date_range_# is used to determine the dates to search, and specific, which indicates that the values in sp_q_min_day_#, sp_q_min_month_#, sp_q_min_year_#, sp_q_max_day_#, sp_q_max_month_#, and sp_q_max_year_# should be used to determine the date range. The use of sp_d_# is only required if your search form contains the option to search either by a custom range (by way of sp_date_range_#), or by a specific start and end date range. 7 sp_date_range sp_date_range=number Specifies a pre-defined date range to apply to the search. Values greater than or equal to zero specify the number of days to search prior to today — for example, a value of "0" specifies "today," a value of "1" specifies "today and yesterday," a value of "30" specifies "within the last 30 days," and so forth. Values below zero specify a custom range as follows: -1 = "None," the same as specifying no date range. Appendices 438 Single query support Multiple query support Examples Description -2 = "This week," which searches from Sunday to Saturday of the current week. -3 = "Last week," which searches from Sunday to Saturday of the week prior to the current week. -4 = "This month," which searches dates within the current month. -5 = "Last month," which searches dates within the month prior to the current month. -6 = "This year," which searches dates within the current year. -7 = "Last year," which searches dates within the year prior to the current year. 8 sp_date_ range_# sp_date_ range_#=number Specifies a pre-defined date range to apply to the corresponding sp_q_# query. The "#" is replaced with a number between 1 and 16 (for example, sp_date_range_8, applies to the numbered query sp_q_8). Values greater than or equal to zero specify the number of days to search prior to today. For example, a value of 0 specifies today; a value of 1 specifies today and yesterday; a value of 30 specifies within the last 30 days, and so forth. Values below zero specify a custom range as follows: -1 = "None," the same as specifying no date range. -2 = "This week," which searches from Sunday to Saturday of the current week. -3 = "Last week," which searches from Sunday to Saturday of the week prior to the current week. -4 = "This month," which searches dates within the current month. -5 = "Last month," which searches dates within the month prior to the current month. -6 = "This year," which searches dates within the current year. Appendices 439 Single query support Multiple query support Examples Description -7 = "Last year," which searches dates within the year prior to the current year. 9 sp_dedupe_field sp_dedupe_ field=fieldname 01 sp_e 1 sp_e_# Specifies a single field to dedupe search results on. All duplicate results on that field are removed from the search results. For example, if for sp_dedupe_field=title, only the top result for a given title is displayed in the search results (no two results will have identical title field content). For multi-value (allow list) type fields, the entire field contents are used for comparison. Only one field may be specified. A "table-qualifier" is not allowed in the field name. sp_e=number Specifies that automatic wildcard expansion should take place for any word from the query string with more than number characters. In other words, sp_e=5 specifies that words with 5 or more characters, like "query" or "number", should be expanded with the wildcard character '*', making the search equivalent to a search for "query*" or "number*". Words with fewer characters are not expanded, so a search for "word" would not have automatic wildcard expansion. sp_e_#=number Specifies that automatic wildcard expansion takes place for any word from the corresponding sp_q_# query string with more than number characters. In other words, sp_e_2=5 specifies that words with five or more characters in the sp_q_2 query string, like "query" or "number", should be expanded with the wildcard character '*', making the search equivalent to a search for "query*" or "number*". Words with fewer characters are not expanded, so a search for "word" in sp_q_2 would not have automatic wildcard expansion. 21 sp_end_day, sp_end_month, sp_end_year sp_end_day=number, This triplet of values specifies the end date range for the sp_end_month=number, search and must be provided as a set. 31 sp_f sp_f=string sp_end_year=number Specifies the character set of the query parameter strings (such as sp_q). This string must always match the character set of the page that contains the search form. Appendices Single query support Multiple query support 41 sp_field_table 440 Examples Description sp_field_table=table: Defines a logical data table consisting of the given fields. field,field... For example, a table named "items" consisting of the fields "color," "size," and "price" would be defined as the following: sp_field_table=items:color,size,price Logical tables are most useful in conjunction with fields that have "Allow Lists" checked (under Settings > Metadata > Definitions). All CGI parameters and template tags that take a field name as a value may optionally specify a table name followed by a "." prior to the field name (for example, sp_x_1=tablename.fieldname). For example, to perform a search for documents that contain one or more "red" items in size "large" (where items are represented as parallel rows of metadata), you could use the following: sp_q_exact_1=red&sp_x_1=items.color& sp_q_exact_2=large&sp_x_2=items.size& sp_field_table=items:color,size,price 51 sp_i sp_i=value Ignores the search when you generate reports. Use this query to mask certain backend searches, such as searches that Did You Mean generates, or searches that an Administrator generates in the member center. Because an end user does not generate these types of searches, they do not show up in various Adobe Search&Promote reports. Valid values are sp_i=1 and sp_i=2. 61 sp_k sp_k=string Specifies the collection to use for the search. The default is no collection, meaning that the search should include the whole site. See Using collections in search forms. 71 sp_l sp_l=string Specifies the language of the query parameter strings (such as sp_q). The string should be a standard locale ID containing an ISO-639 language code optionally followed by an ISO-3166 country code. For example, "en" or "en_US" for English or "ja" or "ja_JP" for Japanese. Appendices Single query support Multiple query support 81 sp_literal 441 Examples Description sp_literal=0 or 1 Setting sp_literal=1 temporarily disables all features that might interpret the words in the query. With this parameter, only the literal words of the query match documents, regardless of synonyms, alternate word forms, and sound-alike matching. Note that sp_literal=0 has no meaning, and is ignored if used. See About Dictionaries. 91 sp_m sp_m=number Specifies whether summaries are displayed. 1 is yes, 0 is no. The default is 1. 02 sp_n sp_n=number Specifies the number of the result that starts the search results. The default is 1. 12 sp_not_found_page sp_not_found_page=url Specifies whether to redirect to the specified URL if there are no search results. 2 sp_p sp_p=any/all/phrase Specifies the default type of searching to perform. The use of any means search for documents that contain any word from the query string. The use of all means search for documents that contain all of the words in the query string. The use of phrase means the query string is treated as if it were a quoted phrase and all user-typed quotes are ignored. For phrase and all, the specification of "+" and "-" before search words is disabled and those characters are ignored. If sp_p is not present, or if it is set to an empty string or any, standard "+" and "-" word prefixes are allowed. See the Search Tips description for more information about using plus ("+") and minus ("-") in searches. See About Searches. See the sample advanced search form for examples on using the sp_p parameter. See Sample advanced search form. Appendices 442 Single query support Multiple query support 32 sp_p_# Examples Description sp_p_#=any/all/phrase Specifies the default type of searching to be performed with the corresponding sp_q_# query. The "#" is replaced with a number between 1 and 16 (for example, sp_p_8 applies to the numbered query sp_q_8). The use of any means return documents that contain any word from the query string. The use of all means return documents that contain all of the words in the query string. The use of phrase means to treat the query string as if it was a complete phrase (and all user-typed quotes are ignored). If you specify either all or phrase, any plus and minus signs before search words are ignored. If sp_p_# is omitted, or if it is set to an empty string or any, standard "+" and "-" prefixes are allowed. 42 sp_pt 52 Specifies the type of target matching to apply. The use of equivalent/compatible exact means yield target matches only in documents that exactly match the query string within target content. The use of equivalent is like exact, except that the order of the words is not important. The use of compatible automatically sets the target matching type based on the value of the sp_p parameter. The use of exact is used if sp_p is all or phrase, otherwise equivalent is used. The default value of sp_pt is compatible. sp_pt=exact/ sp_pt_# sp_pt_#=exact/ Specifies the type of target matching to apply with the equivalent/compatible corresponding sp_q_# query. The "#" is replaced with a number between 1 and 16 (for example, sp_p_8 applies to the numbered query sp_q_8). The use of exact means yield target matches only in documents that exactly match the query string within target content. The use of equivalent is like exact, except that the order of the words is not important. The use of compatible automatically sets the target matching type based on the value of the corresponding sp_p_# parameter: exact is used if sp_p_# is all or phrase, otherwise equivalent is used. The default value of sp_pt_# is compatible. 62 sp_q sp_q=string Specifies the query string for the search. An empty string leads to no results being shown. Appendices 443 Single query support Multiple query support 72 sp_q_# Examples Description sp_q_#=text This parameter allows for the creation of multiple queries on search forms. The sp_q_# parameter contains the query string to use in the given numbered query. A search request may reference up to 16 different numbered queries (sp_q_1 to sp_q_16). For example, submitting the following form returns all documents that contain the words "great" and "books". Search for: <input type="text" name="sp_q" value="great"> Search for: <input type="text" name="sp_q_1" value="books"> 82 sp_q_day, sp_q_month, sp_q_year sp_q _day_#, sp_q _month_#, sp_q _year_# sp_q_day=integer value sp_q_month=integer value sp_q_year=integer value These parameters are used to specify an exact date for a particular query. The sp_q_day, sp_q_month, and sp_q_year parameters apply to the main query (sp_q). The # parameter is replaced with a number between 1 and 16 (for example, sp_q_day_6, which applies to the numbered query sp_q_6). By default, all dates are searched relative to Greenwich Mean Time. sp_q_day_#=integer The following section of code lets a user to search for the word "orange" in documents dated "Jan. 1st, 2000" in a sp_q_month_#=integer user-defined field named PublishDate: value value sp_q_year_#=integer value 92 sp_q_location sp_q_ location_# sp_q_location= <input type="hidden" name="sp_x_1" value="PublishDate"> Search for: <input type="text" name="sp_q" value="orange"> On : <input type="text" name="sp_q_day_1" size="2" value="1"> Day <input type="text" name="sp_q_month_1" size="2" value="1"> Month <input type="text" name="sp_q_year_1" size="4" value="2000"> Year These parameters associate a location with the main or latitude/longitude OR numbered query. The use ofsp_q_location affects the main query, sp_q_location_# (where the # is replaced by a number from 1 to 16), affects the given numbered sp_q_location_#= query. These parameters are used to perform minimum latitude/longitude OR and/or maximum distance proximity searches against areacode OR zipcode the location data indexed for each site page. The format of the value determines its interpretation. areacode OR zipcode A value in the form DDD (three digits) is interpreted as a US telephone areacode; a value in the form DDDDD Appendices 444 Single query support Multiple query support Examples Description or DDDDD-DDDD is interpreted as a US zipcode; and a value in the form ±DD.DDDD±DDD.DDDD is interpreted as a latitude/longitude pair. The signs are required for each value. For example, +38.6317+120.5509 specifies latitude 38.6317, longitude 120.5509. See About proximity search. 03 sp_q_max_ relevant_distance sp_q_max _relevant _distance _# sp_q_max_relevant_ distance= value sp_q_max_relevant_ distance_#= value These parameters control the relevance calculation applied to proximity searches. The use of sp_q_max_relevant_distance affects the main query, sp_q_max_relevant_distance_# (where the # is replaced by a number from 1 to 16), affects the given numbered query. The default value of sp_q_max_relevant_distance is 100. A perfect relevance score for the proximity component would represent a distance of 0. A minimum relevance score for the proximity component would represent a distance just over the specified sp_q_max_relevant_distance_# value. See About proximity search. 13 sp_q_min_day, sp_q_min_month, sp_q_min_year sp_q_max_day, sp_q_max_month, sp_q_max_year sp_q_min_ day_#, sp_q_min_ month_#, sp_q_min_ year_# sp_q_max_ day_#, sp_q_max_ month_#, sp_q_max_ year_# sp_q_min_day=integer value sp_q_min_month= integer value These parameters are used to set minimum and maximum date ranges for a particular query. The sp_q_min_day, sp_q_min_month, sp_q_min_year, sp_q_max_day, sp_q_max_month, and sp_q_max_year parameters apply to the main query (sp_q). sp_q_min_year=integer The#in the parameter name is replaced with a number between 1 and 16 (for example, sp_q_min_day_6 applies sp_q_max_day=integer to the numbered query sp_q_6). value value It is legal to specify only a minimum date, only a maximum date, or both minimum and maximum date. integer value However, for a given minimum or maximum set, all three sp_q_max_year=integer date parameters must be specified (day, month and year). By default, all dates are searched relative to Greenwich value Mean Time. sp_q_max_month= sp_q_min_day_#= integer value The following section of code lets a user search for the word "orange" in documents with a date between Jan. 1st, Appendices 445 Single query support Multiple query support Examples Description sp_q_min_month_#= 2000 and Dec. 31st, 2000 in a user-defined field named PublishDate: integer value sp_q_min_year_#= integer value sp_q_max_day_#= integer value sp_q_max_month_#= integer value sp_q_max_year_#= integer value 23 sp_q_min, sp_q_max sp_q _min_#, sp_q _max_#, sp_q _exact_# sp_q_min=value sp_q_max=value sp_q_min_#=value sp_q_max_#=value sp_q_exact_#=value <input type="hidden" name="sp_x_1" value="PublishDate"> Search for: <input type="text" name="sp_q" value="orange"> Between: <input type="text" name="sp_q_min_day_1" size="2" value="1"> Start Day <input type="text" name="sp_q_min_month_1" size="2" value="1"> Start Month <input type="text" name="sp_q_min_year_1" size="4" value="2000"> Start Year And: <input type="text" name="sp_q_max_day_1" size="2" value="31"> End Day <input type="text" name="sp_q_max_month_1" size="2" value="12"> End Month <input type="text" name="sp_q_max_year_1" size="4" value="2000"> End Year These parameters specify a minimum (and/or maximum) value to apply to the main or numbered query. The use of sp_q_min, sp_q_max, and sp_q_exact affect the main query (sp_q). Replace # in the parameter name with a number between 1 and 16 (for example, sp_q_min_8 applies to the numbered query sp_q_8). The use of sp_q_exact_# is shorthand for specifying both sp_q_min_# and sp_q_max_# with the same value. If sp_q_exact_# is specified, any corresponding sp_q_min_# or sp_q_max_# parameters are ignored. The sp_q_min_#, sp_q_max_# and sp_q_exact_# parameters may optionally specify multiple "|" separated values. For example, to search for documents that contain the value green or red within the "color" field: ...&sp_q_exact_1=green|red&sp_x_1=color. 3 sp_q_nocp sp_q _nocp sp_q_nocp=1 or 0 _# sp_q_nocp_#=1 or 0 The default parameter value is 0 meaning that Common Phrase expansions are performed. When set to 1 for the corresponding search query, Common Phrases expansions are not performed. Using sp_q_nocp affects the main search query parameter sp_q. To apply this parameter to a numbered search query, replace # in the parameter name with the Appendices 446 Single query support Multiple query support Examples Description corresponding number. For example, sp_q_nocp_8 applies to the numbered search query sp_q_8. 43 sp_q_required sp_q _required _# This parameter determines whether a match must (1), may (0), or must not (-1) occur in the corresponding or -1 query in order for a document to be returned on the result sp_q_required_#=1 or page. sp_q_required=1 or 0 0 or -1 The use of sp_q_required affects the main query (sp_q). To apply to a numbered query, replace the # in the parameter name with the corresponding number (for example, sp_q_required_8 applies to the numbered query sp_q_8). The default value of the parameter is 1 (must match). To search for documents that contain the word "calc" but do NOT contain "mac", "win" or "all" in the user-defined "platform" field, your HTML search form could contain the following lines: <input type="hidden" name="sp_x_1" value="platform"> Search for: <input type="text" name="sp_q" value="calc"> Exclude: <input type="text" name="sp_q_1" value="mac win all"> <input type="hidden" name="sp_q_required_1" value="-1"> 53 sp_redirect_ if_one_result sp_redirect_ Specifies whether to redirect to the search result URL if if_one_result= 0 or 1 there is only one search result. 63 sp_referrer sp_referrer=url Specifies the referrer URL for the search. Useful for search rewrite rules where the search results link back to the same site as the search form. The default value is the standard CGI HTTP_REFERRER value delivered by the browser. 73 sp_ro sp_ro=field:relevance Allows optional search time, per field name, relevance control. The ro in the parameter name stands for "relevance override". The parameter accepts one or more field names, followed by a colon character, followed by a relevance value from 0–10. Appendices Single query support Multiple query support 447 Examples Description For example, to set the relevance value for the field name "body" to 10, at the time a customer performs a search, the parameter would appears as follows: sp_ro=body:10 Or, to specify multiple field relevance overrides in the parameter string, you can use a pipe delimiter. For example, to set the relevance value for the field names "body" and "title" to 9, at the time a customer performs a search, the parameter would appear as follows: sp_ro=body:9|title:9 Note: Specifying a field that is not involved in the associated search has no effect. For example, if you set sp_ro=title:10, but the title field name is not searched, the sp_ro parameter has no effect. In other words, specifying a field name using the sp_ro parameter does not automatically search that field; instead, it only overrides that field's associated relevance setting. See Editing pre-defined or user-defined meta tag fields. See About Query Cleaning Rules. 83 sp_s sp_s=number Specifies the sort order. Zero (0) is the default and means to sort by relevance score. One (1) means to sort by date and -1 means to not sort. You can specify a field name for the value of the sp_s parameter. For example, sp_s=title sorts results according to the values that are contained in the title field. When a field name is used for the value of an sp_s parameter, results are sorted by that field and then sub-sorted by relevance. Set Sorting for the referenced field to either Ascending or Descending in Settings > Metadata > Definitions to enable this feature. You can also assign several sort fields to a single query by setting the sp_s parameter several times in the search form. The following template lines sets the search results Appendices Single query support Multiple query support 448 Examples Description to be sorted first by artist name, then by album name, and then by track name. <input type="hidden" name="sp_s" value="artist"> <input type="hidden" name="sp_s" value="album"> <input type="hidden" name="sp_s" value="track"> Search for: <input type="text" name="sp_q" value="Music Search"> It is also possible to sort on table matched field data by specifying a table name qualifier prior to the field name, for example, items.price. See the sp_field_table parameter for more information on table matching. If searching by proximity, you may sort results according to proximity by specifying a "proximity output field". See About proximity search. 93 sp_sr sp_sr=field Specifies the rank field to use for static ranking. The field must be a field of type Rank with relevance greater than 0. If no sp_sr parameter is provided for the query, a field of type Rank is automatically selected. To disable static ranking for a particular query, include a NULL value for sp_sr (for example, <input type="hidden" name="sp_sr" value="">). 04 sp_sfvl_field sp_sfvl_field=string Specifies the name of a field to use in conjunction with the <search-field-value-list> tag in the search template. You can specify multiple sp_sfvl_field parameters. 14 sp_sfvl_df_count sp_sfvl_df_count=<integer_value> Requests up to <integer_value>search-field-value-list dynamic-facet fields for this search. The default value is 0. The maximum allowed value is the current number of dynamic-facet fields, dynamic-facet-field-count defined for a given index. Integer values that are below 0 are treated as 0. Integer values specified above dynamic-facet-field-count are capped at dynamic-facet-field-count. Appendices Single query support Multiple query support 449 Examples Description Non-integer values are ignored; they are treated as the default value. A given slice's search is capped with a maximum allowed sp_sfvl_df_count value of this slice's dynamic-facet-field-count value. When merging slice results, the effective maximum value of sp_sfvl_df_count is the maximum actual sp_sfvl_df_count across all slices. See Configuring dynamic facets. 24 sp_sfvl_df_exclude Specifies a list of specific dynamic facet fields to exclude <field_name>[|<field_name>|.. from consideration for this search. sp_sfvl_df_exclude= By default, all dynamic facet fields are considered. See Configuring dynamic facets. 34 sp_sfvl_df_include Specifies a list of specific dynamic facet fields to include <field_name>[|<field_name>|.. in the search results. sp_sfvl_df_include= Note: The sp_sfvl_df_count parameter determines the total number of dynamic facet fields to return, including any specified by way of sp_sfvl_df_include. That is, using sp_sfvl_df_include does not allow the total count of returned dynamic facet fields to exceed sp_sfvl_df_count. See Configuring dynamic facets. 4 sp_staged sp_staged=0 or 1 If sp_staged=1 is submitted with a query, the query that is run is a staged search. A staged search uses all the components that are currently staged including the index and templates. 54 sp_start_day, sp_start_month, sp_start_year sp_start_day=number sp_start_month= number sp_start_year=number This triplet of values specifies the starting date range for the search and you provide it as a set. Appendices 450 Single query support Multiple query support 64 Examples sp_ suggest sp_suggest_q=number _q Description The sp_suggest_q parameter determines which sp_q[_#] parameter to use with the Suggest service. The default value of sp_suggest_q is 0, which means that the search engine uses the value of sp_q to determine the suggestions. Set sp_suggest_q=1 to use the value of sp_q_1 to determine the suggestions, and so on. 74 sp_t sp_t=string Specifies the transport template to use. This parameter is useful if you want to control the appearance of core search results across your website by using different search transport templates for each area in your Search account. The default transport template is "search". See Managing multiple transport templates for your website. 84 sp_trace sp_trace=0 or 1 When set as sp_stage=1, enables the core search trace capability in Simulator. See About Simulator. Note: If this parameter is not specified, core search does not gather the tracing information and the related core search template tags have no output. 94 sp_w, sp_w_control sp_w=soundalike-enable Specifies that sound-alike matching should be enabled or disabled for this particular query. sp_w_control= sound-alike-control sp_w sp_w_control Sound-alike matching Exact Ignored Disabled Alike Ignored Enabled Anything else 1 Disabled Anything else anything else Enabled Appendices Single query support Multiple query support 451 Examples Description The sp_w_control parameter lets you create a negatively or positively worded checkbox for end-user control of sound-alike matching. If sp_w_control=0 is used, then a negatively worded checkbox is used to set the sp_w parameter as in the following example: <input type=hidden name="sp_w_control" value="0"> <input type=checkbox name="sp_w" value="exact">No Sound-Alike matching If sp_w_control=1 is used, then a positively worded checkbox is used to set the sp_w parameter as in the following: <input type=hidden name="sp_w_control" value="1"> <input type=checkbox name="sp_w" value="alike">Sound-Alike matching See the sample advanced search form for more examples on using sp_w_control and sp_w parameters. See Sample advanced search form. 05 sp_x sp_x=field Specifies the fields to search for the query string. any means search all fields. title means search only title fields. desc means search only document description fields. keys means search only document keywords. body means search only body text. alt means search only alternate text. url means search only the URL values. target means search only target keywords. In any of these cases, user specification of "text:", "desc:", "keys:", "body:", "alt:", "url:", and "target:" field prefixes within the corresponding sp_q parameter are ignored. If sp_x is not present or if it is set to an empty string or any, then the standard user field prefixes are allowed. See the Search Tips description for more information about the field prefixes. See About Searches. See the sample Advanced Search Form description for examples using the sp_x parameter. See Sample advanced search form. You can create queries that search all fields set to Search By Default under Options > Metadata > Definitions by Appendices 452 Single query support Multiple query support Examples Description setting sp_x=any. Both pre- and user-defined fields may be used as the value of the sp_x parameter. You can also assign several fields to a single query by setting the sp_x parameter several times. The following template lines let users query both the "title" and "author" fields for "Great Books". <input type="hidden" name="sp_x" value="title"> <input type="hidden" name="sp_x" value="author"> Search for: <input type="text" name="sp_q" value="Great Books"> 15 sp_x_# sp_x_#=field-name This parameter specifies which field to search in the corresponding sp_q_# query. The # is replaced with a number between 1 and 16 (for example, sp_x_8). The field-name is any pre- or user-defined field. If no sp_x_# parameter is provided for a particular numbered query, all fields defined as Search By Default as set under Setting > Metadata > Definitions are searched by that query. For example, submitting the following form returns all documents that contain the word "great" that also contain the word "Fitzgerald" in the "author" field: Search for: <input type="text" name="sp_q" value="great"> <input type="hidden" name="sp_x_1" value="author"> Search only documents written by: <input type="text" name="sp_q_1" value="Fitzgerald"> You can associate multiple field names with a particular query or numbered query by providing more than one instance of the same sp_x or sp_x_# parameter in a single search request. For example, to search for the word "flower" within both the "body" and "keys" fields, you could create a search form with the following information: <input type="hidden" name="sp_x_1" value="body"> <input type="hidden" name="sp_x_1" value="keys"> Search for: <input type="text" name="sp_q_1" value="flower"> Appendices 453 A typical example of using backend search CGI parameters The following link queries start a search using "Music" as the search query, and uses all the default parameters. Note that the URL is split across two lines for readability. In your HTML, this link should all be on one line. <a href="http://search.atomz.com/search/?sp_q=Music&sp_a=sp99999999"> Testing...</a> The same functionality is more typically defined with a form: <form action="http://search.atomz.com/search/"> <input size=12 name="sp_q" value="Music"><br> <input type=hidden name="sp_a" value="sp99999999"> <input type=submit value="Search"><br> </form> You should typically use default parameters when initiating a search. That way, the first page is shown, sorted by relevance, and allows the customer to choose other pages and other options. If the search form on your site includes options for collections, pass in the collection name as a parameter. A detailed example of using backend search CGI parameters The following form queries display 25 results starting at result 10. Summaries are not shown, the sort order is by date, and the collection named support is used. Only documents dated within the last 30 days are returned. <form action="http://search.atomz.com/search/"> <input size=12 name="sp_q"><br> <input type=hidden name="sp_a" value="sp99999999"> <input type=submit value="Search"><br> <input type=hidden name=sp_n value=10> <input type=hidden name=sp_c value=25> <input type=hidden name=sp_m value=0> <input type=hidden name=sp_s value=1> <input type=hidden name=sp_k value="support"> <input type=hidden name=sp_date_range value=30> </form> Search forms Using collections in search forms Collections let your customers search specific areas of your website. Depending on whether you implement a drop-down list or a list of check boxes, you can let your customers search a single collection or multiple collections. See also About Collections. The following example shows four different collection names and the associated areas of the website that they cover: Collection name Products • http://www.mycompany.com/products.htm • http://www.mycompany.com/publish/ • http://www.mycompany.com/search/ Customers http://www.mycompany.com/customers/ Appendices 454 Collection name News http://www.mycompany.com/news/ About Adobe http://www.mycompany.com/company/ The drop-down search form interface lets users select one collection and looks like the following: The drop-down search form is generated with the following HTML code: <select name="sp_k"> <option value="">All of Adobe</option> <option value="Products">Products</option> <option value="Customers">Customers</option> <option value="News">News</option> <option value="About Adobe">About Adobe</option> </select> Alternately, you could use a group of check boxes in your search form so that visitors can select multiple collections: The check box search form is generated with the following HTML code: <input <input <input <input <input type="checkbox" type="checkbox" type="checkbox" type="checkbox" type="checkbox" name="sp_k" name="sp_k" name="sp_k" name="sp_k" name="sp_k" value="">All of Adobe<br> value="Products">Products<br> value="Customers">Customers<br> value="News">News<br> value="About Adobe">About Adobe<br> Search results The search template tag <search-input-collections> generates the collection list box HTML in the search results and automatically selects the collection that is specified in the search. If you want to generate check boxes instead, use the <search-input> tag instead of the <input> tag as follows: <search-input <search-input <search-input <search-input <search-input type="checkbox" type="checkbox" type="checkbox" type="checkbox" type="checkbox" name="sp_k" name="sp_k" name="sp_k" name="sp_k" name="sp_k" value="">All of Adobe<br> value="Products">Products<br> value="Customers">Customers<br> value="News">News<br> value="About Adobe">About Adobe<br> Appendices 455 The <search-input> tag outputs an <input> tag and includes the checked attribute if the collection was specified in the search. Using frames with forms You can configure your framesets to work with site search/merchandising. To learn more about HTML frames and the HTML frameset element, see the following URL: http://www.w3schools.com/html/html_frames.asp If your site uses frames, you can specify a target frame for search result links. The default target is _self, which opens links in the current frame or browser window. You can, instead, specify site-specific or browser-reserved targets: • _top (browser-reserved) results open in the current browser window and replace all current frames. • _blank (browser-reserved) results open in a new browser window. • _parent (browser-reserved) results open in the current frame's parent frame. • frame2 (site-specific) results open in a frame named "frame2". You can specify the name of any frame as a value (for example main or content). If your site does not use frames, you most likely do not want to change the default target name. If you create a custom search results template for your website, you can override the specified setting by using the target attribute of the <search-link> tag. The process for configuring framesets is as follows: Process step Process description Link 1 Add the form to the desired frame in your web page. Adding the search form code to a frame in your web page 2 Set the target frame for the search results page. Setting the target frame for the search results page 3 Set the target for links made from the search results page. Setting the target for links made from the search results page 4 Edit the navigation frame pages to prevent them from being indexed. Editing the navigation frame pages to prevent them from being indexed 5 Test the search form. Adding the search form code to a frame in your web page 1. On the product menu, click Design > Auto-Complete > Form Source. The HTML search form code looks similar to the following: <!-- Adobe Target HTML for [your customer name] --> <form method="get" action="http://search.atomz.com/search/"> <input size=15 name="sp_q"><br> <input type=submit value="Search"> Testing the search form Appendices 456 <input type=hidden name="sp_a" value="[your account number]"> </form> 2. On the Standard Form Source page, select and copy the HTML search form code that appears in the text field. 3. Paste the search form code into the frame you want in your frameset. In the below example, the search form code is pasted into the navigation frame--the narrow vertical frame on the left-hand side of the screen. Setting the target frame for the search results page If you placed your search form code into the vertical navigation frame as above, you can display the search results in the larger, main frame. In this example, you call the main frame "body" and set it as the target frame. 1. To specify the target frame for the results page, add a target and value to the form by changing the following line in the search form code from the following: <form method="get" action="http://search.atomz.com/search/"> to the following: <form target="body" method="get" action="http://search.atomz.com/search/"> Be sure that you put quotes around the form target value. When a customer performs a search of your website, the search results appear in the "body" frame of the web page. Setting the target for links made from the search results page You can set the destination frame by directly editing your template. If your search results appear in the "body" frame, you probably want the links to open in the "body" frame, too. Because this is the same frame, the target value "_self" which is the default setting, you do not need to make any changes. You can also set the destination frame for results links. The following are several examples of what you can do: • Specify different frames for the search results and their links so that the search results remain active in their own frame while each clicked result opens in a separate frame. • Specify that the search results open into a new blank window, so that your old window remains active with its original contents, which also preserves the search results. Appendices 457 The target name can either be the name of a frame that is specified in your HTML or it can be one of several of the following HTML defaults: • target="_blank" Open links in a new, blank, unnamed window. • target="_self" Default. Open links in the same window where the search results reside. In this case, the original search results window. Use this option to override a globally assigned base target. • target="_parent" Open links in the parent frameset of the link page . If the document has no parent, then this functions like "_self" by default. • target="_top" Open links in the full window. If the document is already at the top, then this functions like "_self" by default. Use this option to break out of an arbitrarily deep frame nesting. For example, to set the _blank target destination frame you can edit the template in the following manner: 1. On the product menu, click Design > Templates. 2. On the Staged Templates page, in the table, click the name of template with the targeted destination frame. 3. Locate the <search-link> tag. Your default <search-link> tag should look similar to the following: <search-link><search-title length=100></search-link> 4. Add the frame target to the <search-link> tag. In the example above, enter target="_blank". Be sure that you include the underscore and the quotes around the target value. The <search-link> tag now appears like the following: <search-link target="_blank"><search-title length=100></search-link> When a site visitor chooses a search results link, the linked page now opens into a new, blank window. Editing the navigation frame pages to prevent them from being indexed Typically, you want to exclude your navigation frames from being indexed with your search results. To accomplish this functionality, you can add noindex meta tag to those pages. 1. Open the HTML page source for your navigation frame. 2. Add the following meta tag inside the <head> section of your HTML: <meta name="robots" content="noindex"> For example: <html> <head> <title>This page is a frameset that I do not want indexed</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="robots" content="noindex"> </head> Testing the search form 1. Go to your website and navigate to a form. Appendices 458 2. In the search field, enter a few search terms, and then click Search. The following is true: • The search results page appears in the specified target frame. • Links from your search results are in the specified target frame. • Navigation frame results do not appear. If you experience issues with frames after testing the search form, contact Customer Support. Sample advanced search form You can edit the advanced form code to suit your design and content needs, or add or remove additional search parameters. Your home page is a good place to insert an advanced search form because many customers expect to find search capability there. You can also create an HTML page that includes the search form and other helpful information, and then link to that page throughout your website. If you are indexing secure content, you can have the search results served from secure Search Web servers. Change the URL in the search form action attribute to: action="https://search.atomz.com/search/" to do this. Note: Some HTML editors have trouble pasting HTML code from other applications. If the HTML code appears on your web page as text, copy and paste the search code into a simple text editor, such as Notepad on Windows or Simple Text on Mac, and then copy and paste again from the simple text editor to your HTML editor. Search parameters are used in advanced search form code to create radio buttons, check boxes, and list boxes that customers can use to customize individual searches. Customers can specify the number of displayed search results, for example, or a date range, or whether summaries display with search results–all through options that appear on the advanced search forms. Using the following sample advanced search form, the remainder of this topic shows you how each option on the form is created using search parameters. You can view the entire advanced search form HTML code of the sample above. See Advanced search form HTML code. See Configuring Auto-Complete CSS. See Copying the HTML code of the search form into the pages of your website. Appendices 459 Location on form Parameter HTML code Description Enable the advanced search form options (hidden field) sp_advanced <input type=hidden Enable or disable advanced search options. For example, you can put a standard search form on your home page with a link to a second page that contains an advanced form. In this case, you would put a copy of your standard form inside name="sp_advanced" value=1> <search-if-not-advanced>...</search-if-not-advanced> template tags. A customer who performs a search from the standard form sees a standard search form when the search results are displayed. On the advanced search form screen, you include the <input type=hidden name="sp_advanced" value=1> tag with the other advanced form options. You also include a copy of the advanced search form inside the <search-if-advanced>... </search-if-advanced> template tags. A customer who performs a search from your advanced search form sees an advanced search form when search results are displayed. Match any, all, or phrase sp_p <!-- Allow "any," "all," or "phrase" --> <input type=radio name="sp_p" value="any">Any word <input type=radio name="sp_p" value="all" checked>All words <input type=radio name="sp_p" value="phrase">Exact phrase Allow your customer to specify that "any word," "all words," or "the exact phrase" must be present for a document to match. When the sp_p parameter is specified, customers do not need to use "+", or "-", or both in the search query. If the sp_p parameter is omitted, or if it is set to "" or "any," then customers can still use the "+" and "-" specifiers. If the sp_p parameter is set to "all" or "phrase," then specified "+" and "-" are ignored. You can learn more about using "+" and "-" in a search. Appendices Location on form 460 Parameter HTML code Description See About Searches. Sound-alike matching sp_w and sp_w_control <!-- Checkbox enables sound-alike matching --> <input type=hidden name="sp_w_control" value=1> <input type=checkbox name="sp_w" value="alike"> Sound-alike matching Lets customers enable or disable sound-alike matching. Sound-alike matching allows misspelled search queries to match words that "sound alike" in your documents. When the sp_w_control parameter is set to 1 and the sp_w parameter is set to "alike," the generated check box is selected, enabling sound-alike matching by default. If the sp_w parameter is set to "", the check box is not selected. If you did not enable sound-alike matching during your most recent indexing operation, then sound-alike matching is not possible and the sp_w parameter is ignored. To enable sound-alike matching, on the product menu, click Linguistics > Words & Language > Sound-Alike Matching. You can also assign the parameters sp_w and sp_w_control parameters in the following way: <!-- Checkbox disables sound-alike matching --> <input type=hidden name="sp_w_control" value=0> <input type=checkbox name="sp_w" value="exact"> No sound-alike matching In this case, when the sp_w_control parameter is set to 0 and the sp_w parameter is set to "exact," sound-alike matching is disabled by default. If the sp_w parameter is set to "" then sound-alike matching is enabled. Date range matching sp_d <!--Specifies type of date The sp_d parameter specifies a range searching to custom data range matching to perform.--> Appendices Location on form 461 Parameter HTML code Description <input type=radio name="sp_d" value="custom" checked> <input type=radio name="sp_d" value="specific"> perform or a specific date range matching to perform. On the default advanced search form, this option is presented as a radio button group with a drop-down list of "custom" date ranges as generated with a sp_date_range parameter. It also includes and a group of "specific" start and end dates that are generated with sp_start_day, sp_start_month, sp_start_year, sp_end_day, sp_end_month, and sp_end_year parameters. A "custom" date range is a named range of dates to search. For example, "Anytime," "Today," "Within the last year," and so on. A "specific" date range consists of a start date and an end date. For example, from "September 8, 2009 to October 18, 2011." Date range matching: custom date range sp_date_range <!--Selection list for custom date range.--> <select name="sp_date_range" size=1> <option value=-1 selected>Anytime</option> <option value=7>Within the last week</option> <option value=14>Within the last 2 weeks</option> <option value=30>Within the last 30 days</option> <option value=60>Within the last 60 days</option> <option value=90>Within the last 90 days</option> <option value=180>Within the last 180 days</option> <option value=365>Within the last year</option> <option value=730>Within the last two years</option> </select> The sp_date_range parameter is used to create a "custom" date range. For example, "Anytime," "Today," "Within the last year" and so on. Values greater than or equal to zero specify the number of days to search before today. For example, a value of 0 specifies "Today," a value of "1" specifies "Today and Yesterday," a value of "30" specifies "Within the Last 30 Days," and so on. Values less than zero specify a custom range as follows: • -1 = "Anytime," the same as specifying no date range. • -2 = "This week," which searches from Sunday to Saturday of the current week. Appendices Location on form 462 Parameter HTML code Description • -3 = "Last week," which searches from Sunday to Saturday of the week before the current week. • -4 = "This month," which searches dates within the current month. • -5 = "Last month," which searches dates within the month before the current month. • -6 = "This year," which searches dates within the current year. • -7 = "Last year," which searches dates within the year before the current year. Date range matching: start dates sp_start_day, sp_start_month, sp_start_year This triplet of numeric values specifies the start date of a specific date range to search. Be sure that you specify all three values because a partially specified date is ignored. It is legal to specify just the start date, just the end date, or both the start date and end date. If just the start date is specified, the search includes matching documents dated on or after the start date. If just the end date is specified, the search includes matching documents on or before the end date. If both the start date and end date are specified, the search includes matching documents from the start date to the end date. All dates are searched relative to Greenwich Mean Time. Date range matching: end sp_end_day, dates sp_end_month, sp_end_year This triplet of numeric values specifies the end date of the specific date range to search. Be sure that you specify all three values because a partially specified date is ignored. It is legal to specify just the start date, just the end date, or both the start Appendices Location on form 463 Parameter HTML code Description and end date. If just the start date is specified, the search includes matching documents dated on or after the start date. If just the end date is specified, the search includes matching documents on or before the end date. If both the start and the end date are specified, the search includes matching documents from the start date to the end date. All dates are searched relative to Greenwich Mean Time. Appendices 464 Location on form Parameter HTML code Description Within search field sp_x <!-- List box selects the search field --> Within <select name="sp_x" size=1> <option value="any" selected>Anywhere</option> <option value="title">Title</option> <option value="desc">Description</option> <option value="keys">Keywords</option> <option value="body">Body</option> <option value="alt">Alternate text</option> <option value="url">URL</option> <option value="target">Target</option> <option value="date">Date</option>* </select> The sp_x list box lets your customers specify the field in which to search for the query strings. Customers can choose either all fields, the title, the document description, the document keywords, the body, alternate text, the document's URL, date, or target keywords. When the sp_x parameter is used, customers do not need to specify "title:," "desc:," "keys:," "body:," "alt:," "url:," and "target:" in search query strings. If the sp_x parameter is omitted, or if it is set to "" or "any," then customers can still use the field specifier strings. If the sp_x parameter is set to a specific field, all other field specifier strings are ignored. See About Searches. Show results count sp_c Show or hide summaries sp_m <!-- List box selects number of results to show per page --> Show <select name="sp_c" size=1> <option value=5>5</option> <option value=10 selected>10</option> <option value=25>25</option> <option value=50>50</option> <option value=100>100</option> </select> results Lets customers choose the number of search results that are displayed on each search results page. <!-- Show or hide summaries in search results --> <select name="sp_m" size=1> <option value=1 selected>with</option> <option value=0>without</option> </select> summaries Lets customers choose whether summary text is shown for each match. You can have as many or as few choices in the form as you want. Makre sure the "value=" value matches the displayed value. Set the value to 1 if you want to show summaries. Set the value to 0 if you want to hide summaries. You can also use the parameter with a set of Appendices Location on form 465 Parameter HTML code Description radio buttons, as in the following example: <!-- Show or hide summaries in search results --> <input type=radio name="sp_m" value=1 selected>Show summaries <input type=radio name="sp_m" value=0>Hide summaries Sort by results sp_s <!-- Sort results by relevance or by date --> Sort by <select name="sp_s" size=1> <option value=0 selected>relevance</option> <option value=1>date</option> </select> Lets customers choose whether the results are listed in order of relevance or date. When the value is set to 1, results are listed from the most recently changed document to the least recently changed document. When the value is set to 0, results are listed from the most relevant to the least relevant. You can also use this parameter with radio buttons as in the following example: <!-- Sort results by relevance or by date --> <input type=radio name="sp_s" value=0 selected>Sort by relevance <input type=radio name="sp_s" value=1>Sort by date Advanced search form HTML code The HTML form code that is used to produce the advanced search form that is show at the top of the Sample advanced search form topic. See Sample advanced search form. If you use this code, remember to replace the sp_a value of sp99999999 with your actual account number. To find your account number, on the product menu, click Settings > Account Options > Account Settings. <form method="get" action="http://search.atomz.com/search/"> <table cellspacing=0 cellpadding=0 border=0> <tr><td colspan=4> <b>Search For:</b><br> <input size=35 name="sp_q"> <!-- The "Search" button --> <input type=submit value="Search"> <input type=hidden name="sp_a" value="sp99999999"> <input type=hidden name="sp_f" value="ISO-8859-1"> </td></tr> <input type=hidden name="sp_advanced" value=1> Appendices <!-- Allow "any," "all," or "phrase" --> <tr><td valign=top> <b>Match: </b> </td><td colspan=4> <input type=radio name="sp_p" value="any">Any word <input type=radio name="sp_p" value="all" checked>All words <input type=radio name="sp_p" value="phrase">Exact phrase<br> <!-- Checkbox enables sound-alike matching --> <input type=hidden name="sp_w_control" value=1> <input type=checkbox name="sp_w" value="alike" checked> Sound-alike matching </td></tr> <!-- Date range criteria --> <tr><td><b>Dated:</b></td><td colspan=4> <input type=radio name="sp_d" value="custom" checked> <select name="sp_date_range" size=1> <option value=-1 selected>Anytime</option> <option value=7>Within the last week</option> <option value=14>Within the last 2 weeks</option> <option value=30>Within the last 30 days</option> <option value=60>Within the last 60 days</option> <option value=90>Within the last 90 days</option> <option value=180>Within the last 180 days</option> <option value=365>Within the last year</option> <option value=730>Within the last two years</option> </select> </td></tr> <tr><td></td><td rowspan=2> <input type=radio name="sp_d" value=specific> </td><td align=right>From:</td><td> <select name="sp_start_month" size=1> <option value=0 selected></option> <option value=1>January</option> <option value=2>February</option> <option value=3>March</option> <option value=4>April</option> <option value=5>May</option> <option value=6>June</option> <option value=7>July</option> <option value=8>August</option> <option value=9>September</option> <option value=10>October</option> <option value=11>November</option> <option value=12>December</option> </select> <select name="sp_start_day" size=1> <option value=0 selected></option> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> <option value=6>6</option> <option value=7>7</option> <option value=8>8</option> <option value=9>9</option> <option value=10>10</option> <option value=11>11</option> <option value=12>12</option> <option value=13>13</option> <option value=14>14</option> <option value=15>15</option> <option value=16>16</option> <option value=17>17</option> <option value=18>18</option> <option value=19>19</option> <option value=20>20</option> <option value=21>21</option> <option value=22>22</option> 466 Appendices <option value=23>23</option> <option value=24>24</option> <option value=25>25</option> <option value=26>26</option> <option value=27>27</option> <option value=28>28</option> <option value=29>29</option> <option value=30>30</option> <option value=31>31</option> </select> <!--comma-->, <input size=4 name="sp_start_year"> </td></tr> <tr><td></td> <td align=right>To:</td><td> <select name="sp_end_month" size=1> <option value=0 selected></option> <option value=1>January</option> <option value=2>February</option> <option value=3>March</option> <option value=4>April</option> <option value=5>May</option> <option value=6>June</option> <option value=7>July</option> <option value=8>August</option> <option value=9>September</option> <option value=10>October</option> <option value=11>November</option> <option value=12>December</option> </select> <select name="sp_end_day" size=1> <option value=0 selected></option> <option value=1>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> <option value=5>5</option> <option value=6>6</option> <option value=7>7</option> <option value=8>8</option> <option value=9>9</option> <option value=10>10</option> <option value=11>11</option> <option value=12>12</option> <option value=13>13</option> <option value=14>14</option> <option value=15>15</option> <option value=16>16</option> <option value=17>17</option> <option value=18>18</option> <option value=19>19</option> <option value=20>20</option> <option value=21>21</option> <option value=22>22</option> <option value=23>23</option> <option value=24>24</option> <option value=25>25</option> <option value=26>26</option> <option value=27>27</option> <option value=28>28</option> <option value=29>29</option> <option value=30>30</option> <option value=31>31</option> </select> <!--comma-->, <input size=4 name="sp_end_year"> </td></tr> <!-- List box selects the search field --> <tr><td valign=top> 467 Appendices 468 <b>Within: </b> </td><td colspan=4><select name="sp_x" size=1> <option value="any" selected>Anywhere</option> <option value="title">Title</option> <option value="desc">Description</option> <option value="keys">Keywords</option> <option value="body">Body</option> <option value="alt">Alternate text</option> <option value="url">URL</option> <option value="target">Target</option> </select> </td></tr> <!-- List box selects number of results to show per page --> <tr><td valign=top> <b>Show: </b> </td><td colspan=4><select name="sp_c" size=1> <option value=5>5</option> <option value=10 selected>10</option> <option value=25>25</option> <option value=50>50</option> <option value=100>100</option> </select> results <!-- Show or hide summaries in search results --> <select name="sp_m" size=1> <option value=1 selected>with</option> <option value=0>without</option> </select> summaries<br> </td></tr> <!-- Sort results by relevance or by date --> <tr><td valign=top> <b>Sort by: </b> </td><td colspan=4><select name="sp_s" size=1> <option value=0 selected>relevance</option> <option value=1>date</option> </select> </td></tr> </table> </form> Advanced search form template code You can add the advanced search form HTML code to your template in such a way that the default choice for any parameter is the same as the previous search. In other words, if a customer clicks the Exact phrase radio button, you can ensure that radio button is selected by default when the search results are displayed. This functionality is accomplished by removing all "checked" or "selected" specifiers from the standard HTML tags, and then replacing the following HTML tags: • <input> • <select> • <option> • </option> • </select> with the following corresponding template tags: • <search-input> • <search-select> • <search-option> • </search-option> Appendices • </search-select> To do this, you use the following code as the <form> tag on your search template. <!-- Adobe Target results section.--> <!-- Show heading and logo graphic. --> <SEARCH-IF-RESULTS> <b>SEARCH RESULTS <SEARCH-LOWER> - <SEARCH-UPPER></b> of <SEARCH-TOTAL> total results for <b><SEARCH-QUERY></b><br> </SEARCH-IF-RESULTS> <SEARCH-IF-NOT-RESULTS> <b>SEARCH RESULTS</b> for <b><SEARCH-QUERY></b><br> </SEARCH-IF-NOT-RESULTS> <SEARCH-LOGO><br> <!-- Display Results. --> <SEARCH-RESULTS LENGTH=160> <p><b><SEARCH-LINK><SEARCH-TITLE LENGTH=160></SEARCH-LINK></b><br> <SEARCH-IF-SHOW-SUMMARIES> <SEARCH-IF-CONTEXT LENGTH=240><SEARCH-CONTEXT><br></SEARCH-IF-CONTEXT> <font size="-1"><SEARCH-URL LENGTH=60></font><br> </SEARCH-IF-SHOW-SUMMARIES> </SEARCH-RESULTS> <!-- If no results, show a message. --> <SEARCH-IF-NOT-RESULTS><p> Sorry, no matches were found containing <b><SEARCH-QUERY>.</b> </SEARCH-IF-NOT-RESULTS> <!-- Show By Relevance, By Date links, Show/Hide Summaries links. --> <SEARCH-IF-RESULTS><p> <SEARCH-IF-SORT-BY-DATE> <b><SEARCH-SORT-BY-SCORE COUNT=10>Sort By Relevance</SEARCH-SORT-BY-SCORE></b> </SEARCH-IF-SORT-BY-DATE> <SEARCH-IF-SORT-BY-SCORE> <b><SEARCH-SORT-BY-DATE COUNT=10>Sort By Date</SEARCH-SORT-BY-DATE></b> </SEARCH-IF-SORT-BY-SCORE> | <b> <SEARCH-IF-SHOW-SUMMARIES> <SEARCH-HIDE-SUMMARIES COUNT=20>Hide Summaries</SEARCH-HIDE-SUMMARIES> </SEARCH-IF-SHOW-SUMMARIES> <SEARCH-IF-HIDE-SUMMARIES> <SEARCH-SHOW-SUMMARIES COUNT=10>Show Summaries</SEARCH-SHOW-SUMMARIES> </SEARCH-IF-HIDE-SUMMARIES> </b><br> </SEARCH-IF-RESULTS> <!-- Display Prev & Next links. --> <SEARCH-IF-RESULTS> <SEARCH-IF-PREV-COUNT> <b><SEARCH-PREV>Prev <SEARCH-PREV-COUNT></SEARCH-PREV></b> <SEARCH-IF-NEXT-COUNT> | </SEARCH-IF-NEXT-COUNT> </SEARCH-IF-PREV-COUNT> <SEARCH-IF-NEXT-COUNT> <b><SEARCH-NEXT>Next <SEARCH-NEXT-COUNT></SEARCH-NEXT></b><br> </SEARCH-IF-NEXT-COUNT><p> </SEARCH-IF-RESULTS> <!-- Put up the next form. --> <form method="get" action="http://search.atomz.com/search/"> <SEARCH-IF-NOT-ADVANCED> <SEARCH-INPUT-ACCOUNT> <SEARCH-INPUT-GALLERY> <SEARCH-INPUT-QUERY SIZE=25> <SEARCH-INPUT type=hidden name=sp_p> <input type=submit value="New Search"> <SEARCH-IF-INPUT-COLLECTIONS> <br><SEARCH-INPUT-COLLECTIONS> </SEARCH-IF-INPUT-COLLECTIONS> 469 Appendices </SEARCH-IF-NOT-ADVANCED> <SEARCH-IF-ADVANCED> <table cellspacing=0 cellpadding=0 border=0> <tr><td colspan=4> <b>Search For:</b><br> <SEARCH-INPUT-QUERY SIZE=35> <!-- The "Search" button --> <input type=submit value="New Search"> <SEARCH-INPUT-ACCOUNT> <SEARCH-INPUT-GALLERY> </td></tr> <SEARCH-IF-INPUT-COLLECTIONS> <!-- Collections --> <tr><td> <b>In: </b> </td><td colspan=4> <SEARCH-INPUT-COLLECTIONS> </td></tr> </SEARCH-IF-INPUT-COLLECTIONS> <input type=hidden name="sp_advanced" value=1> <!-- Allow "any," "all," or "phrase" --> <tr><td valign=top> <b>Match: </b> </td><td colspan=4> <SEARCH-INPUT type=radio name="sp_p" value="any">Any word <SEARCH-INPUT type=radio name="sp_p" value="all">All words <SEARCH-INPUT type=radio name="sp_p" value="phrase">Exact phrase<br> <!-- Checkbox enables sound-alike matching --> <input type=hidden name="sp_w_control" value=1> <SEARCH-INPUT type=checkbox name="sp_w" value="alike">Sound-alike matching </td></tr> <!-- Date range section --> <tr> <td><b>Dated:</b></td> <td colspan=3> <SEARCH-INPUT type=radio name="sp_d" value="custom"> <SEARCH-SELECT name="sp_date_range" size=1> <SEARCH-OPTION value=-1>Anytime</SEARCH-OPTION> <SEARCH-OPTION value=7>Within the last week</SEARCH-OPTION> <SEARCH-OPTION value=14>Within the last 2 weeks</SEARCH-OPTION> <SEARCH-OPTION value=30>Within the last 30 days</SEARCH-OPTION> <SEARCH-OPTION value=60>Within the last 60 days</SEARCH-OPTION> <SEARCH-OPTION value=90>Within the last 90 days</SEARCH-OPTION> <SEARCH-OPTION value=180>Within the last 180 days</SEARCH-OPTION> <SEARCH-OPTION value=365>Within the last year</SEARCH-OPTION> <SEARCH-OPTION value=730>Within the last two years</SEARCH-OPTION> </SEARCH-SELECT> </td></tr> <tr><td></td><td rowspan=2> <SEARCH-INPUT type=radio name="sp_d" value=specific></td> <td align=right>From:</td><td> <SEARCH-SELECT name="sp_start_month" size=1> <SEARCH-OPTION value=0></SEARCH-OPTION> <SEARCH-OPTION value=1>January</SEARCH-OPTION> <SEARCH-OPTION value=2>February</SEARCH-OPTION> <SEARCH-OPTION value=3>March</SEARCH-OPTION> <SEARCH-OPTION value=4>April</SEARCH-OPTION> <SEARCH-OPTION value=5>May</SEARCH-OPTION> <SEARCH-OPTION value=6>June</SEARCH-OPTION> <SEARCH-OPTION value=7>July</SEARCH-OPTION> <SEARCH-OPTION value=8>August</SEARCH-OPTION> <SEARCH-OPTION value=9>September</SEARCH-OPTION> <SEARCH-OPTION value=10>October</SEARCH-OPTION> <SEARCH-OPTION value=11>November</SEARCH-OPTION> <SEARCH-OPTION value=12>December</SEARCH-OPTION> </SEARCH-SELECT> 470 Appendices <SEARCH-SELECT name="sp_start_day" size=1> <SEARCH-OPTION value=0></SEARCH-OPTION> <SEARCH-OPTION value=1>1</SEARCH-OPTION> <SEARCH-OPTION value=2>2</SEARCH-OPTION> <SEARCH-OPTION value=3>3</SEARCH-OPTION> <SEARCH-OPTION value=4>4</SEARCH-OPTION> <SEARCH-OPTION value=5>5</SEARCH-OPTION> <SEARCH-OPTION value=6>6</SEARCH-OPTION> <SEARCH-OPTION value=7>7</SEARCH-OPTION> <SEARCH-OPTION value=8>8</SEARCH-OPTION> <SEARCH-OPTION value=9>9</SEARCH-OPTION> <SEARCH-OPTION value=10>10</SEARCH-OPTION> <SEARCH-OPTION value=11>11</SEARCH-OPTION> <SEARCH-OPTION value=12>12</SEARCH-OPTION> <SEARCH-OPTION value=13>13</SEARCH-OPTION> <SEARCH-OPTION value=14>14</SEARCH-OPTION> <SEARCH-OPTION value=15>15</SEARCH-OPTION> <SEARCH-OPTION value=16>16</SEARCH-OPTION> <SEARCH-OPTION value=17>17</SEARCH-OPTION> <SEARCH-OPTION value=18>18</SEARCH-OPTION> <SEARCH-OPTION value=19>19</SEARCH-OPTION> <SEARCH-OPTION value=20>20</SEARCH-OPTION> <SEARCH-OPTION value=21>21</SEARCH-OPTION> <SEARCH-OPTION value=22>22</SEARCH-OPTION> <SEARCH-OPTION value=23>23</SEARCH-OPTION> <SEARCH-OPTION value=24>24</SEARCH-OPTION> <SEARCH-OPTION value=25>25</SEARCH-OPTION> <SEARCH-OPTION value=26>26</SEARCH-OPTION> <SEARCH-OPTION value=27>27</SEARCH-OPTION> <SEARCH-OPTION value=28>28</SEARCH-OPTION> <SEARCH-OPTION value=29>29</SEARCH-OPTION> <SEARCH-OPTION value=30>30</SEARCH-OPTION> <SEARCH-OPTION value=31>31</SEARCH-OPTION> </SEARCH-SELECT><!--comma-->, <SEARCH-INPUT size=4 name="sp_start_year"> </td></tr> <tr><td></td> <td align=right>To:</td><td> <SEARCH-SELECT name="sp_end_month" size=1> <SEARCH-OPTION value=0></SEARCH-OPTION> <SEARCH-OPTION value=1>January</SEARCH-OPTION> <SEARCH-OPTION value=2>February</SEARCH-OPTION> <SEARCH-OPTION value=3>March</SEARCH-OPTION> <SEARCH-OPTION value=4>April</SEARCH-OPTION> <SEARCH-OPTION value=5>May</SEARCH-OPTION> <SEARCH-OPTION value=6>June</SEARCH-OPTION> <SEARCH-OPTION value=7>July</SEARCH-OPTION> <SEARCH-OPTION value=8>August</SEARCH-OPTION> <SEARCH-OPTION value=9>September</SEARCH-OPTION> <SEARCH-OPTION value=10>October</SEARCH-OPTION> <SEARCH-OPTION value=11>November</SEARCH-OPTION> <SEARCH-OPTION value=12>December</SEARCH-OPTION> </SEARCH-SELECT> <SEARCH-SELECT name="sp_end_day" size=1> <SEARCH-OPTION value=0></SEARCH-OPTION> <SEARCH-OPTION value=1>1</SEARCH-OPTION> <SEARCH-OPTION value=2>2</SEARCH-OPTION> <SEARCH-OPTION value=3>3</SEARCH-OPTION> <SEARCH-OPTION value=4>4</SEARCH-OPTION> <SEARCH-OPTION value=5>5</SEARCH-OPTION> <SEARCH-OPTION value=6>6</SEARCH-OPTION> <SEARCH-OPTION value=7>7</SEARCH-OPTION> <SEARCH-OPTION value=8>8</SEARCH-OPTION> <SEARCH-OPTION value=9>9</SEARCH-OPTION> <SEARCH-OPTION value=10>10</SEARCH-OPTION> <SEARCH-OPTION value=11>11</SEARCH-OPTION> <SEARCH-OPTION value=12>12</SEARCH-OPTION> <SEARCH-OPTION value=13>13</SEARCH-OPTION> <SEARCH-OPTION value=14>14</SEARCH-OPTION> 471 Appendices <SEARCH-OPTION value=15>15</SEARCH-OPTION> <SEARCH-OPTION value=16>16</SEARCH-OPTION> <SEARCH-OPTION value=17>17</SEARCH-OPTION> <SEARCH-OPTION value=18>18</SEARCH-OPTION> <SEARCH-OPTION value=19>19</SEARCH-OPTION> <SEARCH-OPTION value=20>20</SEARCH-OPTION> <SEARCH-OPTION value=21>21</SEARCH-OPTION> <SEARCH-OPTION value=22>22</SEARCH-OPTION> <SEARCH-OPTION value=23>23</SEARCH-OPTION> <SEARCH-OPTION value=24>24</SEARCH-OPTION> <SEARCH-OPTION value=25>25</SEARCH-OPTION> <SEARCH-OPTION value=26>26</SEARCH-OPTION> <SEARCH-OPTION value=27>27</SEARCH-OPTION> <SEARCH-OPTION value=28>28</SEARCH-OPTION> <SEARCH-OPTION value=29>29</SEARCH-OPTION> <SEARCH-OPTION value=30>30</SEARCH-OPTION> <SEARCH-OPTION value=31>31</SEARCH-OPTION> </SEARCH-SELECT><!--comma-->, <SEARCH-INPUT size=4 name="sp_end_year"> </td></tr> <!-- List box selects the search field --> <tr><td valign=top> <b>Within: </b> </td><td colspan=4><SEARCH-SELECT name="sp_x" size=1> <SEARCH-OPTION value="any">Anywhere</SEARCH-OPTION> <SEARCH-OPTION value="title">Title</SEARCH-OPTION> <SEARCH-OPTION value="desc">Description</SEARCH-OPTION> <SEARCH-OPTION value="keys">Keywords</SEARCH-OPTION> <SEARCH-OPTION value="body">Body</SEARCH-OPTION> <SEARCH-OPTION value="alt">Alternate text</SEARCH-OPTION> <SEARCH-OPTION value="url">URL</SEARCH-OPTION> <SEARCH-OPTION value="target">Target</SEARCH-OPTION> </SEARCH-SELECT></td></tr> <!-- List box selects number of results to show per page --> <tr><td valign=top> <b>Show:</b> </td><td colspan=4><SEARCH-SELECT name="sp_c" size=1> <SEARCH-OPTION value=5>5</SEARCH-OPTION> <SEARCH-OPTION value=10>10</SEARCH-OPTION> <SEARCH-OPTION value=25>25</SEARCH-OPTION> <SEARCH-OPTION value=50>50</SEARCH-OPTION> <SEARCH-OPTION value=100>100</SEARCH-OPTION> </SEARCH-SELECT> results <!-- Show or hide summaries in search results --> <SEARCH-SELECT name="sp_m" size=1> <SEARCH-OPTION value=1>with</SEARCH-OPTION> <SEARCH-OPTION value=0>without</SEARCH-OPTION> </SEARCH-SELECT> summaries<br></td></tr> <!-- Sort results by relevance or by date --> <tr><td valign=top> <b>Sort by: </b> </td><td colspan=4><SEARCH-SELECT name="sp_s" size=1> <SEARCH-OPTION value=0>relevance</SEARCH-OPTION> <SEARCH-OPTION value=1>date</SEARCH-OPTION> </SEARCH-SELECT></td></tr> </table> </SEARCH-IF-ADVANCED> </form> Guided Search output About Guided Search Output You can customize output in any text-based format, including XML or JSON. 472 Appendices 473 The output format is customizable to support the faceting, sorting, and other implementation-specific decisions that are made during the design process. You can adapt the format itself to simplify the development of the customer’s front end, if necessary. The entire output is contained within <result> tags, and most of the dynamic data is enclosed within <![CDATA[ ]]> tags. Such organization allows the results to contain HTML and other non-XML entities. Where links to other pages are provided, they are presented in the form of a relative URL. This result also includes the query string parameters that are passed to generate the desired result. Understanding a Guided Search implementation When you begin a Guided Search implementation remember that Adobe Search&Promote is responsible for the Business Layer. That is, the logic that surrounds what results and facets are shown to a customer at any given time. When you implement the Web application front end that parses and displays the results as HTML, restrict the functionality to display only. In other words, any server-side logic that you use to create the Presentation Layer does not make the decisions about what to present to a customer, unless it is necessary. The Business Rules will not work as you expect if the front-end script is altering the search results. Adobe Search&Promote maintains user state of selected search refinement options by way of the URL parameters. All <link> nodes contain the relevant parameters of the customer’s selections. These parameters can include breadcrumb, pagination, sort, and facet selections. Where applicable, <undolink> nodes are returned to allow a customer to “back out” of a selection. Facets and breadcrumbs offer these types of links. Working with the Search Server A REST-like API is used that you can interact with to perform searches and receive results. The most common formats used for the results are XML or JSON. The base URI is associated with a specific account and a staged or live environment. You can request multiple aliases for the base URI from your account manager. For example, a fictional company called Megacorp has the following two base URLs associated with their account: • http://search.megacorp.com • http://stage.megacorp.com The former URI performs searches against their live index and the latter URI against their staged index. Search requests consist of the base URI and a set of CGI parameters or key-value pairs that indicate the desired search for the account that is associated with the base URI. Three formats of CGI parameters are supported. By default your account is configured to separate CGI parameters with a semi-colon (;), as in the following example: • http://search.megacorp.com?q=shoes;page=2 If you prefer, you can have your account manager configure your account to use ampersands (&) to separate the CGI parameters, as in the following example: • http://search.megacorp.com?q=shoes&page=2 A third format, called the SEO format, is also supported where a forward slash (/) is used in place of the separator and equal sign to generate “clean” links, as in the following example: • http://search.megacorp.com/q/shoes/page/2 Any time the SEO format is used to send a request, all output links are returned in the same format. Appendices 474 Search query parameters The following table describes the standard “out-of-the-box” search query parameters that you can use. Processing rules and business rules can be built based off user-defined query parameters to implement custom business logic that is relevant to your company. You can work with the consulting team to obtain documentation on those parameters. Search query parameter Example Description q q=string Specifies the query string for the search. This parameter maps to the sp_q backend search parameter. q# q#=string Numbered q and x parameters accomplish faceting, or searching within a given field. The q parameter defines the term you are searching for in the facet as the corresponding numbered x parameter denotes. For example, if you have two facets that are named size and color, you could have something like the following: q1=small;x1=size;q2=red;x2=color This parameter maps to the sp_q_exact_# backend search parameters. x# x#=string Numbered q and x parameters accomplish faceting, or searching within a given field. The q parameter defines the term you are searching for in the facet as the corresponding numbered x parameter denotes. For example, if you have two facets that are named size and color, you could have something like the following: q1=small;x1=size;q2=red;x2=color This parameter maps to the sp_x_# backend search parameters. collection collection=string Specifies the collection to use for the search. This parameter maps to the sp_k backend search parameter. Appendices 475 Search query parameter Example Description count count=number Specifies the total count of results that are shown. The default is defined in Settings > Searching > Searches. This parameter maps to the sp_c backend search parameter. page page=number Specifies the page of results that are returned. rank rank=field Specifies the rank field to use for static ranking. The field must be a field of type Rank with relevance greater than 0. This parameter maps to the sp_sr backend parameter. gs_store gs_store=string Specifies the store to search. sort sort=number Specifies the sort order. "0" is the default and sorts by relevance score; "1" sorts by date; "-1" does not sort. Users can specify a field name for the value of the sp_s parameter. For example, sp_s=title sorts results according to the values that are contained in the title field. When a field name is used for the value of an sp_s parameter, results are sorted by that field and then subsorted by relevance. To enable this feature, do the following: 1. On the product menu, click Settings > Metadata > Definitions. 2. On the Staged Definitions page, do one of the following: • Click Add New Field. • Click Edit for a particular field name. 3. In the Sorting drop-down list, click either Ascending or Descending. This parameter maps to the sp_s backend search parameter. Appendices 476 Integrating with your system The following are recommendations for integration with your system. • Communicating with the search server. You can communicate with the Adobe Search&Promote web servers using http GET requests. Your servers generate these requests or on the client side doing an Ajax request. • Saving the search history. Adobe Search&Promote is stateless where the entire state is passed over in the http request. • Parsing the returned results. It is recommended that you use a SAX-based XML parser to parse the XML response. If you are generating Ajax request, configure Adobe Search&Promote to return JSON responses for those requests to make it easier to parse the response. See also Guided Search XML Output for Adobe Experience Manager. Guided Search JSON Output Tables that describe the standard JSON response output. See also Guided Search XML Output for Adobe Experience Manager and Guided Search JSON Output. You can review JSON response for the following: • Banners • Breadcrumb • Facets • Header and Query • Pagination • Recent Searches • Results • Search Form • Sort • Suggestions • Zones Banners Example: <banners> <banner> <area><![CDATA[top-left]]></area> <content><![CDATA[<img src="http://www.megacorp.com/discount.gif"/>]]></content> </banner> </banners> Tags in Banners Description <banner> An individual banner node. You can have multiple banner nodes. <area> The area on the web page where the banner is displayed. Appendices 477 Tags in Banners Description <content> The HTML content for the banner area. Breadcrumb In the following example, each time the customer narrows down further through the facets, the selection is added to the breadcrumb. Each item is represented as a <breadcrumb-item>. Example: <breadcrumb> <breadcrumb-item> <link><![CDATA[?q=new+year]]></link> <value><![CDATA[new year]]></value> </breadcrumb-item> <breadcrumb-item> <link><![CDATA[?q=new+year;q1=Articles;x1=content-type]]></link> <value><![CDATA[Articles]]></value> </breadcrumb-item> </breadcrumb> Tags in Breadcrumb Description <link> A relative link to search results that shows the desired view. Clicking a breadcrumb link takes the customer to a view where all the subsequent refinements are removed. Other options are also available. <value> Customer-facing text for the breadcrumb item. Facets Facets are refinement options that give customers the ability to filter on the results. Facets are commonly used for categorization, price ranges, color selections, and other attribute refinement. The metadata in the index is what drives facets. It is common to hide or show categorization facets' as a customer moves down through the categorization. The highest level of categorization (category) is known as Tier 1. When a customer clicks a Tier 1 option, the Tier 2 (subcategory) refinement options to appear and the Tier 1 options disappear. When a customer clicks a Tier 2 option, the Tier 3 (subsubcategory) refinement options appear, and the Tier 2 options disappear. As noted above, these options are hidden and shown–your web application is not impacted by them. Each facet is contained within <facet-item> tags. In the following example, it shows one facet that allows the customer to refine the search results by "holiday". Example: <facets> <facet-item> <facet-title><![CDATA[Holidays]]></facet-title> <facet-value> <label><![CDATA[New Year]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=New+Year;x1=content-type;x2=holidays]]></link> <count><![CDATA[11]]></count> </facet-value> <facet-value> Appendices 478 <label><![CDATA[Christmas]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Christmas;x1=content-type;x2=holidays]]></link> <count><![CDATA[7]]></count> </facet-value> <facet-value> <label><![CDATA[Chinese New Year]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Chinese+New+Year;x1=content-type;x2=holidays]]></link> <count><![CDATA[2]]></count> </facet-value> <facet-value> <label><![CDATA[Thanksgiving]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Thanksgiving;x1=content-type;x2=holidays]]></link> <count><![CDATA[2]]></count> </facet-value> <facet-value> <label><![CDATA[4th of July]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=4th+of+July;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Father's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Father's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Hanukkah]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Hanukkah;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Mother's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Mother's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Valentine's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Valentine's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> </facet-item> <facet-item> <facet-title><![CDATA[Seasons]]></facet-title> <facet-value> <label><![CDATA[Winter]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Winter;x1=content-type;x2=seasons]]></link> <count><![CDATA[20]]></count> </facet-value> <facet-value> <label><![CDATA[Summer]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Summer;x1=content-type;x2=seasons]]></link> <count><![CDATA[7]]></count> </facet-value> <facet-value> <label><![CDATA[Autumn]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Autumn;x1=content-type;x2=seasons]]></link> <count><![CDATA[4]]></count> </facet-value> <facet-value> <label><![CDATA[Spring]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Spring;x1=content-type;x2=seasons]]></link> <count><![CDATA[2]]></count> Appendices 479 </facet-value> </facet-item> </facets> Tags in Facets Description <facet-title> Customer-facing title for the facet. <label> Customer-facing label for the facet option. <link> Relative link to results that the option refines down. <count> The number of results in that refined result set. <undolink> When a facet value is selected the node returns an “undo link” that lets a customer back out of the results. Header and Query Example: <result> <query> <user-query><![CDATA[new year]]></user-query> <lower-results><![CDATA[1]]></lower-results> <upper-results><![CDATA[16]]></upper-results> <total-results><![CDATA[621]]></total-results> </query> Used together, these tags present a message such as the following: "Showing results 1-16 of 621 for 'new year'." Tags in header and query Description <user-query> The keyword query that is submitted with the request. <lower-results> The item number of the first result on this page. <upper-results> The item number of the last result on this page. <total-results> The total number of results that match the user query. <custom-field> An optional field that applies globally to the search results. Pagination Example: <pagination> <total-pages><39></total-pages> <pages> <page position="first"></page> <page position="last">?i=1;page=39;q=new+year;q1=Articles;x1=content-type]]></page> Appendices 480 <page position="previous"></page> <page position="next">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page> <page position="1" selected="true">?i=1;q=new+year;q1=Articles;x1=content-type]]></page> <page position="2">?i=1;page=2;q=new+year;q1=Articles;x1=content-type]]></page> <page position="3">?i=1;page=3;q=new+year;q1=Articles;x1=content-type]]></page> <page position="4">?i=1;page=4;q=new+year;q1=Articles;x1=content-type]]></page> <page position="5">?i=1;page=5;q=new+year;q1=Articles;x1=content-type]]></page> <page position="6">?i=1;page=6;q=new+year;q1=Articles;x1=content-type]]></page> <page position="7">?i=1;page=7;q=new+year;q1=Articles;x1=content-type]]></page> <page position="8">?i=1;page=8;q=new+year;q1=Articles;x1=content-type]]></page> <page position="9">?i=1;page=9;q=new+year;q1=Articles;x1=content-type]]></page> <page position="10">?i=1;page=10;q=new+year;q1=Articles;x1=content-type]]></page> </pages> </pagination> Tags in Pagination Description <total-pages> Total number of pages of results, based on the number of results divided by the number of results per page. <page position="first"> Contains a relative link to the first page in the result set, unless the customer is already viewing page 1. In such case, it is blank. <page position="last"> Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. <page position="previous"> Contains a relative link to the previous page in the result set, unless the customer is viewing page 1; in such case, it is blank. <page position="next"> Contains a relative link to the last page in the result set, unless the customer is viewing the last page. In such case, it is blank. <page position="x" Contains a relative link to a particular page number. Ten contiguous page numbers are shown. On page 1, it would be pages 1-10. At the end of the result set (in this case, 39), it would be pages 30-39. For example, in the center of the result set, page 15, it would be pages 11-20. selected="true"> Applied as an attribute to the currently selected page. Recent Searches Recent Searches is a cookie-based feature that only works if you relay the cookie information to the servers. Example: <recent-searches> <recent-search> <search-term><![CDATA[shoes]]></search-term> <link><![CDATA[?q=shoes]]></link> </recent-search> </recent-searches> Appendices 481 Tags in Recent Searches Description <recent-search> An individual recent-search node. You can have multiple recent-search nodes. <search-term> The term that the customer searched for previously. <link> Links to the previous search. Results The Results set is a customizable area of the JSON response. Each index is unique in the field naming mechanisms of metadata. There are common fields that are returned for each result such as title, description, and URL. But, any metadata that is defined for a page in the index can become available to use in each result node. Categorization, prices, colors, and thumbnails are just a few of the options that you can apply to a result to produce more compelling search results. The Results format is customized based on the metadata that is specific to your implementation. Any per-result data for display in the results, including thumbnail image URLs, is contained here. In addition, it is possible to configure multiple result zones within the page, such as “Featured Results”, or separate “Products” and “Content” results sections. In these cases, multiple result zones are provided within the HTML, although facets are only associated with the primary result set. Example: <results> <result> <index><![CDATA[1]]></index> <result-title><![CDATA[New Year's Eve Slumber Party]]></result-title> <url><![CDATA[http://mysite.com/parties/new-years-eve-slumber-party-705199/]]></url> <meta-description><![CDATA[Fun New Year's celebration ideas for your kids]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <small-thumbnail-img><![CDATA[http://mysite.com/assets/cms/parties/new-years-eveslumber-party-parties-photo-80-FF1200SLEEPA18.jpg]]></small-thumbnail-img> <large-thumbnail-img><![CDATA[http://mysite.com/assets/cms/parties/new-years-eveslumber-party-parties-photo-160-FF1200SLEEPA18.jpg]]></large-thumbnail-img> <byline><![CDATA[Nancy Mades]]></byline> <blurb><![CDATA[Fun New Year's celebration ideas for your kids]]></blurb> </result> <result> <index><![CDATA[2]]></index> <result-title><![CDATA[10 Holiday Traditions to Start This Year]]></result-title> <url><![CDATA[http://mysite.com/parties/10-holiday-traditions-to-start-this-year-704781/]]></url> <meta-description><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <small-thumbnail-img><![CDATA[http://mysite.com/assets/cms/parties/10-holidaytraditions-to-start-this-year-parties-photo-80-FF1107HOLIA01.jpg]]></small-thumbnail-img> <large-thumbnail-img><![CDATA[http://mysite.com/assets/cms/parties/10-holidaytraditions-to-start-this-year-parties-photo-160-FF1107HOLIA01.jpg]]></large-thumbnail-img> <byline><![CDATA[Julie Taylor]]></byline> <blurb><![CDATA[Reader ideas to make Thanksgiving, Christmas, and New Year's even more magical]]></blurb> </result> <result> Appendices 482 <index><![CDATA[3]]></index> <result-title><![CDATA[A Perfect New Year's Eve]]></result-title> <url><![CDATA[http://mysite.com/parties/a-perfect-new-years-eve-705258/]]></url> <meta-description><![CDATA[You can turn New Year's into a celebration for the whole family.]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <byline><![CDATA[Teri Keough]]></byline> <blurb><![CDATA[You can turn New Year's into a celebration for the whole family.]]></blurb> </result> <result> <index><![CDATA[4]]></index> <result-title><![CDATA[New Year's Fun and Games]]></result-title> <url><![CDATA[http://mysite.com/parties/new-years-fun-and-games-705220/]]></url> <meta-description><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <byline><![CDATA[Charlotte Meryman]]></byline> <blurb><![CDATA[Craft, game and food ideas for a New Year's celebration with kids.]]></blurb> </result> <result> <index><![CDATA[5]]></index> <result-title><![CDATA[11 Great Ways to Start the New Year]]></result-title> <url><![CDATA[http://mysite.com/parties/11-great-ways-to-start-the-new-year-705552/]]></url> <meta-description><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <byline><![CDATA[Emily Block]]></byline> <blurb><![CDATA[11 New Family Traditions to Start This Year from My Magazine]]></blurb> </result> <result> <index><![CDATA[6]]></index> <result-title><![CDATA[Celebrating Chinese New Year]]></result-title> <url><![CDATA[http://mysite.com/parties/celebrating-chinese-new-year-705260/]]></url> <meta-description><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></meta-description> <category><![CDATA[parties]]></category> <content-type><![CDATA[Articles]]></content-type> <blurb><![CDATA[Crafts, food, and games to help you celebrate Chinese New Year.]]></blurb> </result> <result> <index><![CDATA[7]]></index> <result-title><![CDATA[New Year's Eve, Family Style]]></result-title> <url><![CDATA[http://mysite.com/holidays/new-years-eve-family-style-701283/]]></url> <meta-description><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></meta-description> <category><![CDATA[holidays]]></category> <content-type><![CDATA[Articles]]></content-type> <blurb><![CDATA[Start a family New Year's Eve tradition by having an evening of kid-focused fun at home]]></blurb> </result> <result> <index><![CDATA[8]]></index> <result-title><![CDATA[Chinese New Year Activities]]></result-title> <url><![CDATA[http://mysite.com/crafts/chinese-new-year-activities-710345/]]></url> <meta-description><![CDATA[Activities for celebrating Chinese New Year.]]></meta-description> <category><![CDATA[crafts]]></category> <content-type><![CDATA[Articles]]></content-type> <blurb><![CDATA[Activities for celebrating Chinese New Year.]]></blurb> </result> <result> <index><![CDATA[9]]></index> Appendices 483 <result-title><![CDATA[More Organized in the New Year]]></result-title> <url><![CDATA[http://mysite.com/holidays/more-organized-in-the-new-year-701284/]]></url> <meta-description><![CDATA[Tips for getting your household more organized--and getting the kids to help.]]></meta-description> <category><![CDATA[holidays]]></category> <content-type><![CDATA[Articles]]></content-type> <blurb><![CDATA[Tips for getting your household more organized--and getting your kids to help out.]]></blurb> </result> <result> <index><![CDATA[10]]></index> <result-title><![CDATA[Checklists: Year-End Safety Checklist]]></result-title> <url><![CDATA[http://mysite.com/holidays/checklists-year-end-safety-checklist-701352/]]></url> <meta-description><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></meta-description> <category><![CDATA[holidays]]></category> <content-type><![CDATA[Articles]]></content-type> <blurb><![CDATA[Make sure that your home is safe with our year-end safety checklist!]]></blurb> </result> </results> </customer-result> Tags in Results Description <index> The serial number of the result within this result set. In this example, where ten results are shown per page, on page 2 of the results, the first item would have an index of 11. <result-title> The customer-facing title for this page. <url> The URL for this page. It is used to create a hyperlink that lets the customer click through the results. Search Form Example: <search-form> <include-tnt-mbox>1 </included-tnt-mbox> <autocomplete> <css><![CDATA[<!--link rel="stylesheet" type="te xt/css"href="//content.atomz.com/sp000000a8/publish/autoc omplete_styles.css?sp_css_cache_ver=2" /-->]]> </css> <form-content><![CDATA[<div id="autocomplete"></div>]]> </form-content> <js><![CDATA[<script type="text/javascript" src="//content.atomz.com/sp100491de/publish/autoc omplete_data.js?sp_js_cache_ver=3"></script>]]> </js> </autcomplete> <hidden-parameters> <parameter> <name><![CDATA[store]]></name> <value><![CDATA[mens]]></value> </parameter> </hidden-parameters> </search-form> Appendices 484 Tags in Search Form Description <include-tnt-mbox> Optional. When present in the JSON, a value of 1 it indicates that your account is linked to Test&Target and has at least one business rule that is in an A:B test. <autocomplete> Optional. When using auto-complete, this node is present to indicate that the CSS and JavaScript is present on the page along with the content that is in the form. These fields typically do not change unless someone has changed an autocomplete setting. In such cases, the xxx_cache_ver field is incremented to force an invalidation of the cached content on your customer’s browser. <css> The CSS that is associated with autocomplete. It is recommended that you place this tag high in the page to improve page rendering. <form-content> Content that is required inside your search-from for the autocomplete utility to hook-up to the correct control. <js> Custom JavaScript that is required for Autocomplete. It is recommended that you place this tag low in the page to improve page rendering. The YUI JavaScript is also required for autocomplete. <hidden-parameters> Contains all the hidden parameters (name and value) to include in the search form. Sort The following example shows the data for a three-option sort menu. The menu allows the customer to sort by relevance, title, or rating. The currently selected item includes an attribute "selected=true". ". Always offer a relevance option to allow a customer to return to the default search results that were originally displayed. Example: <sort> <sort-item selected="true"> <label><![CDATA[Relevance]]></label> <value><![CDATA[relevance]]></value> <link><![CDATA[]]></link> </sort-item> <sort-item> <label><![CDATA[Title]]></label> <value><![CDATA[title]]></value> <link><![CDATA[?q=new+year;q1=Articles;sort=title;x1=content-type]]></link> </sort-item> <sort-item> <label><![CDATA[Rating]]></label> <value><![CDATA[user-rating]]></value> <link><![CDATA[?q=new+year;q1=Articles;sort=user-rating;x1=content-type]]></link> Appendices 485 </sort-item> </sort> Tags in Sort Menu Description <label> The customer-facing text for the option. <value> Represents the value of the “sort” query string parameter for this option. This tag is not needed if the <link> value is used. <link> For the non-selected options, the <link> parameter contains the relative link that returns the same result set, sorted by the new sort parameter. This field is blank for the currently selected sort option. Suggestions Suggestions are returned when there are only a few result or no results. This node contains terms that do yield successful queries and can be displayed on a "No Results" page. The link is also returned so a customer can jump to the new query. Example: <suggestions> <suggestion-item> <link><![CDATA[?q=video]]></link> <word><![CDATA[video]]> Tags in Suggestions Description <link> A relative link that is used to create a hyperlink to search results for the suggestion term. <word> The suggested term. Zones Example: <zones> <zone> <name><![CDATA[best-sellers]]></name> <display><![CDATA[1]]></display> </zone> </zones> Tags in Zones Description <zone> An individual zone node. You can have multiple zone nodes. <name> The name of the zone. Appendices 486 Tags in Zones Description <display> 1 or 0 to indicate if the zone is or is not displayed. The actual zone content can be a static area on your web page or in your search results, such as best sellers or related products. Guided Search XML Output Tables that describe the standard XML response output. See also Guided Search XML Output for Adobe Experience Manager and Guided Search JSON Output. You can review XML response for the following: • Banners • Breadcrumb • Facets • Header and Query • Pagination • Recent Searches • Results • Search Form • Sort • Suggestions • Zones Banners Example: <banners> <banner> <area><![CDATA[top-left]]></area> <content><![CDATA[<img src="http://www.megacorp.com/discount.gif"/>]]></content> </banner> </banners> Tags in Banners Description <banner> An individual banner node. You can have multiple banner nodes. <area> The area on the web page where the banner is displayed. <content> The HTML content for the banner area. Breadcrumb In the following example, each time the customer narrows down further through the facets, the selection is added to the breadcrumb. Each item is represented as a <breadcrumb-item>. Appendices 487 Example: <breadcrumb> <breadcrumb-item> <link><![CDATA[?q=new+year]]></link> <value><![CDATA[new year]]></value> </breadcrumb-item> <breadcrumb-item> <link><![CDATA[?q=new+year;q1=Articles;x1=content-type]]></link> <value><![CDATA[Articles]]></value> </breadcrumb-item> </breadcrumb> Tags in Breadcrumb Description <link> A relative link to search results that shows the desired view. Clicking a breadcrumb link takes the customer to a view where all the subsequent refinements are removed. Other options are also available. <value> Customer-facing text for the breadcrumb item. Facets Facets are refinement options that give customers the ability to filter on the results. Facets are commonly used for categorization, price ranges, color selections, and other attribute refinement. The metadata in the index is what drives facets. It is common to hide or show categorization facets' as a customer moves down through the categorization. The highest level of categorization (category) is known as Tier 1. When a customer clicks a Tier 1 option, the Tier 2 (subcategory) refinement options to appear and the Tier 1 options disappear. When a customer clicks a Tier 2 option, the Tier 3 (subsubcategory) refinement options appear, and the Tier 2 options disappear. As noted above, these options are hidden and shown–your web application is not impacted by them. Each facet is contained within <facet-item> tags. In the following example, it shows one facet that allows the customer to refine the search results by "holiday". Example: <facets> <facet-item> <facet-title><![CDATA[Holidays]]></facet-title> <facet-value> <label><![CDATA[New Year]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=New+Year;x1=content-type;x2=holidays]]></link> <count><![CDATA[11]]></count> </facet-value> <facet-value> <label><![CDATA[Christmas]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Christmas;x1=content-type;x2=holidays]]></link> <count><![CDATA[7]]></count> </facet-value> <facet-value> <label><![CDATA[Chinese New Year]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Chinese+New+Year;x1=content-type;x2=holidays]]></link> <count><![CDATA[2]]></count> </facet-value> <facet-value> <label><![CDATA[Thanksgiving]]></label> Appendices 488 <link><![CDATA[?q=new+year;q1=Articles;q2=Thanksgiving;x1=content-type;x2=holidays]]></link> <count><![CDATA[2]]></count> </facet-value> <facet-value> <label><![CDATA[4th of July]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=4th+of+July;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Father's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Father's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Hanukkah]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Hanukkah;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Mother's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Mother's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> <facet-value> <label><![CDATA[Valentine's Day]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Valentine's+Day;x1=content-type;x2=holidays]]></link> <count><![CDATA[1]]></count> </facet-value> </facet-item> <facet-item> <facet-title><![CDATA[Seasons]]></facet-title> <facet-value> <label><![CDATA[Winter]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Winter;x1=content-type;x2=seasons]]></link> <count><![CDATA[20]]></count> </facet-value> <facet-value> <label><![CDATA[Summer]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Summer;x1=content-type;x2=seasons]]></link> <count><![CDATA[7]]></count> </facet-value> <facet-value> <label><![CDATA[Autumn]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Autumn;x1=content-type;x2=seasons]]></link> <count><![CDATA[4]]></count> </facet-value> <facet-value> <label><![CDATA[Spring]]></label> <link><![CDATA[?q=new+year;q1=Articles;q2=Spring;x1=content-type;x2=seasons]]></link> <count><![CDATA[2]]></count> </facet-value> </facet-item> </facets> Tags in Facets Description <facet-title> Customer-facing title for the facet. Appendices 489 Tags in Facets Description <label> Customer-facing label for the facet option. <link> Relative link to results that the option refines down. <count> The number of results in that refined result set. <undolink> When a facet value is selected the node returns an “undo link” that lets a customer back out of the results. Header and Query Example: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <result> <query> <user-query><![CDATA[new year]]></user-query> <lower-results><![CDATA[1]]></lower-results> <upper-results><![CDATA[16]]></upper-results> <total-results><![CDATA[621]]></total-results> </query> Used together, these tags present a message such as the following: "Showing results 1-16 of 621 for 'new year'." Tags in Header and Query Description <user-query> The keyword query that is submitted with the request. <lower-results> The item number of the first result on this page. <upper-results> The item number of the last result on this page. <total-results> The total number of results that match the user query. <custom-field> An optional field that applies globally to the search results. Pagination Example: <pagination> <total-pages><39></total-pages> <pages> <page p
© Copyright 2024 Paperzz