0 امتیاز
قبل در برنامه نویسی توسط (170 امتیاز)
ویرایش شده قبل توسط

به عنوان مثال در query های multi_match

زمانی که یک متن را میخواهم روی چند فیلد جستجو کنم، چطور می توانم تعیین کنم که هر فیلد ارزش بیشتر و اولویت بیشتری دارد؟

                    {
                        "multi_match": {
                            "fields": ["title", "summery", "author"],
                            "query": "یکتا"
                             "operator": "or",
                            "minimum_should_match": "30%" 
                        }
                    }

1 پاسخ

+1 امتیاز
قبل توسط (170 امتیاز)

می توان از boost query خود elasticsearch  استفاده کرد.

وقتی query  به صورت آرایه ای از فیلد ها باشند میتوان با عدد دهی به هر فیلد ارزش گزاری کرد. 

مثلا:

{
    "multi_match": {
        "fields": ["title^2", "summery", "author"],
        "query": "یکتا"
         "operator": "or",
        "minimum_should_match": "30%"
    }
}

در اینجا یعنی title دو برابر بقیه فیلد ها اولویت دارد.

سوالات مشابه

+1 امتیاز
0 پاسخ 140 بازدید
+1 امتیاز
1 پاسخ 445 بازدید
0 امتیاز
1 پاسخ 301 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 380 بازدید
0 امتیاز
1 پاسخ 357 بازدید
0 امتیاز
1 پاسخ 183 بازدید
0 امتیاز
1 پاسخ 255 بازدید
0 امتیاز
0 پاسخ 409 بازدید
0 امتیاز
0 پاسخ 250 بازدید
...