If you want to be choosing something manually, you can just query it using df.query. You can play around with the production_year variable, but in your post it seems rather irrelevant.
data = pd.DataFrame({"name" : ['Volvo', 'Volvo', 'Toyota'], "production_year" : [2021, 2012, 2022], 'price' : [50000, 16000, 30000]}) q = data.query("name == 'Volvo'")
Returns :
Volvo, 2021, 50000 Volvo, 2012, 16000
I am unaware whether your data is in text documents or in a table, but it seems like the latter. In that case, you can jump straight to creating a sort of like a recommender system - see https://www.kaggle.com/code/alexanderstefanov/goodreads-search-engine/notebook
In the former case, I would use sentence transformers for semantic search.
from sentence_transformers import SentenceTransformer, util model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1') query_embedding = model.encode('Volvo made in 2012 with a price of 10000') passage_embedding = model.encode(['Volvo made in 2022 with a price of 500000', 'Volvo made in 2010 with a price of 12000', 'Volvo made in 2013 with a price of 13337', 'London is known for manufacturing Volvos']) print("Similarity:", util.dot_score(query_embedding, passage_embedding))
Returns the following probs: 0.9150, 0.9557, 0.9385, 0.6478