Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7076605
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T06:19:06+00:00 2026-05-28T06:19:06+00:00

I have the following task: Query SOLR and return a weighted list based on

  • 0

I have the following task: Query SOLR and return a weighted list based on multiple conditions.

Example:
I have documents with the following fields, they mostly represent movies:

name, genre, actors, director

I want to return 20 documents sorted on the following condition

  1. The document shares 1 actor and is from the same director (5 points)
  2. The document shares 2 or more actors (3 points)
  3. The document shares the director (3 points)
  4. The document is of the same genre and shares an actor (2 points)
  5. The document is of the same genre (1 point)

Then take these 4 movies:


Id: 1
Name: Harry Potter and the Philosopher’s Stone
Genre: Adventure
Director: Chris Columbus
Actors: Daniel Radcliffe, Rupert Grint, Emma Watson


Id: 2
Name: My Week with Marilyn
Genre: Drama
Director: Simon Curtis
Actors: Michelle Williams, Eddie Redmayne, Emma Watson


Id: 3
Name: Percy Jackson & the Olympians: The Lightning Thief
Genre: Adventure
Directory: Chris Columbus
Actors: Logan Lerman, Brandon T. Jackson, Alexandra Daddario


Id: 4
Name: Harry Potter and the Chamber of Secrets
Genre: Adventure
Director: Chris Columbus
Actors: Daniel Radcliffe, Rupert Grint, Emma Watson


I want to query the SOLR as such: Return me a list of relevant movies based on movie id==4

The returned result should be:

  1. Id: 1, points: 14 (matches all 5 conditions)
  2. Id: 3, points: 4 (matches condition 3 and 5)
  3. Id: 2, points: 0 (matches 0 conditions)

Is there anyway to do this directly within SOLR?

As always thanks in advance 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T06:19:07+00:00Added an answer on May 28, 2026 at 6:19 am

    You can return weighted results with the DisMax Query Parser, it’s called boosting. You can give varying weights to the columns in your document by using a Query Filter like in the following example. You’ll have to modify it to come up with your own formula, but you should be able to get close. Start with tweaking the numbers in the boost, but you might end up doing some more advanced Function Queries

    From your example where you want to find documents that match #4

    ?q=Genre:’Adventure’ Director:’Chris Columnbus’ Actors:(‘Daniel Radcliffe’ ‘Rupert Grint’ ‘Emma Watson’)&qf=Director^2.0+Actor^1.5+Genre^1.0&fl=*,score

        //Get everything that matches #4
        ?q=Genre:'Adventure' Director:'Chris Columnbus' Actors:('Daniel Radcliffe' 'Rupert Grint' 'Emma Watson')
    
        //use dismax
        &defType=dismax
    
        //boost some fields with a "query filter"
        //this will make a match on director worth the most
        //each actor will be worth a little bit less, but 2+ actors will be more
        //all matches will be added together to create a score similar to your example
        &qf=Director^2.0+Actor^1.5+Genre^1.0
    
        //Make sure you can see the score for debugging
        &fl=*,score
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a problem formulating a MySQL query to do the following task, although
For the following pretty straightforward task: query a list of products from a DB
I have the following task, which because of the combination of DestinationFiles and DestionationFolder
I have the following task in my MSBuild script: <Target Name=ZipStates> <Message Text=CREATING ZIP
I have the following beans Task, ServerDetails and ApplicationDetails. I wish to retrieve all
I am novice in sharepoint programming. I have a following code: SPWorkflowTask task =
i have the following code to disable task manager of windows xp but it
Let's say I have the following class hierarchy: TaskViewer inherits from ListViewer<Task> which in
We currently have an ant task that contains something similar to the following: <filelist
I have an ObservableCollection of Task objects. Each Task has the following properties: AssignedTo

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.