You are viewing limited content. For full access, please sign in.

Question

Question

Advanced "(all) in" Search w/Multi-Value Token

asked on February 15, 2014

Search criteria {[Matricule]:[Lotissement](all) in ("4555348", "4555331")} works fine.

 

Replacing the ("4555348", "4555331") portion by a dual-value token (see below) returns no hit in Workflow 9.1 (Search Repository activity).

 

Is there any implicit limitation in using a multi-value token there?

 

Lou

 

note: {[Matricule]:[Lotissement](all) in %(Numéro de lot_)}

0 0

Answer

SELECTED ANSWER
replied on February 17, 2014

Louis,

 

%(Numéro de lot_) is not a valid multi-value token. I expect you meant %(Numéro de lot_All).

 

When you use multi-value tokens in text boxes, by default Workflow uses just the first value unless formatting or functions are used to convert the token into a string. Additionally, if you look at the syntax you pasted above, the search syntax expects the values to be in double quotes, delimited by commas and inside parentheses.

 

So, you can use a multi-value token in the search syntax you specified, but you have to format it so when Workflow replaces the token values you have the correct search query.

 

Something like {[Matricule]:[Lotissement](all) in ("%(Numéro de lot_All#[","]#)")}.

3 0
replied on February 17, 2014

Oh wow. I've been doing this the hard way! Thanks Miruna!

0 0
replied on February 17, 2014

Thank you Miruna for this valuable information again!

 

Louis-Simon

0 0

Replies

replied on February 16, 2014

I don't have access to my VM here at home but I think it you were to build a token using a mulitvalue token it wouldn't come back in a format that advanced search needs.

 

You best bet is to create a token "search value" and then loop through a "for each value". Inside the loop you would add a conditional to check to see if there is a value inside "Search values" and if there is add a ", [current loop value]" to it. If it's empty it means this is the first one so just add a "[current loop value]" to the "search value" token. 

 

Then use your "search value" token in your query. 

1 0
replied on February 16, 2014

Hello Chris,

 

This is effectively what I am forced to do but performances suffer significantly.

 

Regards,

 

Louis-Simon

0 0
replied on February 16, 2014

Unfortunately even if the search worked the way you want it to I think just by having multiple values the search itself would still run slow.  

 

How fast is it running just one search? 

 

({[Matricule]:[Lotissement](all) in ("4555348")} )

 

Does this respond much faster?

 

If it does the it might be worth searching for these separately.

 

However if this is what you thought I meant in my previous post, I was talking about building the actual token of ("4555348", "4555331") and not actually doing two different searches.

 

 

 

0 0
replied on February 17, 2014

Hi Chris,

 

Like I said, performances suffer significantly as experienced with the construct ("4555348", "4555331")

 

Lou

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.