ฉันกำลังพยายามเรียกใช้การค้นหา Search API โดยทางโปรแกรมบนดัชนี Solr ของฉัน
ปัญหาคือแบบสอบถามมีราคาค่อนข้างแพง ดังนั้นฉันจึงพยายามลดต้นทุนโดยการกรองฟิลด์เฉพาะ ใน Solr ฉันจะทำสิ่งนี้ผ่านพารามิเตอร์รายการฟิลด์เช่น "fl=ชื่อ,นามสกุล" แต่ฉันไม่แน่ใจว่าจะทำอย่างไรผ่าน Search API Search
ฉันได้ลองตั้งค่าโหมดแยกวิเคราะห์เป็น direct เช่นกัน แต่ฉันเพิ่งได้รับข้อผิดพลาดที่ระบุว่า "เกิดข้อผิดพลาดขณะพยายามค้นหาด้วย Solr: โหมดแยกวิเคราะห์โดยตรงต้องใช้ฟิลด์" ฉันยังลองใช้ setFulltextFields แต่ดูเหมือนจะไม่ทำงานเช่นกัน
ฉันได้รวมรหัสของฉันไว้ด้านล่าง ความช่วยเหลือใด ๆ เกี่ยวกับสิ่งนี้จะได้รับการชื่นชมอย่างมาก
$index = \Drupal\search_api\Entity\Index::load('my_index');
$query = $index->query();
$parse_mode = \Drupal::service('plugin.manager.search_api.parse_mode')
->createInstance('โดยตรง');
$parse_mode->setConjunction('และ');
$query->setParseMode($parse_mode);
$query->keys('ชื่อและนามสกุล');
$query->range(0, 2000);
$query->addTag('custom_search');
$results = $query->execute();