Birden çok değere göre elastik arama sırası

0

Soru

Elastic search arama sonuçlarımı (created_at, rate, updated_at..) ancak sonuçları ilgisizleştiriyor. sorgu bölümünü sırala: [['_score' => ['order' => 'desc']],['created_at' => ['order' => 'desc']]]; _score ve created_at etkisine göre sıralama gerçekten düşüktür. Eğer değiştirirsem [['created_at' => ['order' => 'desc']],['_score' => ['order' => 'desc']]]; sonuç tamamen farklı olurdu ve created_at ile sıralanır ve _score'un etkisi gerçekten düşüktür. Ağırlık 1 ile oluşturulan sıralama ve ağırlık 5 ile _score ile sıralama gibi bir şeye ihtiyacım var, böylece sonuçlarım tarihe göre yarı sıralı ve alakalı.

örnek: veri Başlığı,hızı,1 gibi created_at:['destansı mavi tshirt',5,'2021-11-21'] , 2:['kırmızı uzun epik tshirt',4,'2021-11-20'] , 3:['epik beyaz pantolon',5,'2021-11-22'] , 4:['yağışlı hava epix',5,'2021-11-23'] içerir ve arama 'epik tshirt' bu kadar puanı 5,4 örneğin olacak.5,4,1 yani sonuç sipariş 1 sonra 2 sonra 3 ama created_at ile sonuç sipariş 4 sonra 3 sonra 2 sonra 1 ve 4 'epik tshirt oran'olacak araştırmadan sonra sipariş verdiğimde. aklımda olan sonuç 3, sonra 2, sonra 1, sonra 4'tür, bu yüzden sonuçlarım created_at ile ilişkilidir ve sıralanır ( tam olarak sıralanmaz, ancak created_at onlar üzerinde bir etkiye sahiptir ) aynı şey rate ile sipariş verirken de olur.

elasticsearch
2021-11-20 13:43:11
1

En iyi cevabı

0

Bulduğum tek çözüm, min_score'u ayarlamaktır, böylece arama sorgusuyla alakasız olan sonuçlar kaldırılır, ardından sevdiğim alanla sipariş verilir, böylece alakasız bir sonuç olmaz. bu çözümle ilgili tek sorun, arama sorgunuz verilerinize yakın değilse, min_score olmadan yanıt olarak herhangi bir sonucunuz olmayacaksa, alakalı bir sonuç yoksa en azından bazı alakasız sonuçlara sahip olmanızdır.

2021-11-23 10:18:19

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................