Я новичок в Solr и пытаюсь получить результаты из него. Мне нужны результаты, которые точно соответствуют моей фразе, например: «test test1 test2» и любому документу, в котором есть любое из этих ключевых слов, так что это своего рода объединение точного и частичного совпадений.
Я в значительной степени достигаю этого с помощью dismax. Теперь я хочу, чтобы результаты сортировались / улучшались на основе некоторого значения поля, например: cat: A, затем cat: B, затем cat: C. Также я хочу, чтобы эта сортировка применялась сначала к точно сопоставленному результату, а затем к частично сопоставленным результатам.
Индексированные данные:
[
{
"id": "001",
"name": "test test1 test2 Z",
"price": 12.9,
"cat": "A"
},
{
"id": "002",
"name": "test test1 test2 X",
"price": 91.5,
"cat": "B"
},
{
"id": "003",
"name": "test test1 test2 R",
"price": 45.5,
"cat": "C"
},
{
"id": "004",
"name": "test test1 test2 C",
"price": 78.67,
"cat": "B"
},
{
"id": "005",
"name": "data",
"price": 91.5,
"cat": "A"
},
{
"id": "008",
"name": "test test1 test2 D",
"price": 45.09,
"cat": "A"
},
{
"id": "009",
"name": "test test1 test2 B",
"price": 34.09,
"cat": "B"
},
{
"id": "010",
"name": "test test1 test2 A",
"price": 39.19,
"cat": "C"
},
{
"id": "011",
"name": "test this data",
"price": 89.19,
"cat": "A"
},
{
"id": "012",
"name": "this is my data",
"price": 89.19,
"cat": "C"
},
{
"id": "013",
"name": "test1 is this data title",
"price": 89.19,
"cat": "A"
}
]
Пожалуйста, помогите. Спасибо заранее.