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 پاسخ 138 بازدید
+1 امتیاز
1 پاسخ 440 بازدید
0 امتیاز
1 پاسخ 295 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 376 بازدید
0 امتیاز
1 پاسخ 352 بازدید
0 امتیاز
1 پاسخ 178 بازدید
0 امتیاز
1 پاسخ 252 بازدید
0 امتیاز
0 پاسخ 399 بازدید
0 امتیاز
0 پاسخ 244 بازدید
...