I am using a feature layer search source with the Search Widget. The feature layer contains address points that have addresses with apartment numbers. There are some single digit address numbers, such as 8 Wyclow St. When users enter 8 into the input box, the top 6 suggestions do not include 8 Wyclow St or even, for example, 8000 Main St. Instead the top suggestions presented are addresses with the character '8' elsewhere in the address text.
Here the suggestions for '8':
Here are the suggestions for '8 ':
And for '8 W':
Is there a way to set the Search Widget or Layer Search Source to limit the search using the like operator so that the query would be <searchField> like '<searchTerm>%'?
My LayerSearchSource Properties:
searchFields: ["MailAddLine"],
displayField: "MailAddLine",
exactMatch: true,
outFields: ["*"],
name: "JOCO Address Points",
placeholder: "Enter Address",
maxResults: 6,
maxSuggestions: 6,
suggestionsEnabled: true,
minSuggestCharacters: 0,
zoomScale: 1000,
orderByFields: ["MailAddLine"]
Hi @DaveFullerton, great question. We do have prefix and suffix properties on the LayerSearchSource, perhaps these would be helpful here?
prefix
suffix
Thanks for the suggestion, Noah. Could you be more specific? I tried out a lot of things using prefix and suffix, but that didn't get me anywhere.
Hi @Noah-Sager,
I tried use LayerSearchSource.prefix and suffix, but it seems those properties aren't suitable to "Starts with"-like search, because search term for "where" expression in that case just concatenated with prefix/suffix AND "%" symbol on BOTH sides.
Here is my try based on "Search widget with multiple sources" (ArcGIS JS API v4.18):
https://codepen.io/alexader2021/pen/PobQRYJ?editors=1000
- as you can see, I set prefix/suffix properties as "FOO"/"BAR" for first search source, and ONLY suffix "%" for the second one. Here are queries that I see in network:
Another words, search term is always surrounded with "%" symbol irrespectively to prefix/suffix.
Is there any way to implement "Starts with" search behavior, so that search term ends with "%", but not starts with?
Thank you for advance!