[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eTopical search engines focus on specific topics, providing precise results within a defined domain.\u003c/p\u003e\n"],["\u003cp\u003eBuilding a topical engine involves curating relevant websites, rewriting queries for better search outcomes, and customizing the presentation of search results.\u003c/p\u003e\n"],["\u003cp\u003eTechniques such as adding domain-specific keywords, utilizing URL patterns, and creating synonyms enhance the search experience within the topical domain.\u003c/p\u003e\n"],["\u003cp\u003eAdvanced customization can involve leveraging structured data to enrich results with additional information from indexed websites.\u003c/p\u003e\n"],["\u003cp\u003eTopical engines empower users with targeted search capabilities, guiding them towards valuable resources within their specific area of interest.\u003c/p\u003e\n"]]],[],null,["**Topical search engine** is an engine that focuses on a particular topic.\nIt covers a part of the whole Web rather than a particular website -\nthis is possible because Programmable Search Engine allows you to include\nmultiple websites in the same engine. This article discusses some of\nthe interesting techniques for building and maintaining such engines.\n\nWhy build topical search engines?\n\nIt is possible to perform a very precise and robust\nadvanced search using the standard\n**google.com** search engine, by choosing the right keywords,\nutilizing [search operators](https://support.google.com/websearch/answer/136861)\nand filtering results. However, some users might not be familiar with these\nadvanced techniques.\nSince you know the context your user is operating in and the topic of the search,\nyou can guide the user through the search process and make the discovery of\nvaluable resources in the chosen domain much easier.\n| **Example:** A search engine for students in an engineering course can add *engineering* keyword to every search, to differentiate engineering results from the generic ones for ambiguous queries like *stress*.\n\nThere are few techniques useful in building high quality Topical engines:\n\n- Curated *sites to search* index\n- Rewriting queries\n- Exposing additional data in the search results\n\nCurated index\n\nSometimes search terms can be ambiguous or have a different meaning depending\non the context. By including only high quality, relevant sites in your engine,\nyou narrow down the search domain and therefore make the results more\nprecise and meaningful.\n\nUse URL Patterns\n\nRemember to use\n[URL patterns](https://support.google.com/programmable-search/answer/71826)\nto search only a part of a site if required.\nE.g. if you want to search only *tutorials* about *browser speed* from the\nsite [html5rocks.com](http://html5rocks.com), you can use\n`html5rocks.com/en/tutorials/speed/*` url pattern in **sites to search**.\n\nIf you are not familiar with the url structure of the site you consider\nadding to your engine, you can perform a `site:` search in **google.com** to\ncheck it out. For example, to see sample of urls from\n[html5rocks.com](http://html5rocks.com), type\n`site:www.html5rocks.com` into\n[google.com search box](https://www.google.com/search?q=site:www.html5rocks.com&start=10).\n\nRewriting queries\n\nIf you know your audience well, you can anticipate their queries and apply power search features on user's behalf. You can rewrite their original query to include additional search terms and use advanced search operators or apply synonyms.\n\nAdding search terms and operators\n\nThe most typical use of additional search terms is adding a keyword that describes the domain of the search, e.g. a word *solar* for for solar power search engine. Depending on the character of your engine, you might want to add additional search terms to every query, or only to some of them.\n\nYou can define an additional search term to be appended to **every query** via the Control Panel, in **Search features** \\\u003e **Advanced** \\\u003e **Websearch Settings** \\\u003e **Query Addition** field.\n\nIt is also possible to add different search terms in **each refinement tab** . In the **Search features** \\\u003e **Refinements** tab, add a new refinement and put the additional search term in the *Optional word(s)* field. When a user searches for some keyword in the engine and selects the newly created tab, their query is rewritten to include the additional terms from that refinement.\n\nSometimes it can be useful to add **different terms dynamically** depending on your user's context.\n\nYou can specify such dynamic extra terms using `webSearchQueryAddition`\nattribute if you are using the\n[Programmable Search Element](/custom-search/docs/element#supported_attributes)\nor `orTerms` parameter if you're using\n[JSON api](/custom-search/v1/reference/rest/v1/cse/list). \n**Example:** In a local events search engine, if your application has access to a user's location, you might want to add the name of the city they are in to the search query.\n\nCreating synonyms\n\nYou can expand your user's search queries by using synonyms, which are variants of a search term. If you create a synonym to a term that is likely to be used in your engine, your users will not need to type multiple variants - the alternative search terms will be added to their queries automatically.\n\nYou can create synonyms in the Control Panel in **Search features** \\\u003e **Synonyms** . You can also read more about [best practices](/custom-search/docs/queries#synonyms) for creating synonyms.\n\nCustom rendering of search results\n\nProgrammable Search Engine is highly customizable and you can change the look and feel of the results\nusing the options in the Control Panel. On top of that, if you're willing to write\ncustom markup for your search results, the customization process can be much\nmore sophisticated.\n\nFor example, depending on your user's needs, you might want to expose\nadditional data in the search results beyond the standard title and text snippet.\n\nExposing additional data using structured data and custom snippet rendering\n\nProgrammable Search Engine is able to provide more information about a result than\nincluded in the text snippet. If the site or URL that result is pointing to is\npublishing **semantic markup** , for example using [schema.org](http://schema.org)\nvocabulary, this data can be available in search result as\n[pagemap](/custom-search/docs/structured_data) attributes.\n\nTo check which attributes are known for a given URL, paste the URL\ninto the [Rich Results Test Tool](https://search.google.com/test/rich-results).\n\nExtracted attributes may be viewed using [this method](https://developers.google.com/custom-search/docs/structured_data#viewing-extracted-structured-data).\n\nIf you are using the Custom Search JSON API, you can access these values under\n`items.pagemap` value of the JSON\n[response object](/custom-search/v1/reference/rest/v1/cse/list#response).\n\nIf you are using Programmable Search Element, you can use [Callbacks](/custom-search/docs/element#search-time-callbacks) to render\nstructured data information.\n\nOverlaying the results with third-party data\n\nAn interesting technique is retrieving results programmatically via the Custom Search JSON\nAPI and then joining them with a third-party data source to provide added value\nfor the end user.\n\nSummary\n\nTopical engines are a very valuable way of spreading the knowledge in\na particular area and offer a tremendous value for users interested in the\nsame topic. Through\ncreating and grooming a **well-curated index** of sites, helping the user\nform the **right query** for a given use case and **customizing the results**,\na topical engine can make finding the right information at the right time\nboth pleasant and efficient."]]