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 پاسخ 228 بازدید
+1 امتیاز
1 پاسخ 596 بازدید
0 امتیاز
1 پاسخ 431 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 489 بازدید
0 امتیاز
1 پاسخ 451 بازدید
0 امتیاز
1 پاسخ 284 بازدید
0 امتیاز
1 پاسخ 365 بازدید
0 امتیاز
0 پاسخ 532 بازدید
0 امتیاز
0 پاسخ 390 بازدید
...