{"id":2987053,"date":"2026-11-12T01:11:18","date_gmt":"2026-11-12T09:11:18","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2987053"},"modified":"2026-11-12T06:50:09","modified_gmt":"2026-11-12T14:50:09","slug":"enhanced-feature-searching-with-the-maps-sdk-for-javascript","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript","title":{"rendered":"Enhanced feature searching with the Maps SDK for JavaScript"},"author":7451,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[769562,781286,781287,25091,781238],"industry":[],"product":[36831,36601],"class_list":["post-2987053","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-arcgis-maps-sdk-for-javascript","tag-arcgis-search","tag-full-text-search","tag-geocoding","tag-whats-new-november-2026","product-js-api-arcgis","product-developers"],"acf":{"authors":[{"ID":7451,"user_firstname":"Noah","user_lastname":"Sager","nickname":"Noah Sager","user_nicename":"noah-sager","display_name":"Noah Sager","user_email":"NSager@esri.com","user_url":"https:\/\/www.noahsager.net\/","user_registered":"2018-03-21 18:21:19","user_description":"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of routing, search, and printing. Senior Product Engineer on the ArcGIS Maps SDK for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"short_description":"We added a new searchMode property at version 5.2 to help users work more effectively with full-text-indexed layers.","flexible_content":[{"acf_fc_layout":"content","content":"<p>We recently released <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/v5-2\/\">ArcGIS Maps SDK for JavaScript<\/a> version 5.2. This release brought some great layer-based enhancements to the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/\">arcgis-search<\/a> component. This blog will cover those enhancements with some background information and practical demos.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987171,"id":2987171,"title":"arcgis-search with Area Codes","filename":"Screenshot-2026-11-04-at-11.42.13-AM.png","filesize":123201,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/screenshot-2026-11-04-at-11-42-13-am","alt":"","author":"7451","description":"","caption":"arcgis-search component","name":"screenshot-2026-11-04-at-11-42-13-am","status":"inherit","uploaded_to":2987053,"date":"2026-11-04 17:42:53","modified":"2026-11-04 17:43:21","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":826,"height":465,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","large-width":826,"large-height":465,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","1536x1536-width":826,"1536x1536-height":465,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","2048x2048-width":826,"2048x2048-height":465,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-11.42.13-AM.png","wide_image-width":826,"wide_image-height":465}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a18dcd-4739-7202-830d-dff6931a44dc"},{"acf_fc_layout":"content","content":"<p>Introduced at version 5.2 (November 2026), the new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LayerSearchSource\/#searchMode\">searchMode<\/a> property helps users work more effectively with full-text-indexed layers. Full-text indexes improve the performance of spatial queries, such as searching for features on a map or in a database. At a high level, an index will break apart terms into separate groups to be searched. The terms must be separated by a space.<\/p>\n<p>For example, let&#8217;s look at the place: &#8220;University of New Hampshire&#8221;. If this layer was not indexed, any search for this feature must start with &#8220;University&#8221; because there is no leading wildcard. However, if this layer was properly indexed, we could start our search with &#8220;University&#8221; or &#8220;New&#8221; or &#8220;Hampshire&#8221;, because each group has been indexed for the search. These indexes can be created and persisted and used between the ArcGIS Maps SDK for JavaScript \/ ArcGIS Online \/ ArcGIS Enterprise and ArcGIS Pro. See the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/searching-for-features-in-maps-and-apps\">Searching for Features in Maps and Apps<\/a> blog for more explanation.<\/p>\n<p>The below image shows some examples of the four different searchMode values with a full-text indexed layer. Note that only <code>\"full-text-starts-with\"<\/code> and\u00a0 <code>\"full-text-simple\"<\/code> were able to find &#8220;North&#8221; in a separate indexed group. Each searchMode value is displayed in bold above the suggestions.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987770,"id":2987770,"title":"searchMode in action","filename":"searchMode-in-action.png","filesize":672000,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/searchmode-in-action","alt":"","author":"7451","description":"","caption":"searchMode in action","name":"searchmode-in-action","status":"inherit","uploaded_to":2987053,"date":"2026-11-06 16:09:33","modified":"2026-11-06 16:09:38","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":959,"height":590,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","medium-width":424,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","medium_large-width":768,"medium_large-height":472,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","large-width":959,"large-height":590,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","1536x1536-width":959,"1536x1536-height":590,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","2048x2048-width":959,"2048x2048-height":590,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action-756x465.png","card_image-width":756,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/searchMode-in-action.png","wide_image-width":959,"wide_image-height":590}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a2d3-33fe-7165-9856-ea78e4242cf5"},{"acf_fc_layout":"content","content":"<p>Previously, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LayerSearchSource\/#exactMatch\">exactMatch<\/a> (<em>deprecated at 5.2<\/em>) could be true or false, where true meant an exact match and false meant a trailing-wildcard search. In the webmap settings (<a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/get-started\/item-details.htm\">Item Details<\/a> page of the webmap), this conferred to a value of &#8220;equals&#8221; for true, and &#8220;contains&#8221; for false. This is where users can configure the search (locator and layer sources) experience for a specific webmap. These settings can be read or overwritten by an app. This blog focuses on the developer experience, but it is important to also note the non-developer configurations available.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987271,"id":2987271,"title":"Webmap Search Settings (version 5.1, pre-November 2026)","filename":"5.1-Webmap-Search-Settings.png","filesize":41033,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/5-1-webmap-search-settings","alt":"","author":"7451","description":"","caption":"Webmap Search Settings (version 5.1, pre-November 2026)","name":"5-1-webmap-search-settings","status":"inherit","uploaded_to":2987053,"date":"2026-11-04 20:24:29","modified":"2026-11-06 15:43:23","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":789,"height":385,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","medium-width":464,"medium-height":226,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","medium_large-width":768,"medium_large-height":375,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","large-width":789,"large-height":385,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","1536x1536-width":789,"1536x1536-height":385,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","2048x2048-width":789,"2048x2048-height":385,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","card_image-width":789,"card_image-height":385,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.1-Webmap-Search-Settings.png","wide_image-width":789,"wide_image-height":385}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/configure-feature-search.htm"},{"acf_fc_layout":"content","content":"<p>Now, searchMode can be <code>\"simple\"<\/code>, <code>\"starts-with\"<\/code>, <code>\"full-text-starts-with\"<\/code>, or <code>\"full-text-simple\"<\/code>. Configure these values in LayerSearchSource or in a web map\u2019s portal settings. The legacy behavior remains unchanged. Here is a table that compares these values for a feature whose <code>portname<\/code> property is \u201cNorthern Indiana Maritime District\u201d:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987365,"id":2987365,"title":"Webmap Setting compared to searchModes","filename":"Webmap-Setting-compare-to-searchModes.png","filesize":36196,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/webmap-setting-compare-to-searchmodes","alt":"","author":"7451","description":"","caption":"Webmap Setting compared to searchModes","name":"webmap-setting-compare-to-searchmodes","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 14:27:26","modified":"2026-11-05 14:27:41","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":847,"height":234,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","medium-width":464,"medium-height":128,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","medium_large-width":768,"medium_large-height":212,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","large-width":847,"large-height":234,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","1536x1536-width":847,"1536x1536-height":234,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","2048x2048-width":847,"2048x2048-height":234,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes-826x228.png","card_image-width":826,"card_image-height":228,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compare-to-searchModes.png","wide_image-width":847,"wide_image-height":234}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#enhanced-layer-searching"},{"acf_fc_layout":"content","content":"<p>In the webmap settings, these values have slightly different names. The searchModes from above confer to:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987272,"id":2987272,"title":"Webmap Search Settings (version 5.2, post-November 2026)","filename":"5.2-Webmap-Search-Settings.png","filesize":53688,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/5-2-webmap-search-settings","alt":"","author":"7451","description":"","caption":"Webmap Search Settings (version 5.2, post-November 2026)","name":"5-2-webmap-search-settings","status":"inherit","uploaded_to":2987053,"date":"2026-11-04 20:25:08","modified":"2026-11-06 15:43:43","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":768,"height":435,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","medium-width":461,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","medium_large-width":768,"medium_large-height":435,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","large-width":768,"large-height":435,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","1536x1536-width":768,"1536x1536-height":435,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","2048x2048-width":768,"2048x2048-height":435,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","card_image-width":768,"card_image-height":435,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/5.2-Webmap-Search-Settings.png","wide_image-width":768,"wide_image-height":435}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/configure-feature-search.htm"},{"acf_fc_layout":"content","content":"<p>Now we can compare the new searchMode property with the new webmap settings:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987276,"id":2987276,"title":"Webmap Setting compared to searchModes","filename":"Webmap-Setting-compared-to-searchModes.png","filesize":20986,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/webmap-setting-compared-to-searchmodes","alt":"","author":"7451","description":"","caption":"Webmap Setting compared to searchModes","name":"webmap-setting-compared-to-searchmodes","status":"inherit","uploaded_to":2987053,"date":"2026-11-04 20:39:51","modified":"2026-11-04 20:39:57","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":436,"height":195,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes-213x195.png","thumbnail-width":213,"thumbnail-height":195,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","medium-width":436,"medium-height":195,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","medium_large-width":436,"medium_large-height":195,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","large-width":436,"large-height":195,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","1536x1536-width":436,"1536x1536-height":195,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","2048x2048-width":436,"2048x2048-height":195,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","card_image-width":436,"card_image-height":195,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Webmap-Setting-compared-to-searchModes.png","wide_image-width":436,"wide_image-height":195}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#enhanced-layer-searching"},{"acf_fc_layout":"content","content":"<p>Currently, we do not offer a &#8220;contains&#8221; searchMode to developers (except for apps like Field Maps for <a href=\"https:\/\/doc.arcgis.com\/en\/field-maps\/latest\/prepare-maps\/configure-the-map.htm#ESRI_SECTION1_1822CD8DD1E74F08BC4308E03A5677F1\">offline searching<\/a>). The &#8220;starts-with&#8221; value will perform the same results.<\/p>\n"},{"acf_fc_layout":"content","content":"<p>&nbsp;<\/p>\n<h2>Demos<\/h2>\n<p>Now let&#8217;s look at some 5.2 search updates in action. We&#8217;ll also cover some search tips and best practices along the way. Any demo using the ArcGIS World Geocoder service requires a token for authentication. These demos expect an <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LocatorSearchSource\/#apiKey\">API Key<\/a> to authenticate. You can either replace it with your own API Key in the codepens, or remove it and log in once prompted.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987376,"id":2987376,"title":"compare LayerSearchSource searchModes","filename":"compare-LayerSearchSource-searchModes.png","filesize":805252,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/compare-layersearchsource-searchmodes","alt":"","author":"7451","description":"","caption":"compare LayerSearchSource searchModes","name":"compare-layersearchsource-searchmodes","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 16:08:34","modified":"2026-11-05 16:08:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":964,"height":616,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","medium-width":408,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","medium_large-width":768,"medium_large-height":491,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","large-width":964,"large-height":616,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","1536x1536-width":964,"1536x1536-height":616,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","2048x2048-width":964,"2048x2048-height":616,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes-728x465.png","card_image-width":728,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/compare-LayerSearchSource-searchModes.png","wide_image-width":964,"wide_image-height":616}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a2d3-33fe-7165-9856-ea78e4242cf5"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a2d3-33fe-7165-9856-ea78e4242cf5\">Compare searchModes<\/a><\/strong><\/p>\n<p>The above app compares the different <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LayerSearchSource\/#searchMode\">searchMode<\/a> values with the same layer search source. First, we set the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#allPlaceholder\">allPlaceholder<\/a> value to match the nature-focus theme. Next, since we&#8217;re using a webmap, and we don&#8217;t want to include any locators associated with the webmap searching, we <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#includeDefaultSourcesDisabled\">disable the default sources<\/a> to the arcgis-search component. Then we define our layers and popups like usual. Each layer uses a different searchMode in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#sources\">search.sources<\/a>. Lastly, we modify the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LayerSearchSource\/#minSuggestCharacters\">minimum characters required to display a suggestion<\/a> to a value of 1. This is not recommended for large layers, but is appropriate here in this small app. Try different search terms to compare the different searchMode values.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987377,"id":2987377,"title":"LayerListModel and LayerSearchSource","filename":"LayerListModel-and-LayerSearchSource-1.png","filesize":662186,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/layerlistmodel-and-layersearchsource-2","alt":"","author":"7451","description":"","caption":"LayerListModel and LayerSearchSource","name":"layerlistmodel-and-layersearchsource-2","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 16:09:47","modified":"2026-11-05 16:09:53","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":964,"height":616,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","medium-width":408,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","medium_large-width":768,"medium_large-height":491,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","large-width":964,"large-height":616,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","1536x1536-width":964,"1536x1536-height":616,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","2048x2048-width":964,"2048x2048-height":616,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1-728x465.png","card_image-width":728,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/LayerListModel-and-LayerSearchSource-1.png","wide_image-width":964,"wide_image-height":616}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a18e9d-a915-75d8-b404-80743580aace"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a18e9d-a915-75d8-b404-80743580aace\">LayerListModel and LayerSearchSource<\/a><\/strong><\/p>\n<p>The above app is based on a sample made by <a href=\"https:\/\/community.esri.com\/en\/profile\/Sage_Wall\">Sage Wall<\/a>. Similar to the previous demo, but here we use the new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/layerList\/LayerListModel\/\">LayerListModel<\/a> to customize the user experience. This app shows how the search experience works nicely with other classes and components in the SDK to make engaging and useful web applications. See the original <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layer-list-model\/?view=playground-only\">sample here<\/a>.<\/p>\n<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a266-2737-7d74-82e9-8e775c9c4892\">LayerListModel and LayerSearchSource &#8211; No searchAll<\/a><\/strong><\/p>\n<p>However, there was one issue with the previous demo. Users can search all three categories at the same time.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987489,"id":2987489,"title":"Search in All","filename":"Screenshot-2026-11-05-at-12.19.37-PM.png","filesize":28814,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/screenshot-2026-11-05-at-12-19-37-pm","alt":"","author":"7451","description":"","caption":"Search in All","name":"screenshot-2026-11-05-at-12-19-37-pm","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 18:20:28","modified":"2026-11-05 18:20:38","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":240,"height":198,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM-213x198.png","thumbnail-width":213,"thumbnail-height":198,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","medium-width":240,"medium-height":198,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","medium_large-width":240,"medium_large-height":198,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","large-width":240,"large-height":198,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","1536x1536-width":240,"1536x1536-height":198,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","2048x2048-width":240,"2048x2048-height":198,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","card_image-width":240,"card_image-height":198,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.19.37-PM.png","wide_image-width":240,"wide_image-height":198}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In our scenario, it is unlikely that users want this ability as it can confuse the types of results provided. So we can disable that by using the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#searchAllDisabled\">searchAllDisabled<\/a> property. Note that when this is disabled, the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#allPlaceholder\">allPlaceholder<\/a> value will no longer be honored. The placeholder of the top locator value will display by default.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987497,"id":2987497,"title":"Search in one at a time","filename":"Screenshot-2026-11-05-at-12.24.35-PM.png","filesize":22174,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/screenshot-2026-11-05-at-12-24-35-pm","alt":"","author":"7451","description":"","caption":"Search in one at a time","name":"screenshot-2026-11-05-at-12-24-35-pm","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 18:24:51","modified":"2026-11-05 18:53:59","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":232,"height":166,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM-213x166.png","thumbnail-width":213,"thumbnail-height":166,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","medium-width":232,"medium-height":166,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","medium_large-width":232,"medium_large-height":166,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","large-width":232,"large-height":166,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","1536x1536-width":232,"1536x1536-height":166,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","2048x2048-width":232,"2048x2048-height":166,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","card_image-width":232,"card_image-height":166,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-12.24.35-PM.png","wide_image-width":232,"wide_image-height":166}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Let&#8217;s move on to some different demos. The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#componentOnReady\">componentOnReady<\/a> method is an important concept for components. This should be used before setting any additional properties or calling any methods in JavaScript. See the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/watch-for-changes\/#component-readiness-and-events\">Component readiness and events<\/a> doc for more information. We&#8217;ll look at a few different examples of this method, and then look at a new and similar method at version 5.2: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#onSourcesReady\">onSourcesReady<\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987382,"id":2987382,"title":"componentOnReady","filename":"componentOnReady.png","filesize":187461,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/componentonready","alt":"","author":"7451","description":"","caption":"componentOnReady","name":"componentonready","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 16:29:53","modified":"2026-11-05 16:30:00","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":898,"height":594,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","medium-width":395,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","medium_large-width":768,"medium_large-height":508,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","large-width":898,"large-height":594,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","1536x1536-width":898,"1536x1536-height":594,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","2048x2048-width":898,"2048x2048-height":594,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-703x465.png","card_image-width":703,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady.png","wide_image-width":898,"wide_image-height":594}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a311-a336-79bb-849e-d5f7eef4a2de"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a311-a336-79bb-849e-d5f7eef4a2de\">Search for Area Codes<\/a><\/strong><\/p>\n<p>The above app uses <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#componentOnReady\">componentOnReady<\/a> method to ensure the arcgis-search component is ready to go before interaction. This app allows us to search for US telephone Area Codes. It also uses the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-coordinate-conversion-next\/#demos\">arcgis-coordinate-conversion-next<\/a> component in minimal configuration, which adds to the look and feel of the app.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987425,"id":2987425,"title":"componentOnReady - Area Code Explorer","filename":"componentOnReady-Area-Code-Explorer.png","filesize":126888,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/componentonready-area-code-explorer","alt":"","author":"7451","description":"","caption":"componentOnReady - Area Code Explorer","name":"componentonready-area-code-explorer","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 17:25:59","modified":"2026-11-05 17:26:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":898,"height":594,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","medium-width":395,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","medium_large-width":768,"medium_large-height":508,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","large-width":898,"large-height":594,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","1536x1536-width":898,"1536x1536-height":594,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","2048x2048-width":898,"2048x2048-height":594,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer-703x465.png","card_image-width":703,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-Area-Code-Explorer.png","wide_image-width":898,"wide_image-height":594}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a18e50-2c78-7f7f-aa95-0762ba1491c0"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a18e50-2c78-7f7f-aa95-0762ba1491c0\">Explore Area Codes with Search<\/a><\/strong><\/p>\n<p>The above app also uses the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#componentOnReady\">componentOnReady<\/a> method, but has no visible labels on the map. This app is for exploring US telephone Area Codes, and again can take a single character input to offer suggestions. This can be a fun and interactive way to search for Area Codes.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987473,"id":2987473,"title":"componentOnReady - countryCode","filename":"componentOnReady-countryCode.png","filesize":275986,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/componentonready-countrycode","alt":"","author":"7451","description":"","caption":"componentOnReady - countryCode","name":"componentonready-countrycode","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 18:01:07","modified":"2026-11-05 18:01:12","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1072,"height":724,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","medium-width":386,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","medium_large-width":768,"medium_large-height":519,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","large-width":1072,"large-height":724,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","1536x1536-width":1072,"1536x1536-height":724,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","2048x2048-width":1072,"2048x2048-height":724,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode-689x465.png","card_image-width":689,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/componentOnReady-countryCode.png","wide_image-width":1072,"wide_image-height":724}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a280-3c8a-7e27-950c-52ca2216cf65"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a280-3c8a-7e27-950c-52ca2216cf65\">Search cities with countryCode<\/a><\/strong><\/p>\n<p>The above app also uses the componentOnReady, but also uses <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LocatorSearchSource\/#countryCode\">countryCode<\/a> (note this property only applies to locator sources, not layer sources). We have two city search sources, one of cities around the world from a layer, and one of cities restricted to the countries of USA and Canada from a locator (Esri World Geocoder service, which requires authentication). It&#8217;s worth noting that we recommend <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#includeDefaultSourcesDisabled\">disabling the default sources<\/a> for the arcgis-search component when modifying locator source properties, otherwise default locators associated with the webmap may display.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987426,"id":2987426,"title":"onSourcesReady","filename":"onSourcesReady.png","filesize":141857,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/onsourcesready","alt":"","author":"7451","description":"","caption":"onSourcesReady","name":"onsourcesready","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 17:26:45","modified":"2026-11-05 17:26:50","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":898,"height":594,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","medium-width":395,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","medium_large-width":768,"medium_large-height":508,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","large-width":898,"large-height":594,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","1536x1536-width":898,"1536x1536-height":594,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","2048x2048-width":898,"2048x2048-height":594,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady-703x465.png","card_image-width":703,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/onSourcesReady.png","wide_image-width":898,"wide_image-height":594}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/codepen.io\/editor\/noash\/pen\/01a18dcd-4739-7202-830d-dff6931a44dc"},{"acf_fc_layout":"content","content":"<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a18dcd-4739-7202-830d-dff6931a44dc\">Search() on load<\/a><\/strong><\/p>\n<p>The above app uses the new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#onSourcesReady\">onSourcesReady<\/a> method. This waits for all the default resources needed by the arcgis-search component before returning a promise. This can be especially useful when the arcgis-search component needs to be immediately ready to take action once the app loads. In this case, we want to search for &#8220;603&#8221; using the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#search\">search<\/a> method upon loading. This differs from componentOnReady, which <span data-teams=\"true\">waits for the component to be initialized, while onSourcesReady waits for the component to be initialized and default sources to be loaded.<\/span><\/p>\n<p><strong>Demo: <a href=\"https:\/\/codepen.io\/editor\/noash\/pen\/01a1a264-e8b0-749b-9d22-e7535f00c892\">Search() on load &#8211; searchAll<\/a><\/strong><\/p>\n<p>However, there was one issue again with the previous demo. Users couldn&#8217;t search both Area Codes and places at the same time. Even though we don&#8217;t want an <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/#allPlaceholder\">allPlaceholder<\/a> value, we do want our users to search both sources at the same time.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2987431,"id":2987431,"title":"Search component with multiple sources","filename":"Screenshot-2026-11-05-at-11.30.28-AM.png","filesize":497285,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\/screenshot-2026-11-05-at-11-30-28-am","alt":"","author":"7451","description":"","caption":"Search component with multiple sources","name":"screenshot-2026-11-05-at-11-30-28-am","status":"inherit","uploaded_to":2987053,"date":"2026-11-05 17:31:03","modified":"2026-11-05 17:31:11","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":919,"height":590,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","medium-width":407,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","medium_large-width":768,"medium_large-height":493,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","large-width":919,"large-height":590,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","1536x1536-width":919,"1536x1536-height":590,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","2048x2048-width":919,"2048x2048-height":590,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM-724x465.png","card_image-width":724,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-05-at-11.30.28-AM.png","wide_image-width":919,"wide_image-height":590}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/search-component-multisource\/?view=playground-only"},{"acf_fc_layout":"content","content":"<p>For posterity, the above <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/search-component-multisource\/\">sample<\/a> is from our SDK, updated for version 5.2 with the new searchMode.<\/p>\n<p>&nbsp;<\/p>\n<h2>Conclusion<\/h2>\n<p>The new searchMode property and onSourcesReady method help users work more effectively with full-text-indexed layers and the arcgis-search component in general. While many of the search settings can be configured in the webmap UI, they can be overwritten or added-to in custom applications. The flexibility and usefulness of the arcgis-search component at version 5.2 make it a powerful and compelling tool for webmaps and apps.<\/p>\n"},{"acf_fc_layout":"content","content":"<p>&nbsp;<\/p>\n<h2>References<\/h2>\n<p>&nbsp;<\/p>\n<p>ArcGIS Maps SDK for JavaScript<\/p>\n<ul>\n<li><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/v5-2\/\">5.2 Release Notes<\/a><\/li>\n<li>Doc: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/components\/arcgis-search\/\">arcgis-search component<\/a><\/li>\n<li>Doc: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LayerSearchSource\/\">LayerSearchSource<\/a><\/li>\n<li>Doc: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/core\/widgets\/Search\/LocatorSearchSource\/\">LocatorSearchSource<\/a><\/li>\n<li>Sample: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/search-component-customsource\/\">Search component with custom source<\/a><\/li>\n<\/ul>\n<p>ArcGIS Online<\/p>\n<ul>\n<li>Doc: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/add-manage-indexes.htm\">Add or manage indexes<\/a><\/li>\n<li>ArcGIS Blog: <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/searching-for-features-in-maps-and-apps\">Searching for Features in Maps and Apps<\/a><\/li>\n<li>ArcGIS Blog: <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/configure-search-maps-apps\">Configure layer attribute search in maps and apps<\/a><\/li>\n<\/ul>\n<p>ArcGIS Enterprise<\/p>\n<ul>\n<li>At <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/query-feature-service-layer\/#new-at-114\">version 11.4<\/a>, Enterprise added a new parameter, <code>full<wbr \/>Text<\/code>, to support full-text searches.<\/li>\n<li class=\"p1\"><span class=\"s1\">KB: <a href=\"https:\/\/support.esri.com\/en-us\/knowledge-base\/how-to-create-a-full-text-field-index-in-arcgis-online--000034169\">Create a full-text field index in ArcGIS Online or ArcGIS Enterprise using ArcGIS API for Python<\/a><\/span><\/li>\n<\/ul>\n<p>ArcGIS Pro<\/p>\n<ul>\n<li>Doc: <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/tool-reference\/data-management\/add-full-text-index.html?tabs=dialog\">Add Full-Text Index<\/a><\/li>\n<li>Doc: <a href=\"https:\/\/doc.esri.com\/en\/arcgis-pro\/latest\/help\/data\/geodatabases\/overview\/full-text-indexes-in-the-geodatabase.html\">Full-text indexes in the geodatabase<\/a><\/li>\n<\/ul>\n"}],"related_articles":[{"ID":2988108,"post_author":"4271","post_date":"2026-11-10 08:58:55","post_date_gmt":"2026-11-10 16:58:55","post_content":"","post_title":"ArcGIS Maps SDK for JavaScript: What\u2019s New in 5.2","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"arcgis-maps-sdk-for-javascript-whats-new-in-5-2","to_ping":"","pinged":"","post_modified":"2026-11-10 08:59:40","post_modified_gmt":"2026-11-10 16:59:40","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2988108","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2978329,"post_author":"21311","post_date":"2026-07-26 23:19:21","post_date_gmt":"2026-07-27 06:19:21","post_content":"","post_title":"ArcGIGuess: Build an Interactive Geography Game in Minutes with ArcGIS","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"building-arcgiguess","to_ping":"","pinged":"","post_modified":"2026-08-10 01:07:07","post_modified_gmt":"2026-08-10 08:07:07","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2978329","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2153222,"post_author":"7641","post_date":"2024-04-08 10:08:50","post_date_gmt":"2024-04-08 17:08:50","post_content":"","post_title":"Configure layer attribute search in maps and apps","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"configure-search-maps-apps","to_ping":"","pinged":"","post_modified":"2024-04-08 10:18:57","post_modified_gmt":"2024-04-08 17:18:57","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2153222","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":1779412,"post_author":"5551","post_date":"2022-11-23 09:00:54","post_date_gmt":"2022-11-23 17:00:54","post_content":"","post_title":"Searching for Features in Maps and Apps","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"searching-for-features-in-maps-and-apps","to_ping":"","pinged":"","post_modified":"2022-11-23 05:52:46","post_modified_gmt":"2022-11-23 13:52:46","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1779412","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"29","filter":"raw"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-9.20.12-AM.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-9.25.43-AM.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhanced feature searching with the Maps SDK for JavaScript<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enhanced feature searching with the Maps SDK for JavaScript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T14:50:09+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\"},\"author\":{\"name\":\"Noah Sager\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068\"},\"headline\":\"Enhanced feature searching with the Maps SDK for JavaScript\",\"datePublished\":\"2026-11-12T09:11:18+00:00\",\"dateModified\":\"2026-11-12T14:50:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Maps SDK for JavaScript\",\"arcgis-search\",\"full-text search\",\"Geocoding\",\"what\u2019s new november 2026\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\",\"name\":\"Enhanced feature searching with the Maps SDK for JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2026-11-12T09:11:18+00:00\",\"dateModified\":\"2026-11-12T14:50:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhanced feature searching with the Maps SDK for JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068\",\"name\":\"Noah Sager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g\",\"caption\":\"Noah Sager\"},\"description\":\"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of routing, search, and printing. Senior Product Engineer on the ArcGIS Maps SDK for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.\",\"sameAs\":[\"https:\/\/www.noahsager.net\/\",\"https:\/\/www.linkedin.com\/in\/noah-sager\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/noah-sager\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Enhanced feature searching with the Maps SDK for JavaScript","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript","og_locale":"en_US","og_type":"article","og_title":"Enhanced feature searching with the Maps SDK for JavaScript","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2026-11-12T14:50:09+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript"},"author":{"name":"Noah Sager","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068"},"headline":"Enhanced feature searching with the Maps SDK for JavaScript","datePublished":"2026-11-12T09:11:18+00:00","dateModified":"2026-11-12T14:50:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Maps SDK for JavaScript","arcgis-search","full-text search","Geocoding","what\u2019s new november 2026"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript","name":"Enhanced feature searching with the Maps SDK for JavaScript","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2026-11-12T09:11:18+00:00","dateModified":"2026-11-12T14:50:09+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/enhanced-feature-searching-with-the-maps-sdk-for-javascript#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Enhanced feature searching with the Maps SDK for JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068","name":"Noah Sager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g","caption":"Noah Sager"},"description":"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of routing, search, and printing. Senior Product Engineer on the ArcGIS Maps SDK for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.","sameAs":["https:\/\/www.noahsager.net\/","https:\/\/www.linkedin.com\/in\/noah-sager"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/noah-sager"}]}},"text_date":"November 12, 2026","author_name":"Noah Sager","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/noah-sager","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2026\/11\/Screenshot-2026-11-04-at-9.25.43-AM.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":769562,"name":"ArcGIS Maps SDK for JavaScript","slug":"arcgis-maps-sdk-for-javascript","term_group":0,"term_taxonomy_id":769562,"taxonomy":"post_tag","description":"","parent":0,"count":34,"filter":"raw"},{"term_id":781286,"name":"arcgis-search","slug":"arcgis-search","term_group":0,"term_taxonomy_id":781286,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":781287,"name":"full-text search","slug":"full-text-search","term_group":0,"term_taxonomy_id":781287,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":25091,"name":"Geocoding","slug":"geocoding","term_group":0,"term_taxonomy_id":25091,"taxonomy":"post_tag","description":"","parent":0,"count":31,"filter":"raw"},{"term_id":781238,"name":"what\u2019s new november 2026","slug":"whats-new-november-2026","term_group":0,"term_taxonomy_id":781238,"taxonomy":"post_tag","description":"","parent":0,"count":21,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":474,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":379,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":799,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2987053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7451"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2987053"}],"version-history":[{"count":31,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2987053\/revisions"}],"predecessor-version":[{"id":2989430,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2987053\/revisions\/2989430"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2987053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2987053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2987053"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2987053"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2987053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}