[{"data":1,"prerenderedAt":1081},["ShallowReactive",2],{"navigation":3,"\u002F2.x\u002Fdigging-deeper\u002Ffull-text-search":307,"\u002F2.x\u002Fdigging-deeper\u002Ffull-text-search-surround":1076},{"3.x":4,"2.x":203},[5,32,61,99,121,147,165],{"title":6,"icon":7,"path":8,"stem":9,"children":10,"page":31},"Getting Started","i-heroicons-star","\u002Fgetting-started","1.getting-started",[11,15,19,23,27],{"title":12,"path":13,"stem":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":16,"path":17,"stem":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":20,"path":21,"stem":22},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":24,"path":25,"stem":26},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration",{"title":28,"path":29,"stem":30},"Upgrade guide","\u002Fgetting-started\u002Fupgrade-guide","1.getting-started\u002F5.upgrade-guide",false,{"title":33,"icon":34,"path":35,"stem":36,"children":37,"page":31},"Resources","i-heroicons-document-text","\u002Fresources","2.resources",[38,41,45,49,53,57],{"title":33,"path":39,"stem":40},"\u002Fresources\u002Fresources","2.resources\u002F1.resources",{"title":42,"path":43,"stem":44},"Fields","\u002Fresources\u002Ffields","2.resources\u002F2.fields",{"title":46,"path":47,"stem":48},"Relationships","\u002Fresources\u002Frelations","2.resources\u002F3.relations",{"title":50,"path":51,"stem":52},"Validation","\u002Fresources\u002Fvalidation","2.resources\u002F4.validation",{"title":54,"path":55,"stem":56},"Perimeter","\u002Fresources\u002Fperimeter","2.resources\u002F5.perimeter",{"title":58,"path":59,"stem":60},"Limits","\u002Fresources\u002Flimits","2.resources\u002F6.limits",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":31},"Search","i-heroicons-magnifying-glass","\u002Fsearch","3.search",[67,71,75,79,83,87,91,95],{"title":68,"path":69,"stem":70},"Search overview","\u002Fsearch\u002Foverview","3.search\u002F1.overview",{"title":72,"path":73,"stem":74},"Search filters","\u002Fsearch\u002Ffilters","3.search\u002F2.filters",{"title":76,"path":77,"stem":78},"Sorts and selects","\u002Fsearch\u002Fsorts-and-selects","3.search\u002F3.sorts-and-selects",{"title":80,"path":81,"stem":82},"Includes and aggregates","\u002Fsearch\u002Fincludes-and-aggregates","3.search\u002F4.includes-and-aggregates",{"title":84,"path":85,"stem":86},"Scopes and instructions","\u002Fsearch\u002Fscopes-and-instructions","3.search\u002F5.scopes-and-instructions",{"title":88,"path":89,"stem":90},"Text search","\u002Fsearch\u002Ftext-search","3.search\u002F6.text-search",{"title":92,"path":93,"stem":94},"Search engines","\u002Fsearch\u002Fsearch-engines","3.search\u002F7.search-engines",{"title":96,"path":97,"stem":98},"Searching outside HTTP","\u002Fsearch\u002Foutside-http","3.search\u002F8.outside-http",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":31},"Writing","i-heroicons-pencil-square","\u002Fwriting","4.writing",[105,109,113,117],{"title":106,"path":107,"stem":108},"Mutate","\u002Fwriting\u002Fmutate","4.writing\u002F1.mutate",{"title":110,"path":111,"stem":112},"Writing relations","\u002Fwriting\u002Frelations","4.writing\u002F2.relations",{"title":114,"path":115,"stem":116},"Versioned rows","\u002Fwriting\u002Fversioned-rows","4.writing\u002F3.versioned-rows",{"title":118,"path":119,"stem":120},"Deleting and restoring","\u002Fwriting\u002Fdeleting","4.writing\u002F4.deleting",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":31},"Actions and Metrics","i-heroicons-bolt","\u002Factions-and-metrics","5.actions-and-metrics",[127,131,135,139,143],{"title":128,"path":129,"stem":130},"Actions","\u002Factions-and-metrics\u002Factions","5.actions-and-metrics\u002F1.actions",{"title":132,"path":133,"stem":134},"Queued Actions","\u002Factions-and-metrics\u002Fqueued-actions","5.actions-and-metrics\u002F2.queued-actions",{"title":136,"path":137,"stem":138},"Confirmation","\u002Factions-and-metrics\u002Fconfirmation","5.actions-and-metrics\u002F3.confirmation",{"title":140,"path":141,"stem":142},"Metrics","\u002Factions-and-metrics\u002Fmetrics","5.actions-and-metrics\u002F4.metrics",{"title":144,"path":145,"stem":146},"Exports","\u002Factions-and-metrics\u002Fexports","5.actions-and-metrics\u002F5.exports",{"title":148,"icon":149,"path":150,"stem":151,"children":152,"page":31},"Authorization","i-heroicons-lock-closed","\u002Fauthorization","6.authorization",[153,157,161],{"title":154,"path":155,"stem":156},"Policies","\u002Fauthorization\u002Fpolicies","6.authorization\u002F1.policies",{"title":158,"path":159,"stem":160},"Gates","\u002Fauthorization\u002Fgates","6.authorization\u002F2.gates",{"title":162,"path":163,"stem":164},"Decision Cache","\u002Fauthorization\u002Fdecision-cache","6.authorization\u002F3.decision-cache",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":31},"Digging Deeper","i-heroicons-list-bullet","\u002Fdigging-deeper","7.digging-deeper",[171,175,179,183,187,191,195,199],{"title":172,"path":173,"stem":174},"Details","\u002Fdigging-deeper\u002Fdetails","7.digging-deeper\u002F1.details",{"title":176,"path":177,"stem":178},"Events and Hooks","\u002Fdigging-deeper\u002Fevents-and-hooks","7.digging-deeper\u002F2.events-and-hooks",{"title":180,"path":181,"stem":182},"Custom Responses","\u002Fdigging-deeper\u002Fresponses","7.digging-deeper\u002F3.responses",{"title":184,"path":185,"stem":186},"OpenAPI Documentation","\u002Fdigging-deeper\u002Fopenapi","7.digging-deeper\u002F4.openapi",{"title":188,"path":189,"stem":190},"Precognition","\u002Fdigging-deeper\u002Fprecognition","7.digging-deeper\u002F5.precognition",{"title":192,"path":193,"stem":194},"Artisan Commands","\u002Fdigging-deeper\u002Fartisan","7.digging-deeper\u002F6.artisan",{"title":196,"path":197,"stem":198},"Laravel Boost Skill","\u002Fdigging-deeper\u002Fai-skill","7.digging-deeper\u002F7.ai-skill",{"title":200,"path":201,"stem":202},"Translations","\u002Fdigging-deeper\u002Ftranslations","7.digging-deeper\u002F8.translations",[204,215,237,260,297],{"title":6,"icon":7,"path":205,"stem":206,"children":207,"page":31},"\u002F2.x\u002Fgetting-started","2.x\u002F1.getting-started",[208,211],{"title":16,"path":209,"stem":210},"\u002F2.x\u002Fgetting-started\u002Finstallation","2.x\u002F1.getting-started\u002F1.installation",{"title":212,"path":213,"stem":214},"Upgrade Guide","\u002F2.x\u002Fgetting-started\u002Fupgrade-guide","2.x\u002F1.getting-started\u002F2.upgrade-guide",{"title":216,"icon":217,"path":218,"stem":219,"children":220,"page":31},"Endpoints","i-heroicons-arrow-uturn-left","\u002F2.x\u002Fendpoints","2.x\u002F2.endpoints",[221,224,227,230,233],{"title":172,"path":222,"stem":223},"\u002F2.x\u002Fendpoints\u002Fdetails","2.x\u002F2.endpoints\u002F1.details",{"title":62,"path":225,"stem":226},"\u002F2.x\u002Fendpoints\u002Fsearch","2.x\u002F2.endpoints\u002F2.search",{"title":106,"path":228,"stem":229},"\u002F2.x\u002Fendpoints\u002Fmutate","2.x\u002F2.endpoints\u002F3.mutate",{"title":128,"path":231,"stem":232},"\u002F2.x\u002Fendpoints\u002Factions","2.x\u002F2.endpoints\u002F4.actions",{"title":234,"path":235,"stem":236},"Delete","\u002F2.x\u002Fendpoints\u002Fdelete","2.x\u002F2.endpoints\u002F5.delete",{"title":33,"icon":34,"path":238,"stem":239,"children":240,"page":31},"\u002F2.x\u002Fresources","2.x\u002F3.resources",[241,245,249,252,256],{"title":242,"path":243,"stem":244},"Basics","\u002F2.x\u002Fresources\u002Fbasics","2.x\u002F3.resources\u002F1.basics",{"title":246,"path":247,"stem":248},"Exposed Data","\u002F2.x\u002Fresources\u002Fexposed-data","2.x\u002F3.resources\u002F2.exposed-data",{"title":46,"path":250,"stem":251},"\u002F2.x\u002Fresources\u002Frelationships","2.x\u002F3.resources\u002F3.relationships",{"title":253,"path":254,"stem":255},"Validations","\u002F2.x\u002Fresources\u002Fvalidations","2.x\u002F3.resources\u002F4.validations",{"title":257,"path":258,"stem":259},"Interactions","\u002F2.x\u002Fresources\u002Finteractions","2.x\u002F3.resources\u002F5.interactions",{"title":166,"icon":167,"path":261,"stem":262,"children":263,"page":31},"\u002F2.x\u002Fdigging-deeper","2.x\u002F4.digging-deeper",[264,267,271,274,278,282,286,290,294],{"title":128,"path":265,"stem":266},"\u002F2.x\u002Fdigging-deeper\u002Factions","2.x\u002F4.digging-deeper\u002F1.actions",{"title":268,"path":269,"stem":270},"Hooks","\u002F2.x\u002Fdigging-deeper\u002Fhooks","2.x\u002F4.digging-deeper\u002F2.hooks",{"title":158,"path":272,"stem":273},"\u002F2.x\u002Fdigging-deeper\u002Fgates","2.x\u002F4.digging-deeper\u002F3.gates",{"title":275,"path":276,"stem":277},"Authorizations","\u002F2.x\u002Fdigging-deeper\u002Fauthorizations","2.x\u002F4.digging-deeper\u002F4.authorizations",{"title":279,"path":280,"stem":281},"Full Text Search","\u002F2.x\u002Fdigging-deeper\u002Ffull-text-search","2.x\u002F4.digging-deeper\u002F5.full-text-search",{"title":283,"path":284,"stem":285},"Instructions","\u002F2.x\u002Fdigging-deeper\u002Finstructions","2.x\u002F4.digging-deeper\u002F6.instructions",{"title":287,"path":288,"stem":289},"Responses","\u002F2.x\u002Fdigging-deeper\u002Fresponses","2.x\u002F4.digging-deeper\u002F7.responses",{"title":291,"path":292,"stem":293},"Documentation","\u002F2.x\u002Fdigging-deeper\u002Fdocumentation","2.x\u002F4.digging-deeper\u002F8.documentation",{"title":188,"path":295,"stem":296},"\u002F2.x\u002Fdigging-deeper\u002Fprecognition","2.x\u002F4.digging-deeper\u002F9.precognition",{"title":298,"icon":299,"path":300,"stem":301,"children":302,"page":31},"Integrations","i-lucide-puzzle","\u002F2.x\u002Fintegrations","2.x\u002F5.integrations",[303],{"title":304,"path":305,"stem":306},"Flutter","\u002F2.x\u002Fintegrations\u002Fflutter","2.x\u002F5.integrations\u002F1.flutter",{"id":308,"title":279,"body":309,"description":1069,"extension":1070,"links":1071,"meta":1072,"navigation":1073,"path":280,"seo":1074,"stem":281,"__hash__":1075},"docs2x\u002F2.x\u002F4.digging-deeper\u002F5.full-text-search.md",{"type":310,"value":311,"toc":1060},"minimark",[312,325,341,348,353,360,501,505,510,517,713,716,723,726,822,824,831,930,933,936,1056],[313,314,315],"warning",{},[316,317,318,319],"p",{},"Be sure you have installed Laravel Scout before going further: ",[320,321,322],"a",{"href":322,"rel":323},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Fscout",[324],"nofollow",[316,326,327,328,332,333,336,337,340],{},"To be more specific about how it works, Laravel Rest Api will implement a Scout Builder and apply to it the ",[329,330,331],"code",{},"filters",", ",[329,334,335],{},"sorts"," and ",[329,338,339],{},"instructions",". After this, it will pass other parameters to the query callback of the Laravel Scout Builder. This allows you to eager load data \u002F aggregates for example.",[316,342,343,344],{},"Be aware that using full text search disable features listed ",[320,345,347],{"href":346},"\u002F2.x\u002Fendpoints\u002Fsearch#text","here",[349,350,352],"h2",{"id":351},"model","Model",[316,354,355,356,359],{},"Full text search is only implemented on models that are ",[329,357,358],{},"Searchable"," as given in the Laravel Scout documentation:",[361,362,367],"pre",{"className":363,"code":364,"language":365,"meta":366,"style":366},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C?php\n \nnamespace App\\Models;\n \nuse Illuminate\\Database\\Eloquent\\Model;\nuse Laravel\\Scout\\Searchable;\n \nclass Post extends Model\n{\n    use Searchable;\n}\n","php","",[329,368,369,382,388,408,413,438,457,462,478,484,495],{"__ignoreMap":366},[370,371,374,378],"span",{"class":372,"line":373},"line",1,[370,375,377],{"class":376},"sMK4o","\u003C?",[370,379,381],{"class":380},"sTEyZ","php\n",[370,383,385],{"class":372,"line":384},2,[370,386,387],{"class":380}," \n",[370,389,391,395,399,402,405],{"class":372,"line":390},3,[370,392,394],{"class":393},"sbssI","namespace",[370,396,398],{"class":397},"sBMFI"," App",[370,400,401],{"class":376},"\\",[370,403,404],{"class":397},"Models",[370,406,407],{"class":376},";\n",[370,409,411],{"class":372,"line":410},4,[370,412,387],{"class":380},[370,414,416,419,422,424,427,429,432,434,436],{"class":372,"line":415},5,[370,417,418],{"class":393},"use",[370,420,421],{"class":380}," Illuminate",[370,423,401],{"class":376},[370,425,426],{"class":380},"Database",[370,428,401],{"class":376},[370,430,431],{"class":380},"Eloquent",[370,433,401],{"class":376},[370,435,352],{"class":380},[370,437,407],{"class":376},[370,439,441,443,446,448,451,453,455],{"class":372,"line":440},6,[370,442,418],{"class":393},[370,444,445],{"class":380}," Laravel",[370,447,401],{"class":376},[370,449,450],{"class":380},"Scout",[370,452,401],{"class":376},[370,454,358],{"class":380},[370,456,407],{"class":376},[370,458,460],{"class":372,"line":459},7,[370,461,387],{"class":380},[370,463,465,469,472,475],{"class":372,"line":464},8,[370,466,468],{"class":467},"spNyl","class",[370,470,471],{"class":397}," Post",[370,473,474],{"class":467}," extends",[370,476,477],{"class":397}," Model\n",[370,479,481],{"class":372,"line":480},9,[370,482,483],{"class":376},"{\n",[370,485,487,490,493],{"class":372,"line":486},10,[370,488,489],{"class":393},"    use",[370,491,492],{"class":380}," Searchable",[370,494,407],{"class":376},[370,496,498],{"class":372,"line":497},11,[370,499,500],{"class":376},"}\n",[349,502,504],{"id":503},"resource","Resource",[506,507,509],"h3",{"id":508},"query","Query",[316,511,512,513,516],{},"Because the builder isn't the same than the search query, you should implement the ",[329,514,515],{},"searchScoutQuery"," to filter the data you want the user has access to:",[361,518,521],{"className":363,"code":519,"filename":520,"language":365,"meta":366,"style":366},"\u002F**\n * Build a \"search\" scout query for fetching resource.\n *\n * @param \\Lomkit\\Rest\\Http\\Requests\\RestRequest $request\n * @param \\Laravel\\Scout\\Builder                 $query\n *\n * @return \\Laravel\\Scout\\Builder\n *\u002F\npublic function searchScoutQuery(\\Lomkit\\Rest\\Http\\Requests\\RestRequest $request, \\Laravel\\Scout\\Builder $query)\n{\n    return $query;\n}\n","UserResource.php",[329,522,523,529,534,539,580,603,607,627,632,693,697,708],{"__ignoreMap":366},[370,524,525],{"class":372,"line":373},[370,526,528],{"class":527},"sHwdD","\u002F**\n",[370,530,531],{"class":372,"line":384},[370,532,533],{"class":527}," * Build a \"search\" scout query for fetching resource.\n",[370,535,536],{"class":372,"line":390},[370,537,538],{"class":527}," *\n",[370,540,541,544,548,552,556,558,561,563,566,568,571,573,577],{"class":372,"line":410},[370,542,543],{"class":527}," * ",[370,545,547],{"class":546},"svl4J","@param",[370,549,551],{"class":550},"s7zQu"," \\",[370,553,555],{"class":554},"sHdIc","Lomkit",[370,557,401],{"class":550},[370,559,560],{"class":554},"Rest",[370,562,401],{"class":550},[370,564,565],{"class":554},"Http",[370,567,401],{"class":550},[370,569,570],{"class":554},"Requests",[370,572,401],{"class":550},[370,574,576],{"class":575},"sFweD","RestRequest",[370,578,579],{"class":527}," $request\n",[370,581,582,584,586,588,591,593,595,597,600],{"class":372,"line":415},[370,583,543],{"class":527},[370,585,547],{"class":546},[370,587,551],{"class":550},[370,589,590],{"class":554},"Laravel",[370,592,401],{"class":550},[370,594,450],{"class":554},[370,596,401],{"class":550},[370,598,599],{"class":575},"Builder",[370,601,602],{"class":527},"                 $query\n",[370,604,605],{"class":372,"line":440},[370,606,538],{"class":527},[370,608,609,611,614,616,618,620,622,624],{"class":372,"line":459},[370,610,543],{"class":527},[370,612,613],{"class":546},"@return",[370,615,551],{"class":550},[370,617,590],{"class":554},[370,619,401],{"class":550},[370,621,450],{"class":554},[370,623,401],{"class":550},[370,625,626],{"class":575},"Builder\n",[370,628,629],{"class":372,"line":464},[370,630,631],{"class":527}," *\u002F\n",[370,633,634,637,640,644,647,649,651,653,655,657,659,661,663,665,668,671,674,676,678,680,682,684,686,688,690],{"class":372,"line":480},[370,635,636],{"class":467},"public",[370,638,639],{"class":467}," function",[370,641,643],{"class":642},"s2Zo4"," searchScoutQuery",[370,645,646],{"class":376},"(\\",[370,648,555],{"class":380},[370,650,401],{"class":376},[370,652,560],{"class":380},[370,654,401],{"class":376},[370,656,565],{"class":380},[370,658,401],{"class":376},[370,660,570],{"class":380},[370,662,401],{"class":376},[370,664,576],{"class":397},[370,666,667],{"class":376}," $",[370,669,670],{"class":380},"request",[370,672,673],{"class":376},",",[370,675,551],{"class":376},[370,677,590],{"class":380},[370,679,401],{"class":376},[370,681,450],{"class":380},[370,683,401],{"class":376},[370,685,599],{"class":397},[370,687,667],{"class":376},[370,689,508],{"class":380},[370,691,692],{"class":376},")\n",[370,694,695],{"class":372,"line":486},[370,696,483],{"class":376},[370,698,699,702,704,706],{"class":372,"line":497},[370,700,701],{"class":550},"    return",[370,703,667],{"class":376},[370,705,508],{"class":380},[370,707,407],{"class":376},[370,709,711],{"class":372,"line":710},12,[370,712,500],{"class":376},[506,714,42],{"id":715},"fields",[316,717,718,719,722],{},"Also since you are able to totally change the fields or even create new one with scout. Laravel Rest Api defines a ",[329,720,721],{},"scoutFields"," methods which is use to validate front-end field for full-text search.",[316,724,725],{},"This fields will be used to validate sorts and filters fields.",[361,727,729],{"className":363,"code":728,"filename":520,"language":365,"meta":366,"style":366},"\u002F**\n * The scout fields that could be provided.\n *\n * @param RestRequest $request\n *\n * @return array\n *\u002F\npublic function scoutFields(RestRequest $request): array\n{\n    return ['id'];\n}\n",[329,730,731,735,740,744,755,759,768,772,795,799,818],{"__ignoreMap":366},[370,732,733],{"class":372,"line":373},[370,734,528],{"class":527},[370,736,737],{"class":372,"line":384},[370,738,739],{"class":527}," * The scout fields that could be provided.\n",[370,741,742],{"class":372,"line":390},[370,743,538],{"class":527},[370,745,746,748,750,753],{"class":372,"line":410},[370,747,543],{"class":527},[370,749,547],{"class":546},[370,751,752],{"class":575}," RestRequest",[370,754,579],{"class":527},[370,756,757],{"class":372,"line":415},[370,758,538],{"class":527},[370,760,761,763,765],{"class":372,"line":440},[370,762,543],{"class":527},[370,764,613],{"class":546},[370,766,767],{"class":546}," array\n",[370,769,770],{"class":372,"line":459},[370,771,631],{"class":527},[370,773,774,776,778,781,784,786,788,790,793],{"class":372,"line":464},[370,775,636],{"class":467},[370,777,639],{"class":467},[370,779,780],{"class":642}," scoutFields",[370,782,783],{"class":376},"(",[370,785,576],{"class":397},[370,787,667],{"class":376},[370,789,670],{"class":380},[370,791,792],{"class":376},"):",[370,794,767],{"class":393},[370,796,797],{"class":372,"line":480},[370,798,483],{"class":376},[370,800,801,803,806,809,813,815],{"class":372,"line":486},[370,802,701],{"class":550},[370,804,805],{"class":376}," [",[370,807,808],{"class":376},"'",[370,810,812],{"class":811},"sfazB","id",[370,814,808],{"class":376},[370,816,817],{"class":376},"];\n",[370,819,820],{"class":372,"line":497},[370,821,500],{"class":376},[506,823,283],{"id":339},[316,825,826,827,830],{},"In order to give you full control over the scout exposed instructions since the handle is not the same method, you have a new ",[329,828,829],{},"scoutInstructions"," method in your resource:",[361,832,834],{"className":363,"code":833,"filename":520,"language":365,"meta":366,"style":366},"\u002F**\n * The scout fields that could be provided.\n *\n * @param RestRequest $request\n *\n * @return array\n *\u002F\npublic function scoutInstructions(RestRequest $request): array\n{\n    return [\n        NumberedInstruction::make()\n    ];\n}\n",[329,835,836,840,844,848,858,862,870,874,895,899,906,920,925],{"__ignoreMap":366},[370,837,838],{"class":372,"line":373},[370,839,528],{"class":527},[370,841,842],{"class":372,"line":384},[370,843,739],{"class":527},[370,845,846],{"class":372,"line":390},[370,847,538],{"class":527},[370,849,850,852,854,856],{"class":372,"line":410},[370,851,543],{"class":527},[370,853,547],{"class":546},[370,855,752],{"class":575},[370,857,579],{"class":527},[370,859,860],{"class":372,"line":415},[370,861,538],{"class":527},[370,863,864,866,868],{"class":372,"line":440},[370,865,543],{"class":527},[370,867,613],{"class":546},[370,869,767],{"class":546},[370,871,872],{"class":372,"line":459},[370,873,631],{"class":527},[370,875,876,878,880,883,885,887,889,891,893],{"class":372,"line":464},[370,877,636],{"class":467},[370,879,639],{"class":467},[370,881,882],{"class":642}," scoutInstructions",[370,884,783],{"class":376},[370,886,576],{"class":397},[370,888,667],{"class":376},[370,890,670],{"class":380},[370,892,792],{"class":376},[370,894,767],{"class":393},[370,896,897],{"class":372,"line":480},[370,898,483],{"class":376},[370,900,901,903],{"class":372,"line":486},[370,902,701],{"class":550},[370,904,905],{"class":376}," [\n",[370,907,908,911,914,917],{"class":372,"line":497},[370,909,910],{"class":397},"        NumberedInstruction",[370,912,913],{"class":376},"::",[370,915,916],{"class":642},"make",[370,918,919],{"class":376},"()\n",[370,921,922],{"class":372,"line":710},[370,923,924],{"class":376},"    ];\n",[370,926,928],{"class":372,"line":927},13,[370,929,500],{"class":376},[349,931,283],{"id":932},"instructions-1",[316,934,935],{},"For instruction since the queries are not the same you might want to customize the scout part for instructions:",[361,937,940],{"className":363,"code":938,"filename":939,"language":365,"meta":366,"style":366},"\u002F**\n * Perform the instruction on the scout query.\n *\n * @param array                  $fields\n * @param \\Laravel\\Scout\\Builder $query\n *\n * @return void\n *\u002F\npublic function handleScout(array $fields, \\Laravel\\Scout\\Builder $query)\n{\n    \u002F\u002F do something ...\n}\n","MyInstruction.php",[329,941,942,946,951,955,967,988,992,1001,1005,1043,1047,1052],{"__ignoreMap":366},[370,943,944],{"class":372,"line":373},[370,945,528],{"class":527},[370,947,948],{"class":372,"line":384},[370,949,950],{"class":527}," * Perform the instruction on the scout query.\n",[370,952,953],{"class":372,"line":390},[370,954,538],{"class":527},[370,956,957,959,961,964],{"class":372,"line":410},[370,958,543],{"class":527},[370,960,547],{"class":546},[370,962,963],{"class":546}," array",[370,965,966],{"class":527},"                  $fields\n",[370,968,969,971,973,975,977,979,981,983,985],{"class":372,"line":415},[370,970,543],{"class":527},[370,972,547],{"class":546},[370,974,551],{"class":550},[370,976,590],{"class":554},[370,978,401],{"class":550},[370,980,450],{"class":554},[370,982,401],{"class":550},[370,984,599],{"class":575},[370,986,987],{"class":527}," $query\n",[370,989,990],{"class":372,"line":440},[370,991,538],{"class":527},[370,993,994,996,998],{"class":372,"line":459},[370,995,543],{"class":527},[370,997,613],{"class":546},[370,999,1000],{"class":546}," void\n",[370,1002,1003],{"class":372,"line":464},[370,1004,631],{"class":527},[370,1006,1007,1009,1011,1014,1016,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041],{"class":372,"line":480},[370,1008,636],{"class":467},[370,1010,639],{"class":467},[370,1012,1013],{"class":642}," handleScout",[370,1015,783],{"class":376},[370,1017,1018],{"class":393},"array",[370,1020,667],{"class":376},[370,1022,715],{"class":380},[370,1024,673],{"class":376},[370,1026,551],{"class":376},[370,1028,590],{"class":380},[370,1030,401],{"class":376},[370,1032,450],{"class":380},[370,1034,401],{"class":376},[370,1036,599],{"class":397},[370,1038,667],{"class":376},[370,1040,508],{"class":380},[370,1042,692],{"class":376},[370,1044,1045],{"class":372,"line":486},[370,1046,483],{"class":376},[370,1048,1049],{"class":372,"line":497},[370,1050,1051],{"class":527},"    \u002F\u002F do something ...\n",[370,1053,1054],{"class":372,"line":710},[370,1055,500],{"class":376},[1057,1058,1059],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .svl4J, html code.shiki .svl4J{--shiki-light:#F76D47;--shiki-light-font-style:italic;--shiki-default:#F78C6C;--shiki-default-font-style:italic;--shiki-dark:#F78C6C;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sFweD, html code.shiki .sFweD{--shiki-light:#E2931D;--shiki-light-font-style:italic;--shiki-default:#FFCB6B;--shiki-default-font-style:italic;--shiki-dark:#FFCB6B;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":366,"searchDepth":373,"depth":384,"links":1061},[1062,1063,1068],{"id":351,"depth":384,"text":352},{"id":503,"depth":384,"text":504,"children":1064},[1065,1066,1067],{"id":508,"depth":390,"text":509},{"id":715,"depth":390,"text":42},{"id":339,"depth":390,"text":283},{"id":932,"depth":384,"text":283},"Laravel Rest Api fully integrates with Laravel Scout, discover how you can implement this in a few steps.","md",null,{},true,{"description":1069},"qlV-YgezHhwf4AXHiNu5dXutPyc70eI5zZl8yK3SWxA",[1077,1079],{"title":275,"path":276,"stem":277,"description":1078,"children":-1},"Laravel Rest Api exposes a lot of information and it is crucial for your applications to secure the access to resources. Thankfully, Laravel Rest Api seamlessly integrates with Laravel, ensuring a straightforward approach to securing your API.",{"title":283,"path":284,"stem":285,"description":1080,"children":-1},"Instructions are a way to provide customization to your search requests fully depending on your needs. They give you full access to the query.",1794181353640]