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!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...