I'm trying to develop a search feature for a custom tile that will take a search query and return a list of users who's skills (or tags as they are logged in the api) match.

I can see here : Jive REST API v3.14 → Search service that there is a GET /search/people service that can be used and it takes a filter of tag but I can't seem to get correct results. I either get no response or one that I know isn't correct.

Performing a GET call to jiveInstance/api/core/v3/search/people?filter=tag(web,twitter) returns a

message: "You must specify a search filter with at least one keyword"

And I can see based on the docs that a search filter MUST be included, but I just want it to return ALL the users that match a tag and don't know what should be used as the search query to achieve this.

If I use the same word for both the tag filter and the search filter it works

/api/core/v3/search/people?filter=tag(twitter)&filter=search(twitter)

But if I need to include a second tag it breaks and returns nothing, not even an error

{

itemsPerPage: 25,

list: [ ],

startIndex: 0

}

Just looking to find out what the best practise is to return a list of users based on a search query that matches a skill/tag in their profile.

I'm looking in my notes and I should have an answer for you soon based on API calls I've used in the past.

In the meantime, this may be a known issue at this moment with cloud search (are you cloud?). As you can see on Jive Software Status , there is currently a known issue with degraded cloud search performance. Since the API and Spotlight search each use the same methods, I would check to see if you are getting the same people results in spotlight search using the tags,

I reviewed my notes and I have run into this before. The results may vary depending on the version of Jive you're running. In your case, the key to understand is that the comma acts as an AND operator, so both tags need to exist.

We have done something similar by using just the /people service, and not the /search service. So for example: jiveInstance/api/core/v3/people?filter=tag(web,twitter). This will return anyone who has either (or both) of those tags. You can use the operators John described to better control who actually gets returned based on specific needs.