Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
 
Unanswered
← Way to update user data with persistent data

Hello Dan,

There are a few options, I think the most basic is doing a periodic job https://docs.q2developer.com/tutorials/periodic/index.html. Do a paginated call for all users of like 1000 users at a time and do core calls to retrieve that data then store it in the db for that user. This still might be kinda expensive to do all those calls.

So if you have a cheaper way to pull all of them at once, you can create a batch file and have your periodic job pull from that.

Another option is you could create a ardent api extension https://docs.q2developer.com/tutorials/ardent/index.html that you just send one user at a time and you just run from your machine or some automated service you have built on your side. So that way you don't have to 100k core calls or however many users you have.

Hope this helps,
-Trey

Posted 3 years ago
Edited 3 years ago
Trey Teter
124 × 2 Administrator
1

To expand upon this idea, Dan, you likely have a cheaper way to call your core than going through the Q2 bridge connection. Writing that file to an SFTP server location means your periodic job could injest that and run updates on the Q2 side without having to make all the core calls. The Ardent API extension works, too, but then you end up making thousands of CaliperAPI calls instead.

— Brian Mego   3 years ago
13 Views
0 Answers
3 years ago
3 years ago