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 پاسخ 247 بازدید
+1 امتیاز
1 پاسخ 646 بازدید
0 امتیاز
1 پاسخ 475 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 522 بازدید
0 امتیاز
1 پاسخ 482 بازدید
0 امتیاز
1 پاسخ 312 بازدید
0 امتیاز
1 پاسخ 403 بازدید
0 امتیاز
0 پاسخ 559 بازدید
0 امتیاز
0 پاسخ 420 بازدید
...