Splunk Search

subsearch help

changwoo
Communicator

i have a two tables
one is rating
user_id=xxxx
movie_id = zzzz
rating = yyyy

second is movie
movie_id = kkkk
name = pppp

using this field i want to find the 20 top rated moive name

Tags (1)
0 Karma
1 Solution

linu1988
Champion

Hello,
Try this if you don't have overlapping records.

sourcetype=xx|fields user_id,movie_id,rating|sort - rating|head 20|join movie_id[|search sourcetype=yy|fields movie_id,name]|table movie_id,movie_name,rating

We may also have many movies with same rating:

sourcetype=xx|fields user_id,movie_id,rating|top 20 rating by user_id,movie_id|fields user_id,movie_id,rating|join movie_id[|search sourcetype=yy|fields movie_id,movie_name]|table movie_id,movie_name,rating

updated query per user input (use as it is)

sourcetype=rate |fields rate_user_id,rate_movie_id,rate_rating,rate_duration|sort - rate_rating | head 20| rename rate_movie_id as movie_id | join movie_id [search sourcetype = movie | fields movie_id, movie_name]|table movie_id, movie_name, rate_rating

View solution in original post

linu1988
Champion

Hello,
Try this if you don't have overlapping records.

sourcetype=xx|fields user_id,movie_id,rating|sort - rating|head 20|join movie_id[|search sourcetype=yy|fields movie_id,name]|table movie_id,movie_name,rating

We may also have many movies with same rating:

sourcetype=xx|fields user_id,movie_id,rating|top 20 rating by user_id,movie_id|fields user_id,movie_id,rating|join movie_id[|search sourcetype=yy|fields movie_id,movie_name]|table movie_id,movie_name,rating

updated query per user input (use as it is)

sourcetype=rate |fields rate_user_id,rate_movie_id,rate_rating,rate_duration|sort - rate_rating | head 20| rename rate_movie_id as movie_id | join movie_id [search sourcetype = movie | fields movie_id, movie_name]|table movie_id, movie_name, rate_rating

linu1988
Champion

rate_movie_id and movie_id are related you will get the result or we are doing nothing with this query.

0 Karma

changwoo
Communicator

do I have to add comparing command?

looking to my search command there is no comparing command

like rate_movie_id quals movie_id

0 Karma

changwoo
Communicator

sourcetype=rate|fields rate_user_id,rate_movie_id,rate_rating,rate_duration|top 1 rate_rating by rate_movie_id

this is working very well

i deleted the space and inserted "|"

but no result is comming out .

this is my search command

sourcetype=rate|fields rate_user_id,rate_movie_id,rate_rating,rate_duration|top 1 rate_rating by rate_movie_id | join rate_movie_id[ | search sourcetype= movie | fields movie_id, movie_name] | table movie_id, movie_name, rate_rating

0 Karma

changwoo
Communicator

| join is not working..

sourcetype=rate |fields rate_user_id,rate_movie_id,rate_rating,rate_duration|sort -rate_rating | head 20| join rate_movie_id[|search sourcetype = movie | fields movie_id, movie_name]|table movie_id, movie_name, rate_rating

0 Karma

linu1988
Champion

Thank you for the suggestion, i have changed it 🙂

0 Karma

somesoni2
Revered Legend

you can move "sort" and "head" before "join" as well, for little better performance.

Get Updates on the Splunk Community!

CX Day is Coming!

Customer Experience (CX) Day is on October 7th!! We're so excited to bring back another day full of wonderful ...

Strengthen Your Future: A Look Back at Splunk 10 Innovations and .conf25 Highlights!

The Big One: Splunk 10 is Here!  The moment many of you have been waiting for has arrived! We are thrilled to ...

Now Offering the AI Assistant Usage Dashboard in Cloud Monitoring Console

Today, we’re excited to announce the release of a brand new AI assistant usage dashboard in Cloud Monitoring ...