[{"data":1,"prerenderedAt":2040},["ShallowReactive",2],{"navigation":3,"\u002Fsearch\u002Ftext-search":307,"\u002Fsearch\u002Ftext-search-surround":2035},{"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":88,"body":309,"description":2028,"extension":2029,"links":2030,"meta":2031,"navigation":492,"path":89,"seo":2032,"sitemap":2033,"stem":90,"__hash__":2034},"docs3x\u002F3.search\u002F6.text-search.md",{"type":310,"value":311,"toc":2012},"minimark",[312,337,740,876,883,888,986,996,1000,1038,1041,1102,1184,1188,1258,1262,1316,1372,1375,1450,1492,1496,1513,1516,1528,1543,1658,1674,1678,1688,1736,1769,1772,1795,1799,1802,1880,1883,1925,1929,2008],[313,314,315,316,320,321,324,325,328,329,332,333,336],"p",{},"A resource declares its text search with ",[317,318,319],"code",{},"text()",". With the ",[317,322,323],{},"Contains"," and ",[317,326,327],{},"FullText"," strategies, ",[317,330,331],{},"searchable()"," marks the fields to search, and the text becomes one more condition of the SQL search: filters, scopes, instructions, includes, aggregates, sorts, pagination, ",[317,334,335],{},"perimeterQuery()"," and actions work with it as they do without it.",[338,339,345],"pre",{"className":340,"code":341,"filename":342,"language":343,"meta":344,"style":344},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","use Lomkit\\Rest\\Fields\\ID;\nuse Lomkit\\Rest\\Fields\\Integer;\nuse Lomkit\\Rest\\Fields\\Text;\nuse Lomkit\\Rest\\Text\\Contains;\nuse Lomkit\\Rest\\Text\\FullText;\nuse Lomkit\\Rest\\Text\\TextSearch;\n\npublic function fields(): array\n{\n    return [\n        ID::make('id'),\n        Text::make('name')->searchable(),\n        Text::make('description')->searchable(),\n        Integer::make('price'),\n    ];\n}\n\npublic function text(): ?TextSearch\n{\n    return FullText::make()\n        ->index('name', 'description')\n        ->otherwise(Contains::make());\n}\n","app\u002FRest\u002FResources\u002FProductResource.php","php","",[317,346,347,379,401,423,444,465,487,494,514,520,530,558,586,610,631,637,643,648,666,671,686,716,735],{"__ignoreMap":344},[348,349,352,356,360,364,367,369,371,373,376],"span",{"class":350,"line":351},"line",1,[348,353,355],{"class":354},"sbssI","use",[348,357,359],{"class":358},"sTEyZ"," Lomkit",[348,361,363],{"class":362},"sMK4o","\\",[348,365,366],{"class":358},"Rest",[348,368,363],{"class":362},[348,370,42],{"class":358},[348,372,363],{"class":362},[348,374,375],{"class":358},"ID",[348,377,378],{"class":362},";\n",[348,380,382,384,386,388,390,392,394,396,399],{"class":350,"line":381},2,[348,383,355],{"class":354},[348,385,359],{"class":358},[348,387,363],{"class":362},[348,389,366],{"class":358},[348,391,363],{"class":362},[348,393,42],{"class":358},[348,395,363],{"class":362},[348,397,398],{"class":358},"Integer",[348,400,378],{"class":362},[348,402,404,406,408,410,412,414,416,418,421],{"class":350,"line":403},3,[348,405,355],{"class":354},[348,407,359],{"class":358},[348,409,363],{"class":362},[348,411,366],{"class":358},[348,413,363],{"class":362},[348,415,42],{"class":358},[348,417,363],{"class":362},[348,419,420],{"class":358},"Text",[348,422,378],{"class":362},[348,424,426,428,430,432,434,436,438,440,442],{"class":350,"line":425},4,[348,427,355],{"class":354},[348,429,359],{"class":358},[348,431,363],{"class":362},[348,433,366],{"class":358},[348,435,363],{"class":362},[348,437,420],{"class":358},[348,439,363],{"class":362},[348,441,323],{"class":358},[348,443,378],{"class":362},[348,445,447,449,451,453,455,457,459,461,463],{"class":350,"line":446},5,[348,448,355],{"class":354},[348,450,359],{"class":358},[348,452,363],{"class":362},[348,454,366],{"class":358},[348,456,363],{"class":362},[348,458,420],{"class":358},[348,460,363],{"class":362},[348,462,327],{"class":358},[348,464,378],{"class":362},[348,466,468,470,472,474,476,478,480,482,485],{"class":350,"line":467},6,[348,469,355],{"class":354},[348,471,359],{"class":358},[348,473,363],{"class":362},[348,475,366],{"class":358},[348,477,363],{"class":362},[348,479,420],{"class":358},[348,481,363],{"class":362},[348,483,484],{"class":358},"TextSearch",[348,486,378],{"class":362},[348,488,490],{"class":350,"line":489},7,[348,491,493],{"emptyLinePlaceholder":492},true,"\n",[348,495,497,501,504,508,511],{"class":350,"line":496},8,[348,498,500],{"class":499},"spNyl","public",[348,502,503],{"class":499}," function",[348,505,507],{"class":506},"s2Zo4"," fields",[348,509,510],{"class":362},"():",[348,512,513],{"class":354}," array\n",[348,515,517],{"class":350,"line":516},9,[348,518,519],{"class":362},"{\n",[348,521,523,527],{"class":350,"line":522},10,[348,524,526],{"class":525},"s7zQu","    return",[348,528,529],{"class":362}," [\n",[348,531,533,537,540,543,546,549,553,555],{"class":350,"line":532},11,[348,534,536],{"class":535},"sBMFI","        ID",[348,538,539],{"class":362},"::",[348,541,542],{"class":506},"make",[348,544,545],{"class":362},"(",[348,547,548],{"class":362},"'",[348,550,552],{"class":551},"sfazB","id",[348,554,548],{"class":362},[348,556,557],{"class":362},"),\n",[348,559,561,564,566,568,570,572,575,577,580,583],{"class":350,"line":560},12,[348,562,563],{"class":535},"        Text",[348,565,539],{"class":362},[348,567,542],{"class":506},[348,569,545],{"class":362},[348,571,548],{"class":362},[348,573,574],{"class":551},"name",[348,576,548],{"class":362},[348,578,579],{"class":362},")->",[348,581,582],{"class":506},"searchable",[348,584,585],{"class":362},"(),\n",[348,587,589,591,593,595,597,599,602,604,606,608],{"class":350,"line":588},13,[348,590,563],{"class":535},[348,592,539],{"class":362},[348,594,542],{"class":506},[348,596,545],{"class":362},[348,598,548],{"class":362},[348,600,601],{"class":551},"description",[348,603,548],{"class":362},[348,605,579],{"class":362},[348,607,582],{"class":506},[348,609,585],{"class":362},[348,611,613,616,618,620,622,624,627,629],{"class":350,"line":612},14,[348,614,615],{"class":535},"        Integer",[348,617,539],{"class":362},[348,619,542],{"class":506},[348,621,545],{"class":362},[348,623,548],{"class":362},[348,625,626],{"class":551},"price",[348,628,548],{"class":362},[348,630,557],{"class":362},[348,632,634],{"class":350,"line":633},15,[348,635,636],{"class":362},"    ];\n",[348,638,640],{"class":350,"line":639},16,[348,641,642],{"class":362},"}\n",[348,644,646],{"class":350,"line":645},17,[348,647,493],{"emptyLinePlaceholder":492},[348,649,651,653,655,658,660,663],{"class":350,"line":650},18,[348,652,500],{"class":499},[348,654,503],{"class":499},[348,656,657],{"class":506}," text",[348,659,510],{"class":362},[348,661,662],{"class":362}," ?",[348,664,665],{"class":535},"TextSearch\n",[348,667,669],{"class":350,"line":668},19,[348,670,519],{"class":362},[348,672,674,676,679,681,683],{"class":350,"line":673},20,[348,675,526],{"class":525},[348,677,678],{"class":535}," FullText",[348,680,539],{"class":362},[348,682,542],{"class":506},[348,684,685],{"class":362},"()\n",[348,687,689,692,695,697,699,701,703,706,709,711,713],{"class":350,"line":688},21,[348,690,691],{"class":362},"        ->",[348,693,694],{"class":506},"index",[348,696,545],{"class":362},[348,698,548],{"class":362},[348,700,574],{"class":551},[348,702,548],{"class":362},[348,704,705],{"class":362},",",[348,707,708],{"class":362}," '",[348,710,601],{"class":551},[348,712,548],{"class":362},[348,714,715],{"class":362},")\n",[348,717,719,721,724,726,728,730,732],{"class":350,"line":718},22,[348,720,691],{"class":362},[348,722,723],{"class":506},"otherwise",[348,725,545],{"class":362},[348,727,323],{"class":535},[348,729,539],{"class":362},[348,731,542],{"class":506},[348,733,734],{"class":362},"());\n",[348,736,738],{"class":350,"line":737},23,[348,739,642],{"class":362},[338,741,746],{"className":742,"code":743,"filename":744,"language":745,"meta":344,"style":344},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"search\": {\n    \"text\": {\"value\": \"desk lamp\"},\n    \"filters\": [{\"field\": \"price\", \"operator\": \"\u003C\", \"value\": 100}]\n  }\n}\n","POST \u002Fapi\u002Fproducts\u002Fsearch","json",[317,747,748,752,769,804,867,872],{"__ignoreMap":344},[348,749,750],{"class":350,"line":351},[348,751,519],{"class":362},[348,753,754,757,760,763,766],{"class":350,"line":381},[348,755,756],{"class":362},"  \"",[348,758,759],{"class":499},"search",[348,761,762],{"class":362},"\"",[348,764,765],{"class":362},":",[348,767,768],{"class":362}," {\n",[348,770,771,774,777,779,781,784,786,789,791,793,796,799,801],{"class":350,"line":403},[348,772,773],{"class":362},"    \"",[348,775,776],{"class":535},"text",[348,778,762],{"class":362},[348,780,765],{"class":362},[348,782,783],{"class":362}," {",[348,785,762],{"class":362},[348,787,788],{"class":354},"value",[348,790,762],{"class":362},[348,792,765],{"class":362},[348,794,795],{"class":362}," \"",[348,797,798],{"class":551},"desk lamp",[348,800,762],{"class":362},[348,802,803],{"class":362},"},\n",[348,805,806,808,811,813,815,818,820,823,825,827,829,831,833,835,837,840,842,844,846,849,851,853,855,857,859,861,864],{"class":350,"line":425},[348,807,773],{"class":362},[348,809,810],{"class":535},"filters",[348,812,762],{"class":362},[348,814,765],{"class":362},[348,816,817],{"class":362}," [{",[348,819,762],{"class":362},[348,821,822],{"class":354},"field",[348,824,762],{"class":362},[348,826,765],{"class":362},[348,828,795],{"class":362},[348,830,626],{"class":551},[348,832,762],{"class":362},[348,834,705],{"class":362},[348,836,795],{"class":362},[348,838,839],{"class":354},"operator",[348,841,762],{"class":362},[348,843,765],{"class":362},[348,845,795],{"class":362},[348,847,848],{"class":551},"\u003C",[348,850,762],{"class":362},[348,852,705],{"class":362},[348,854,795],{"class":362},[348,856,788],{"class":354},[348,858,762],{"class":362},[348,860,765],{"class":362},[348,862,863],{"class":354}," 100",[348,865,866],{"class":362},"}]\n",[348,868,869],{"class":350,"line":446},[348,870,871],{"class":362},"  }\n",[348,873,874],{"class":350,"line":467},[348,875,642],{"class":362},[313,877,878,879,882],{},"The response is a normal search page, with the matching rows only. ",[317,880,881],{},"total"," counts the matching rows.",[884,885,887],"h2",{"id":886},"strategies","Strategies",[889,890,891,910],"table",{},[892,893,894],"thead",{},[895,896,897,901,904,907],"tr",{},[898,899,900],"th",{},"Strategy",[898,902,903],{},"Runs on",[898,905,906],{},"Modes",[898,908,909],{},"Relevance",[911,912,913,944,969],"tbody",{},[895,914,915,921,932,941],{},[916,917,918],"td",{},[317,919,920],{},"Contains::make()",[916,922,923,924,927,928,931],{},"Every database: ",[317,925,926],{},"ILIKE"," on PostgreSQL, ",[317,929,930],{},"LIKE"," on the others",[916,933,934,937,938],{},[317,935,936],{},"words",", ",[317,939,940],{},"phrase",[916,942,943],{},"No",[895,945,946,951,954,966],{},[916,947,948],{},[317,949,950],{},"FullText::make()",[916,952,953],{},"MySQL, MariaDB and PostgreSQL",[916,955,956,937,958,937,960,937,963],{},[317,957,936],{},[317,959,940],{},[317,961,962],{},"prefix",[317,964,965],{},"websearch",[916,967,968],{},"Yes",[895,970,971,976,979,983],{},[916,972,973],{},[317,974,975],{},"ScoutEngine::make()",[916,977,978],{},"The search engine of a Laravel Scout model",[916,980,981],{},[317,982,936],{},[916,984,985],{},"The engine's order",[313,987,988,991,992,995],{},[317,989,990],{},"ScoutEngine"," has its own page: ",[993,994,92],"a",{"href":93},".",[997,998,323],"h3",{"id":999},"contains",[1001,1002,1003,1007,1010,1022],"ul",{},[1004,1005,1006],"li",{},"Each word of the text must appear in one of the searchable fields, as a part of its value, in any order.",[1004,1008,1009],{},"The words after the tenth are ignored.",[1004,1011,1012,1013,937,1016,324,1019,1021],{},"The ",[317,1014,1015],{},"%",[317,1017,1018],{},"_",[317,1020,363],{}," characters of the text match as they are typed.",[1004,1023,1024,1025,1027,1028,1030,1031,1034,1035,1037],{},"Case: ",[317,1026,926],{}," ignores case on PostgreSQL. On MySQL and MariaDB, ",[317,1029,930],{}," follows the collation of the column, and the default ",[317,1032,1033],{},"_ci"," collations ignore case. On SQLite, ",[317,1036,930],{}," ignores the case of ASCII letters only.",[997,1039,327],{"id":1040},"fulltext",[1001,1042,1043,1053,1066,1086,1092],{},[1004,1044,1045,1048,1049,1052],{},[317,1046,1047],{},"index('name', 'description')"," declares a group of columns. Call it once per FULLTEXT index: a row matches when one of the groups matches. Without ",[317,1050,1051],{},"index()",", the searchable fields form one group.",[1004,1054,1055,1058,1059,1062,1063,1065],{},[317,1056,1057],{},"language('english')"," names the PostgreSQL text search configuration, ",[317,1060,1061],{},"english"," by default: letters, digits and ",[317,1064,1018],{}," only. MySQL and MariaDB ignore it.",[1004,1067,1068,1071,1072,1075,1076,1079,1080,1082,1083,995],{},[317,1069,1070],{},"otherwise(Contains::make())"," runs another strategy on the other databases, such as SQLite and SQL Server. Without it, a search of the resource there throws ",[317,1073,1074],{},"InvalidTextSearchException",", which names the resource and the driver. ",[317,1077,1078],{},"otherwise()"," takes a strategy that adds a condition to the SQL query: a ",[317,1081,990],{}," there is a ",[317,1084,1085],{},"TypeError",[1004,1087,1088,1089,1091],{},"On MySQL and MariaDB, each group needs a FULLTEXT index on exactly its columns. A group without one throws ",[317,1090,1074],{},", which names the table and the groups.",[1004,1093,1094,1095,1098,1099,1101],{},"On PostgreSQL, the search runs without index, and the same migration, with ",[317,1096,1097],{},"->language(...)"," when the configuration is not ",[317,1100,1061],{},", creates the index that the search uses.",[338,1103,1106],{"className":340,"code":1104,"filename":1105,"language":343,"meta":344,"style":344},"Schema::table('products', function (Blueprint $table) {\n    $table->fullText(['name', 'description']);\n});\n","database\u002Fmigrations\u002F2026_01_01_000000_add_product_text_index.php",[317,1107,1108,1146,1179],{"__ignoreMap":344},[348,1109,1110,1113,1115,1117,1119,1121,1124,1126,1128,1130,1133,1136,1139,1141,1144],{"class":350,"line":351},[348,1111,1112],{"class":535},"Schema",[348,1114,539],{"class":362},[348,1116,889],{"class":506},[348,1118,545],{"class":362},[348,1120,548],{"class":362},[348,1122,1123],{"class":551},"products",[348,1125,548],{"class":362},[348,1127,705],{"class":362},[348,1129,503],{"class":499},[348,1131,1132],{"class":362}," (",[348,1134,1135],{"class":535},"Blueprint",[348,1137,1138],{"class":362}," $",[348,1140,889],{"class":358},[348,1142,1143],{"class":362},")",[348,1145,768],{"class":362},[348,1147,1148,1151,1153,1156,1159,1162,1164,1166,1168,1170,1172,1174,1176],{"class":350,"line":381},[348,1149,1150],{"class":362},"    $",[348,1152,889],{"class":358},[348,1154,1155],{"class":362},"->",[348,1157,1158],{"class":506},"fullText",[348,1160,1161],{"class":362},"([",[348,1163,548],{"class":362},[348,1165,574],{"class":551},[348,1167,548],{"class":362},[348,1169,705],{"class":362},[348,1171,708],{"class":362},[348,1173,601],{"class":551},[348,1175,548],{"class":362},[348,1177,1178],{"class":362},"]);\n",[348,1180,1181],{"class":350,"line":403},[348,1182,1183],{"class":362},"});\n",[997,1185,1187],{"id":1186},"declaration-rules","Declaration rules",[1001,1189,1190,1206,1233,1249],{},[1004,1191,1192,1194,1195,1198,1199,1202,1203],{},[317,1193,319],{}," returns ",[317,1196,1197],{},"null"," by default: the resource has no text search, and ",[317,1200,1201],{},"search.text"," gives ",[317,1204,1205],{},"The search.text field is prohibited.",[1004,1207,1208,1209,1211,1212,1214,1215,1217,1218,1220,1221,1224,1225,1228,1229,1232],{},"Only ",[317,1210,420],{}," fields, and app types that extend ",[317,1213,420],{},", can be ",[317,1216,331],{},". ",[317,1219,331],{}," throws ",[317,1222,1223],{},"InvalidFieldException"," on another type, and on a ",[317,1226,1227],{},"virtual()"," or ",[317,1230,1231],{},"writeOnly()"," field.",[1004,1234,1235,1236,1194,1238,1228,1240,1242,1243,1245,1246,1248],{},"A resource whose ",[317,1237,319],{},[317,1239,323],{},[317,1241,327],{}," without any searchable field throws ",[317,1244,1074],{}," when it is searched, and so does an ",[317,1247,1051],{}," column that is not a searchable field.",[1004,1250,1251,1252,1255,1256,995],{},"A model that uses ",[317,1253,1254],{},"Laravel\\Scout\\Searchable"," does not give its resource a text search: declare ",[317,1257,319],{},[884,1259,1261],{"id":1260},"the-request","The request",[338,1263,1265],{"className":742,"code":1264,"language":745,"meta":344,"style":344},"{\"text\": {\"value\": \"desk lamp\", \"mode\": \"phrase\"}}\n",[317,1266,1267],{"__ignoreMap":344},[348,1268,1269,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1303,1305,1307,1309,1311,1313],{"class":350,"line":351},[348,1270,1271],{"class":362},"{",[348,1273,762],{"class":362},[348,1275,776],{"class":499},[348,1277,762],{"class":362},[348,1279,765],{"class":362},[348,1281,783],{"class":362},[348,1283,762],{"class":362},[348,1285,788],{"class":535},[348,1287,762],{"class":362},[348,1289,765],{"class":362},[348,1291,795],{"class":362},[348,1293,798],{"class":551},[348,1295,762],{"class":362},[348,1297,705],{"class":362},[348,1299,795],{"class":362},[348,1301,1302],{"class":535},"mode",[348,1304,762],{"class":362},[348,1306,765],{"class":362},[348,1308,795],{"class":362},[348,1310,940],{"class":551},[348,1312,762],{"class":362},[348,1314,1315],{"class":362},"}}\n",[1001,1317,1318,1329,1338,1353,1364],{},[1004,1319,1320,1322,1323,1325,1326],{},[317,1321,776],{}," is an object. ",[317,1324,788],{}," is a string of at most 255 characters: ",[317,1327,1328],{},"The search.text.value field must not be greater than 255 characters.",[1004,1330,1331,1332,1334,1335,1337],{},"A blank, ",[317,1333,1197],{}," or missing ",[317,1336,788],{},", or a value without a letter or a digit, runs the search without text and returns the normal list.",[1004,1339,1340,1342,1343,1345,1346,1349,1350],{},[317,1341,1302],{}," is ",[317,1344,936],{}," by default, a case of ",[317,1347,1348],{},"Lomkit\\Rest\\Text\\TextMode",". A mode that the strategy does not support gives ",[317,1351,1352],{},"The selected search.text.mode is invalid.",[1004,1354,1355,1356,324,1358,1360,1361],{},"A key other than ",[317,1357,788],{},[317,1359,1302],{}," gives a 422 on that key, such as ",[317,1362,1363],{},"The search.text.fuzzy field is prohibited.",[1004,1365,1366,1368,1369],{},[317,1367,776],{}," in an include gives ",[317,1370,1371],{},"The search.includes.0.text field is prohibited.",[997,1373,906],{"id":1374},"modes",[889,1376,1377,1387],{},[892,1378,1379],{},[895,1380,1381,1384],{},[898,1382,1383],{},"Mode",[898,1385,1386],{},"Matches",[911,1388,1389,1405,1414,1430],{},[895,1390,1391,1395],{},[916,1392,1393],{},[317,1394,936],{},[916,1396,1397,1398,1400,1401,1404],{},"The words of the text, in any order. With ",[317,1399,323],{}," and on PostgreSQL, a row must hold every word. On MySQL and MariaDB, a row holds one of the words, and without ",[317,1402,1403],{},"sorts"," the rows that hold more of them come first",[895,1406,1407,1411],{},[916,1408,1409],{},[317,1410,940],{},[916,1412,1413],{},"The words of the text, next to each other and in this order",[895,1415,1416,1420],{},[916,1417,1418],{},[317,1419,962],{},[916,1421,1422,1423,1426,1427],{},"Each word starts a word of the row, for a search box that shows results while the user types: ",[317,1424,1425],{},"lam"," finds ",[317,1428,1429],{},"lamp",[895,1431,1432,1436],{},[916,1433,1434],{},[317,1435,965],{},[916,1437,1438,1439,937,1442,1445,1446,1449],{},"Words, ",[317,1440,1441],{},"\"quoted phrases\"",[317,1443,1444],{},"-excluded"," words, and ",[317,1447,1448],{},"or"," between two alternatives",[1001,1451,1452,1482],{},[1004,1453,1454,1455,937,1458,937,1461,937,1463,937,1466,324,1469,1472,1473,324,1476,1478,1479,1481],{},"FullText keeps the letters and digits of the text. The other characters, such as ",[317,1456,1457],{},"+",[317,1459,1460],{},"*",[317,1462,765],{},[317,1464,1465],{},"&",[317,1467,1468],{},"|",[317,1470,1471],{},"!",", separate words and have no meaning, except the quotes, ",[317,1474,1475],{},"-",[317,1477,1448],{}," of the ",[317,1480,965],{}," mode.",[1004,1483,1484,1485,1487,1488,1491],{},"On MySQL and MariaDB, an ",[317,1486,1018],{}," between two letters or digits stays in the word: ",[317,1489,1490],{},"snake_case"," is one word there, and two words on PostgreSQL.",[997,1493,1495],{"id":1494},"what-the-text-narrows","What the text narrows",[1001,1497,1498,1501,1504],{},[1004,1499,1500],{},"The text narrows the searched resource only. It does not narrow includes, aggregates or relation filters.",[1004,1502,1503],{},"Includes and aggregates are validated against the fields and operators of their own resource, as without text.",[1004,1505,1506,1509,1510,1512],{},[317,1507,1508],{},"viewAny"," is checked before the search runs, and ",[317,1511,335],{}," applies as in any search.",[884,1514,909],{"id":1515},"relevance",[313,1517,1518,1519,1521,1522,1524,1525,995],{},"With a strategy that orders by relevance (",[317,1520,327],{}," on MySQL, MariaDB and PostgreSQL), a search with text and without ",[317,1523,1403],{}," returns the most relevant rows first, then follows ",[317,1526,1527],{},"defaultOrderBy()",[313,1529,1530,1531,1534,1535,1538,1539,1542],{},"The sort field ",[317,1532,1533],{},"@relevance"," places the relevance among the other sorts, ",[317,1536,1537],{},"desc"," when ",[317,1540,1541],{},"direction"," is omitted:",[338,1544,1546],{"className":742,"code":1545,"filename":744,"language":745,"meta":344,"style":344},"{\n  \"search\": {\n    \"text\": {\"value\": \"lamp\"},\n    \"sorts\": [\n      {\"field\": \"price\"},\n      {\"field\": \"@relevance\"}\n    ]\n  }\n}\n",[317,1547,1548,1552,1564,1592,1604,1625,1645,1650,1654],{"__ignoreMap":344},[348,1549,1550],{"class":350,"line":351},[348,1551,519],{"class":362},[348,1553,1554,1556,1558,1560,1562],{"class":350,"line":381},[348,1555,756],{"class":362},[348,1557,759],{"class":499},[348,1559,762],{"class":362},[348,1561,765],{"class":362},[348,1563,768],{"class":362},[348,1565,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590],{"class":350,"line":403},[348,1567,773],{"class":362},[348,1569,776],{"class":535},[348,1571,762],{"class":362},[348,1573,765],{"class":362},[348,1575,783],{"class":362},[348,1577,762],{"class":362},[348,1579,788],{"class":354},[348,1581,762],{"class":362},[348,1583,765],{"class":362},[348,1585,795],{"class":362},[348,1587,1429],{"class":551},[348,1589,762],{"class":362},[348,1591,803],{"class":362},[348,1593,1594,1596,1598,1600,1602],{"class":350,"line":425},[348,1595,773],{"class":362},[348,1597,1403],{"class":535},[348,1599,762],{"class":362},[348,1601,765],{"class":362},[348,1603,529],{"class":362},[348,1605,1606,1609,1611,1613,1615,1617,1619,1621,1623],{"class":350,"line":446},[348,1607,1608],{"class":362},"      {",[348,1610,762],{"class":362},[348,1612,822],{"class":354},[348,1614,762],{"class":362},[348,1616,765],{"class":362},[348,1618,795],{"class":362},[348,1620,626],{"class":551},[348,1622,762],{"class":362},[348,1624,803],{"class":362},[348,1626,1627,1629,1631,1633,1635,1637,1639,1641,1643],{"class":350,"line":467},[348,1628,1608],{"class":362},[348,1630,762],{"class":362},[348,1632,822],{"class":354},[348,1634,762],{"class":362},[348,1636,765],{"class":362},[348,1638,795],{"class":362},[348,1640,1533],{"class":551},[348,1642,762],{"class":362},[348,1644,642],{"class":362},[348,1646,1647],{"class":350,"line":489},[348,1648,1649],{"class":362},"    ]\n",[348,1651,1652],{"class":350,"line":496},[348,1653,871],{"class":362},[348,1655,1656],{"class":350,"line":516},[348,1657,642],{"class":362},[313,1659,1660,1202,1662,1665,1666,1668,1669,1671,1672,995],{},[317,1661,1533],{},[317,1663,1664],{},"The selected search.sorts.0.field is invalid."," without text, in an include, and with a strategy that does not order by relevance, such as ",[317,1667,323],{}," or the ",[317,1670,1078],{}," strategy of ",[317,1673,327],{},[884,1675,1677],{"id":1676},"trashed-rows","Trashed rows",[313,1679,1680,1683,1684,1687],{},[317,1681,1682],{},"search.trashed"," reads the soft-deleted rows of a model that uses ",[317,1685,1686],{},"SoftDeletes",", with or without text:",[338,1689,1691],{"className":742,"code":1690,"filename":744,"language":745,"meta":344,"style":344},"{\n  \"search\": {\n    \"trashed\": \"with\"\n  }\n}\n",[317,1692,1693,1697,1709,1728,1732],{"__ignoreMap":344},[348,1694,1695],{"class":350,"line":351},[348,1696,519],{"class":362},[348,1698,1699,1701,1703,1705,1707],{"class":350,"line":381},[348,1700,756],{"class":362},[348,1702,759],{"class":499},[348,1704,762],{"class":362},[348,1706,765],{"class":362},[348,1708,768],{"class":362},[348,1710,1711,1713,1716,1718,1720,1722,1725],{"class":350,"line":403},[348,1712,773],{"class":362},[348,1714,1715],{"class":535},"trashed",[348,1717,762],{"class":362},[348,1719,765],{"class":362},[348,1721,795],{"class":362},[348,1723,1724],{"class":551},"with",[348,1726,1727],{"class":362},"\"\n",[348,1729,1730],{"class":350,"line":425},[348,1731,871],{"class":362},[348,1733,1734],{"class":350,"line":446},[348,1735,642],{"class":362},[1001,1737,1738,1750,1761],{},[1004,1739,1740,1742,1743,1746,1747],{},[317,1741,1724],{}," adds the soft-deleted rows, and ",[317,1744,1745],{},"only"," returns them alone. Another value gives ",[317,1748,1749],{},"The selected search.trashed is invalid.",[1004,1751,1752,1753,937,1755,1202,1757,1760],{},"On a model without ",[317,1754,1686],{},[317,1756,1715],{},[317,1758,1759],{},"The search.trashed field is prohibited."," It gives a 422 in an include too.",[1004,1762,1763,1202,1766],{},[317,1764,1765],{},"search.text.trashed",[317,1767,1768],{},"The search.text.trashed field is prohibited.",[884,1770,128],{"id":1771},"actions",[313,1773,1774,1775,1777,1778,1780,1781,1783,1784,1786,1787,1789,1790,1792,1793,995],{},"An action of a resource that declares ",[317,1776,319],{}," accepts ",[317,1779,1201],{}," and acts on the matching rows only. A blank text acts on every row that the rest of the search resolves. ",[317,1782,1682],{}," applies to actions too. The action of a resource without ",[317,1785,319],{}," refuses ",[317,1788,1201],{}," with ",[317,1791,1205],{}," See ",[993,1794,128],{"href":129},[884,1796,1798],{"id":1797},"database-differences","Database differences",[313,1800,1801],{},"FullText on MySQL and MariaDB:",[1001,1803,1804,1813,1832,1859,1867,1873],{},[1004,1805,1806,1807,1810,1811,995],{},"Words are not stemmed: ",[317,1808,1809],{},"lamps"," does not find ",[317,1812,1429],{},[1004,1814,1815,1816,1819,1820,1228,1823,1825,1826,1828,1829,1831],{},"Words shorter than ",[317,1817,1818],{},"innodb_ft_min_token_size"," (3 by default) and the InnoDB stopwords, such as ",[317,1821,1822],{},"the",[317,1824,1724],{},", are not indexed. The ",[317,1827,936],{}," mode ignores them and the ",[317,1830,940],{}," mode skips them, but a text made of such words only returns no row.",[1004,1833,1834,1835,1837,1838,324,1841,1844,1845,1847,1848,1851,1852,1855,1856,1858],{},"In the ",[317,1836,962],{}," mode, each word of the text must start an indexed word of the row: ",[317,1839,1840],{},"l",[317,1842,1843],{},"la"," find ",[317,1846,1429],{},", but ",[317,1849,1850],{},"the lam"," misses ",[317,1853,1854],{},"The lamp",", whose ",[317,1857,1822],{}," is not indexed.",[1004,1860,1834,1861,1863,1864,1866],{},[317,1862,965],{}," mode each word is required, so a stopword or a short word finds no row. Lower ",[317,1865,1818],{}," or change the stopword list, then rebuild the indexes.",[1004,1868,1869,1870,1872],{},"A ",[317,1871,965],{}," text made of excluded words only returns no row.",[1004,1874,1875,1876,1879],{},"InnoDB only finds committed rows: in tests that run each test in a transaction, such as tests that use ",[317,1877,1878],{},"RefreshDatabase",", a FullText search finds no row that the test wrote.",[313,1881,1882],{},"FullText on PostgreSQL:",[1001,1884,1885,1907,1920],{},[1004,1886,1887,1890,1891,1893,1894,1426,1896,1898,1899,1902,1903,1906],{},[317,1888,1889],{},"language()"," sets how words are read. With ",[317,1892,1061],{},", words are stemmed (",[317,1895,1809],{},[317,1897,1429],{},") and English stopwords are ignored: a text made of stopwords only returns no row. With ",[317,1900,1901],{},"simple",", words are only lowercased. Give the index the same configuration, ",[317,1904,1905],{},"$table->fullText([...])->language('simple')",", otherwise PostgreSQL does not use it.",[1004,1908,1909,1910,1912,1913,1916,1917,1919],{},"A row whose value is ",[317,1911,1197],{}," in one column of a group does not match through that group. Declare the columns of a group ",[317,1914,1915],{},"NOT NULL",", or give a nullable column its own ",[317,1918,1051],{}," group.",[1004,1921,1869,1922,1924],{},[317,1923,965],{}," text made of excluded words only returns the rows without these words.",[884,1926,1928],{"id":1927},"errors","Errors",[889,1930,1931,1941],{},[892,1932,1933],{},[895,1934,1935,1938],{},[898,1936,1937],{},"Message",[898,1939,1940],{},"Cause",[911,1942,1943,1954,1966,1975,1984,1995],{},[895,1944,1945,1949],{},[916,1946,1947],{},[317,1948,1205],{},[916,1950,1951,1952],{},"The resource declares no ",[317,1953,319],{},[895,1955,1956,1961],{},[916,1957,1958],{},[317,1959,1960],{},"The search.text field must be an array.",[916,1962,1963,1965],{},[317,1964,776],{}," sent as a string",[895,1967,1968,1972],{},[916,1969,1970],{},[317,1971,1328],{},[916,1973,1974],{},"A text that is too long",[895,1976,1977,1981],{},[916,1978,1979],{},[317,1980,1352],{},[916,1982,1983],{},"A mode that the strategy does not support",[895,1985,1986,1990],{},[916,1987,1988],{},[317,1989,1664],{},[916,1991,1992,1994],{},[317,1993,1533],{}," without relevance",[895,1996,1997,2001],{},[916,1998,1999],{},[317,2000,1759],{},[916,2002,2003,2005,2006],{},[317,2004,1715],{}," on a model without ",[317,2007,1686],{},[2009,2010,2011],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":344,"searchDepth":351,"depth":381,"links":2013},[2014,2019,2023,2024,2025,2026,2027],{"id":886,"depth":381,"text":887,"children":2015},[2016,2017,2018],{"id":999,"depth":403,"text":323},{"id":1040,"depth":403,"text":327},{"id":1186,"depth":403,"text":1187},{"id":1260,"depth":381,"text":1261,"children":2020},[2021,2022],{"id":1374,"depth":403,"text":906},{"id":1494,"depth":403,"text":1495},{"id":1515,"depth":381,"text":909},{"id":1676,"depth":381,"text":1677},{"id":1771,"depth":381,"text":128},{"id":1797,"depth":381,"text":1798},{"id":1927,"depth":381,"text":1928},"Declare the text search of a resource with LIKE or the full-text index of the database, pick a mode per request and sort by relevance.","md",null,{},{"title":88,"description":2028},{"loc":89},"T_m8TTXdfKv0kHSa8l4BKiTDlL2D5tNbqAsHQP_pA8g",[2036,2038],{"title":84,"path":85,"stem":86,"description":2037,"children":-1},"Let clients call the local scopes of a model and the instructions of a resource, with typed parameters, aliases and search meta.",{"title":92,"path":93,"stem":94,"description":2039,"children":-1},"Run the text search of a resource on Meilisearch, Typesense, Algolia or another Laravel Scout engine, with an index perimeter.",1794181351308]