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 پاسخ 241 بازدید
+1 امتیاز
1 پاسخ 636 بازدید
0 امتیاز
1 پاسخ 463 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 513 بازدید
0 امتیاز
1 پاسخ 472 بازدید
0 امتیاز
1 پاسخ 304 بازدید
0 امتیاز
1 پاسخ 395 بازدید
0 امتیاز
0 پاسخ 554 بازدید
0 امتیاز
0 پاسخ 412 بازدید
...