Predictive Search - Can we bring up the list dynamically?


#1

Hello
The dynamic search does find from"anywhere withing the string"
For example - For country search, If I type Korea, it would bring up “South Korea” and “North Korea”, that is because search string begins with “Korea”.
However, I am wondering if i type something before “Korea”, can the search bring up the same results. For example - if I type “my Korea”, can it bring up “South Korea” and “North Korea”?
I want the search to match any part of the search string and bring up the results.
I am trying to create a natural language search, and this would help me in that.
Please help.

Thank you.
-Ejaz


Predictive Search auto-complete in text field
#2

The easiest way to simulate this might be too simply ignore certain words. When you go to match the input against the repeater rows, remove common words like “my”

You can do this by adding on calls to the replaced method in the input within your current filter.

.replace(‘my’,’’).replace(‘the’,’’) etc

Short of building an actual natural language parser in Axure this might work for you.


#3

Thank you.

I added - [[Item.ListEntry.toLowerCase().indexOf(LVAR_SearchText.toLowerCase())>=0.replace(‘my’,’’).replace(‘the’,’’)]]

It’s not working? Anything missing in there?

Basically, if the user types “my country is Korea, which is in Asia”, it should bring up “South Korea” and “North Korea” (which are in the list). That means, the system should ignore all the text before and after “Korea”.

A sample file downloaded from one of the discussions is attached here Autocomplete_Repeater_JP_recovered.rp (77.3 KB)

-Ejaz


#4

Add it to the first part of your expression, the input. Right now you’re trying to replace the word my on a 0.


#5

Hi nkrisc,
I am not familiar with coding.
Could you correct it for me please?

[[.replace(‘my’,’’).replace(‘the’,’’).Item.ListEntry.toLowerCase().indexOf(LVAR_SearchText.toLowerCase())>=0]]

Thank you.
-Ejaz


#6

[[Item.ListEntry.toLowerCase().indexOf(LVAR_SearchText.replace(‘my’,’’).replace(‘the’,’’).toLowerCase())>=0]]

LVAR_SearchText is the user input and the text on which we want to remove the extraneous words.


#7

Hello nkrisc.
It doesn’t now.

If i type Korea, it brings up the two Koreas. But if i type “the”, it brings up the list with the initial letters missing from each of them.

Can It ignore all the input text other than from the repeater list?
For example - if the user types “I want to go to Korea next week”, it should ignore “I want to go to” AND “next week”, and bring up the Korea list.

Thank you .


#8

Hey, what if you want the suggestion box to disappear after you selected it?