0
我在我的食物搜索和食物表中使用全文索引記錄是多語言的,所以我搜索「jamón」(西班牙語言)食物,但它的搜索列表的末尾,而不是首先顯示,並顯示其他英語(火腿食品)食品中名列榜首我怎麼能先搜索精確的匹配,那麼其他沒有參加搜索查詢太多時間 我這樣的代碼爲什麼西班牙語單詞在全文索引中搜索不正確與exacet匹配
$food_data = Nutrition::whereRaw("MATCH(brand_with_name) AGAINST (? IN NATURAL LANGUAGE MODE)", [$item])
->with('guNutrition', 'esNutrition')
->limit($per_page)
->offset($off_set)
->get();
我有我的應用程序使用Laravel和Mysql。
我嘗試使用下面的代碼,但它需要太多的時間和不正確的工作(先不顯示完全匹配,然後其他)與西班牙語。只能用英文正常工作
$food_data = Nutrition::whereRaw("MATCH(brand_with_name) AGAINST (? IN NATURAL LANGUAGE MODE)", [$item])
->select('*',\DB::raw('CASE WHEN brand_with_name = "' . $item . '" THEN 1 ELSE 0 END AS score'),\DB::raw('MATCH(brand_with_name) AGAINST ("' . $item . '") AS score2'))
->with('guNutrition', 'esNutrition')
->orderBy('score', 'DESC')
->orderBy('score2', 'DESC')
->limit($per_page)
->offset($off_set)
->get();