Nasz SOLR ma indeks około 20000 produktów. Model danych dla tych produktów jest prosty jak poniżej.
{name: "Foo", sales: 120, price: 20, desc: "lorem ipsum"}
To, co próbuję zrobić, to zamiast używać domyślnej kolejności sortowania score desc
za pomocą niestandardowej funkcji, takiej jak
sales x score
gdzie wynikiem jest wynik trafności SOLR. Próbowałem zmienić parametry sortowania na sort=product(sales, score)
który nie działa, ponieważ score jest pseudolistą, a nie atrybutem indeksowanym.
Czy istnieje funkcja, której można użyć, aby odwoływać się do pola „score” w SOLR? (używam SOLR 3.x)
Odpowiedzi:
0 dla odpowiedzi № 1Użyj boost
parametr dostępny w EDisMax - pomnoży podbicie bezpośrednio do wyniku (zamiast dodawać jak bf
jest). EDisMax jest dostępny z Solr 3.1.
W razie potrzeby możesz Użyj field
funkcjonować aby zwrócić wartość z pola z funkcją.