PageSourceSearch

https://www.searchkit.co/_next/static/chunks/pages/docs/query-rules/actions/query-filter-d09e4f864304c6e5.js

js searchkit.co collected 2026-09-25 15:05:38 UTC 29,390 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4373],{8:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/docs/query-rules/actions/query-filter",function(){return r(8220)}])},8220:function(e,t,r){"use strict";r.r(t),r.d(t,{__toc:function(){return c}});var s=r(5893),i=r(2673),a=r(992),n=r(2626);r(9128);var o=r(2643);let c=[];function _createMdxContent(e){let t=Object.assign({p:"p",code:"code",ul:"ul",li:"li",pre:"pre",span:"span"},(0,o.a)(),e.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"QueryFilter"})," action refines the search results using filters. This action is useful when you want to filter out documents that do not match a specific condition. For example, you can use this action to filter out documents that do not have a specific attribute value."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"action"}),": The action to perform. This must be set to ",(0,s.jsx)(t.code,{children:"QueryFilter"}),"."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"query"}),": A query string that will be used to match documents. This query string should use attributes from facet or filters attributes."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Below is an example of the ",(0,s.jsx)(t.code,{children:"QueryFilter"})," action:"]}),"\n",(0,s.jsx)(t.pre,{"data-language":"json","data-theme":"default",children:(0,s.jsxs)(t.code,{"data-language":"json","data-theme":"default",children:[(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"{"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  search_settings"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    facet_attributes"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      'type'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      { field"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'actors.keyword'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" attribute"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'actors'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" type"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'string' }"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      'rated'"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    ]"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    query_rules"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      {"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        id"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" '"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"1"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        conditions"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"          ["})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"            {"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"              context"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'query'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"              match_type"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'exact'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"              value"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'movie'"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"            }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"          ]"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        ]"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        actions"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" ["})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"          {"})}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"            action"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'QueryFilter'"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:","})]}),"\n",(0,s.jsxs)(t.span,{className:"line",children:[(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"            query"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" 'type:movie'"})]}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"          }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"        ]"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"      }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"    ]"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"  }"})}),"\n",(0,s.jsx)(t.span,{className:"line",children:(0,s.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})})]})}let l={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,o.a)(),e.components);return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(_createMdxContent,{...e})}):_createMdxContent(e)},pageOpts:{filePath:"pages/docs/query-rules/actions/query-filter.mdx",route:"/docs/query-rules/actions/query-filter",frontMatter:{title:"Query Filter",description:"Learn how to filter documents from your search results."},pageMap:[{kind:"MdxPage",name:"404",route:"/404"},{kind:"Meta",data:{404:"404","*":{type:"page"},index:{display:"hidden",title:"Home",type:"page",theme:{sidebar:!1,toc:!0,layout:"raw"}},docs:{title:"Docs",type:"page"},demos:{title:"Demos",type:"page"}
1,hidden:{display:"hidden"},about:{title:"About",type:"page"}}},{kind:"MdxPage",name:"about",route:"/about",frontMatter:{title:"About Searchkit"}},{kind:"MdxPage",name:"demos",route:"/demos"},{kind:"Folder",name:"docs",route:"/docs",children:[{kind:"Meta",data:{overview:"Overview","getting-started":{title:"Quick Start"},components:{title:"Components"},"proxy-elasticsearch":{title:"Proxy Elasticsearch"},"query-rules":"Query Rules","api-documentation":{title:"API Documentation"},tutorials:{title:"Tutorials"},guides:"Guides"}},{kind:"Folder",name:"api-documentation",route:"/docs/api-documentation",children:[{kind:"Meta",data:{searchkit:"Searchkit API",api:"Node API","instantsearch-client":"Instantsearch Client API"}},{kind:"MdxPage",name:"api",route:"/docs/api-documentation/api",frontMatter:{title:"Node API",description:"Searchkit Node API for Elasticsearch",keywords:["searchkit","tutorial","walkthrough","elasticsearch","react","javascript","typescript","search","search ui","search experience","site search","app search"]}},{kind:"MdxPage",name:"instantsearch-client",route:"/docs/api-documentation/instantsearch-client",frontMatter:{title:"Browser Client",description:"Instanstsearch client for React Instantsearch"}},{kind:"MdxPage",name:"searchkit",route:"/docs/api-documentation/searchkit",frontMatter:{title:"Searchkit API",description:"Searchkit Node API for Elasticsearch"}}]},{kind:"Folder",name:"components",route:"/docs/components",children:[{kind:"Meta",data:{"search-box":"Search Box",autocomplete:"Autocomplete",results:"Results",refinements:"Refinement Facets","query-rules":"Query Rules","geo-search":"Geo Search","sort-by":"Sort By",pagination:"Pagination"}},{kind:"MdxPage",name:"autocomplete",route:"/docs/components/autocomplete",frontMatter:{title:"Autocomplete",description:"How to use Algolia autocomplete.js with Searchkit"}},{kind:"Folder",name:"geo-search",route:"/docs/components/geo-search",children:[{kind:"MdxPage",name:"geo-search",route:"/docs/components/geo-search/geo-search",frontMatter:{title:"Geo Search"}},{kind:"Meta",data:{"geo-search":"Geo Search"}}]},{kind:"MdxPage",name:"pagination",route:"/docs/components/pagination",frontMatter:{title:"Pagination"}},{kind:"Folder",name:"query-rules",route:"/docs/components/query-rules",children:[{kind:"MdxPage",name:"query-rule-context",route:"/docs/components/query-rules/query-rule-context",frontMatter:{title:"Query Rule Context"}},{kind:"MdxPage",name:"query-rule-custom-data",route:"/docs/components/query-rules/query-rule-custom-data",frontMatter:{title:"Query Rule Custom Data"}},{kind:"Meta",data:{"query-rule-context":"Query Rule Context","query-rule-custom-data":"Query Rule Custom Data"}}]},{kind:"Folder",name:"refinements",route:"/docs/components/refinements",children:[{kind:"Meta",data:{"refinement-list":"Refinement List","hierarchical-menu":"Hierarchical Menu","numeric-menu":"Numeric Menu","range-slider":"Range Slider","range-input":"Range Input","rating-menu":"Rating Menu",menu:"Menu","menu-select":"Menu Select","toggle-refinement":"Toggle Refinement","current-refinements":"Current Refinements","clear-refinements":"Clear Refinements",DynamicWidgets:"Dynamic Widgets","add-custom-refinement":"Add Custom Refinement","dynamic-widgets":"Dynamic Widgets"}},{kind:"MdxPage",name:"add-custom-refinement",route:"/docs/components/refinements/add-custom-refinement",frontMatter:{title:"Add Custom Refinement"}},{kind:"MdxPage",name:"clear-refinements",route:"/docs/components/refinements/clear-refinements",frontMatter:{title:"Clear Refinements"}},{kind:"MdxPage",name:"current-refinements",route:"/docs/components/refinements/current-refinements",frontMatter:{title:"Current Refinements"}},{kind:"MdxPage",name:"dynamic-widgets",route:"/docs/components/refinements/dynamic-widgets",frontMatter:{title:"Dynamic Widgets"}},{kind:"MdxPage",name:"hierarchical-menu",route:"/docs/components/refinements/hierarchical-menu",frontMatter:{title:"Hierarchical Menu"}},{kind:"MdxPage",name:"menu-select",route:"/docs/components/refinements/menu-select",frontMatter:{title:"Menu Select"}},{kind:"MdxPage",name:"menu",route:"/docs/components/refinements/menu",frontMatter:{title:"Menu"}},{kind:"MdxPage",name:"numeric-menu",route:"/docs/components/refinements/numeric-menu",frontMatter:{title:"Numeric Menu"}},{kind:"MdxPage",name:"range-input",route:"/docs/components/refinements/range-input",frontMatter:{title:"Range Input"}},{kind:"MdxPage",name:"range-slider",route:"/docs/components/refinements/range-slider",frontMatter:{title:"Range Slider"}},{kind:"MdxPage",name:"rating-menu",route:"/docs/components/refinements/rating-menu",frontMatter:{title:"Rating Menu"}},{kind:"MdxPage",name:"refinement-list",route:"/docs/components/refinements/refinement-list",frontMatter:{title:"Refinement List"}},{kind:"MdxPage",name:"toggle-refinement",route:"/docs/components/refinements/toggle-refinement",frontMatter:{title:"Toggle Refinement"}}]},{kind:"Folder",name:"results",route:"/docs/components/results",children:[{kind:"Meta",data:{hits:"Hits","infinite-hits":"Infinite Hits",highlight:"Highlight",snippet:"Snippet"}},{kind:"MdxPage",name:"highlight",route:"/docs/components/results/highlight",frontMatter:{title:"Highlight"}},{kind:"MdxPage",name:"hits",route:"/docs/components/results/hits",frontMatter:{title:"Hits"}},{kind:"MdxPage",name:"infinite-hits",route:"/docs/components/results/infinite-hits",frontMatter:{title:"Infinite Hits"}},{kind:"MdxPage",name:"snippet",route:"/docs/components/results/snippet",frontMatter:{title:"Snippet"}}]},{kind:"MdxPage",name:"search-box",route:"/docs/components/search-box",frontMatter:{title:"Search Box"}},{kind:"MdxPage",name:"sort-by",route:"/docs/components/sort-by",frontMatter:{title:"Sort By"}}]},{kind:"Folder",name:"getting-started",route:"/docs/getting-started",children:[{kind:"Meta",data:{"with-javascript":{title:"With JS Widgets"},"with-react":{title:"With React"},"with-vue":{title:"With Vue"},"with-angular":{title:"With Angular"},setup:{display:"hidden",title:"Quick Start with Searchkit"}}},{kind:"MdxPage",name:"setup",route:"/docs/getting-started/setup",frontMatter:{title:"Quick Start with Searchkit"}},{kind:"MdxPage",name:"with-angular",route:"/docs/getting-started/with-angular",frontMatter:{title:"With Angular"}},{kind:"MdxPage",name:"with-javascript",route:"/docs/getting-started/with-javascript",frontMatter:{title:"Quick Start with Searchkit",description:"This guide will show you how to get started with Searchkit and instantsearch.js.",keywords:"searchkit, instantsearch, search, javascript, jquery"}},{kind:"MdxPage",name:"with-react",route:"/docs/getting-started/with-react",frontMatter:{title:"With React",description:"Tutorial for getting started with Searchkit and React Instantsearch",keywords:"searchkit, react, instantsearch, tutorial, quickstart, getting started, Elasticsearch, Opensearch"}},{kind:"MdxPage",name:"with-vue",route:"/docs/getting-started/with-vue",frontMatter:{title:"With Vue",description:"How to build Search UI with Vue and Elasticsearch Quick Start",keywords:"vue, elasticsearch, search, search ui, searchkit, searchkit quick start"}}]},{kind:"Folder",name:"guides",route:"/docs/guides",children:[{kind:"Meta",data:{"setup-elasticsearch":"Setup Elasticsearch","enable-cors":"Enable CORS","indexing-data":"Indexing Data","customising-query":"Search Relevance",facets:"Facets",filters:"Filters","user-restricted-data":"User-restricted access to data","learn-to-rank":"Learn to Rank","migrating-algolia-to-elasticsearch":"Migrating from Algolia to Elasticsearch"}},{kind:"MdxPage",name:"customising-query",route:"/docs/guides/customising-query",frontMatter:{title:"Search Relevance",description:"How to customise the default query for customised relevance"}},{kind:"MdxPage",name:"enable-cors",route:"/docs/guides/enable-cors",frontMatter:{title:"Add CORS headers",description:"Add CORS headers to Elasticsearch / Opensearch to allow calling directly from the browser"}},{kind:"Folder",name:"facets",route:"/docs/guides/facets",children:[{kind:"Meta",data:{"string-based-facets":"String Facets","numeric-based-facets":"Numeric Facets"}},{kind:"MdxPage",name:"numeric-based-facets",route:"/docs/guides/facets/numeric-based-facets",frontMatter:{title:"Numeric based",description:"Searchkit supports a number of different instantsearch facet components. The following examples show what components are supported and how to add them to your search application.",keywords:"searchkit, search, faceting"}},{kind:"MdxPage",name:"string-based-facets",route:"/docs/guides/facets/string-based-facets",frontMatter:{title:"Str
1ing based",description:"Searchkit supports string based facet attributes. This page shows how to define a facet attribute and how to use it with instantsearch components.",keywords:"searchkit, elasticsearch, instantsearch, facet, attribute, string"}}]},{kind:"Folder",name:"filters",route:"/docs/guides/filters",children:[{kind:"Meta",data:{"filter-by-string":"Filter By String value","filter-by-array":"Filter By Array value","filter-by-numeric-value":"Filter By Numeric value","filter-by-boolean":"Filter By Boolean value","filter-by-date":"Filter By Date value"}},{kind:"MdxPage",name:"filter-by-array",route:"/docs/guides/filters/filter-by-array",frontMatter:{title:"Filtering of Arrays",description:"Learn how to filter your search results by array of string values.",keywords:"search, filter, array, string, values"}},{kind:"MdxPage",name:"filter-by-boolean",route:"/docs/guides/filters/filter-by-boolean",frontMatter:{title:"Filter by boolean value",description:"Filter your search results by boolean value",keywords:"filter, boolean, value, in stock, out of stock"}},{kind:"MdxPage",name:"filter-by-date",route:"/docs/guides/filters/filter-by-date",frontMatter:{title:"Filtering by Date",description:"Learn how to filter your search results by date.",keywords:"date, filter, date filtering"}},{kind:"MdxPage",name:"filter-by-numeric-value",route:"/docs/guides/filters/filter-by-numeric-value",frontMatter:{title:"Filter by numeric value"}},{kind:"MdxPage",name:"filter-by-string",route:"/docs/guides/filters/filter-by-string",frontMatter:{title:"Filtering by String"}}]},{kind:"MdxPage",name:"filters",route:"/docs/guides/filters",frontMatter:{title:"Filters",description:"Learn how to apply filters to your search results."}},{kind:"MdxPage",name:"indexing-data",route:"/docs/guides/indexing-data",frontMatter:{title:"Indexing data",description:"Indexing data into Elasticsearch for use with Instantsearch and Searchkit"}},{kind:"MdxPage",name:"learn-to-rank",route:"/docs/guides/learn-to-rank",frontMatter:{title:"Learn to Rank",description:"Integrate Learn to Rank with Metarank"}},{kind:"MdxPage",name:"migrating-algolia-to-elasticsearch",route:"/docs/guides/migrating-algolia-to-elasticsearch",frontMatter:{title:"Migrating from Algolia to Elasticsearch with Searchkit",description:"Use Searchkit to migrate from Algolia to Elasticsearch"}},{kind:"MdxPage",name:"setup-elasticsearch",route:"/docs/guides/setup-elasticsearch",frontMatter:{title:"Connecting to Elasticsearch",description:"How to connect to Elasticsearch with Searchkit"}},{kind:"MdxPage",name:"user-restricted-data",route:"/docs/guides/user-restricted-data",frontMatter:{title:"User-restricted access to data",description:"Learn how to restrict access to data based on the user's role"}}]},{kind:"MdxPage",name:"overview",route:"/docs/overview"},{kind:"Folder",name:"proxy-elasticsearch",route:"/docs/proxy-elasticsearch",children:[{kind:"Meta",data:{why:"Why Proxy Elasticsearch?","with-next-js":"With Next.js","with-express-js":"With Express.js","with-cloudflare-workers":"With Cloudflare Workers","with-your-own-server":"With your own API server"}},{kind:"MdxPage",name:"why",route:"/docs/proxy-elasticsearch/why",frontMatter:{title:"Why Proxy Elasticsearch?",description:"Explains why you should proxy Elasticsearch from the web and how to do it with Searchkit."}},{kind:"MdxPage",name:"with-cloudflare-workers",route:"/docs/proxy-elasticsearch/with-cloudflare-workers",frontMatter:{title:"With cloudflare workers",description:"Use cloudflare workers to proxy search requests to Elasticsearch"}},{kind:"MdxPage",name:"with-express-js",route:"/docs/proxy-elasticsearch/with-express-js",frontMatter:{title:"With cloudflare workers",description:"Use cloudflare workers to proxy search requests to Elasticsearch"}},{kind:"MdxPage",name:"with-next-js",route:"/docs/proxy-elasticsearch/with-next-js",frontMatter:{title:"With Next.js",description:"Use Next.js Functions to proxy search requests to Elasticsearch"}},{kind:"MdxPage",name:"with-your-own-server",route:"/docs/proxy-elasticsearch/with-your-own-server",frontMatter:{title:"With your own API Server",description:"Proxy 
1Elasticsearch requests through your own application server"}}]},{kind:"Folder",name:"query-rules",route:"/docs/query-rules",children:[{kind:"Meta",data:{conditions:"Conditions",actions:"Actions"}},{kind:"Folder",name:"actions",route:"/docs/query-rules/actions",children:[{kind:"MdxPage",name:"facet-order",route:"/docs/query-rules/actions/facet-order",frontMatter:{title:"Facets Order",description:"Learn how to use the RenderUserData action to send data to the frontend to perform a number of actions."}},{kind:"MdxPage",name:"pin-result",route:"/docs/query-rules/actions/pin-result",frontMatter:{title:"Pin Result",description:"Apply a pin result action rule"}},{kind:"MdxPage",name:"query-boost",route:"/docs/query-rules/actions/query-boost",frontMatter:{title:"Query Boost",description:"Learn how to boost the relevance of your search results."}},{kind:"MdxPage",name:"query-filter",route:"/docs/query-rules/actions/query-filter",frontMatter:{title:"Query Filter",description:"Learn how to filter documents from your search results."}},{kind:"MdxPage",name:"query-rewrite",route:"/docs/query-rules/actions/query-rewrite"},{kind:"MdxPage",name:"render-user-data",route:"/docs/query-rules/actions/render-user-data",frontMatter:{title:"Render Data",description:"Learn how to use the RenderUserData action to send data to the frontend to perform a number of actions."}},{kind:"Meta",data:{"facet-order":"Facets Order","pin-result":"Pin Result","query-boost":"Query Boost","query-filter":"Query Filter","query-rewrite":"Query Rewrite","render-user-data":"Render Data"}}]},{kind:"Folder",name:"conditions",route:"/docs/query-rules/conditions",children:[{kind:"MdxPage",name:"context",route:"/docs/query-rules/conditions/context",frontMatter:{title:"Context",description:"Apply a context condition rule"}},{kind:"MdxPage",name:"filters",route:"/docs/query-rules/conditions/filters",frontMatter:{title:"Filter",description:"Apply a Filter Present condition rule"}},{kind:"MdxPage",name:"query-text",route:"/docs/query-rules/conditions/query-text",frontMatter:{title:"Query Text",description:"Apply a query condition rule"}},{kind:"Meta",data:{context:"Context",filters:"Filter","query-text":"Query Text"}}]}]},{kind:"MdxPage",name:"query-rules",route:"/docs/query-rules",frontMatter:{title:"Query Rules",description:"Query rules are a powerful feature that allows you to customize the behavior of the search experience."}},{kind:"Folder",name:"tutorials",route:"/docs/tutorials",children:[{kind:"Meta",data:{"with-nextjs":"Build a Next.js App","build-availability-search-ui":"Availability Search UI","semantic-search":"Semantic Search"}},{kind:"MdxPage",name:"build-availability-search-ui",route:"/docs/tutorials/build-availability-search-ui",frontMatter:{title:"How to build an availability search UI with Elasticsearch",description:"In this example we are imagining a booking site for cabins.",keywords:["nextjs","searchkit","tutorial","walkthrough","elasticsearch","react","javascript","typescript","search","search ui","search experience","site search","app search"]}},{kind:"MdxPage",name:"semantic-search",route:"/docs/tutorials/semantic-search",frontMatter:{title:"Semantic Search",description:"Learn how to build a semantic search experience with Searchkit and Next.js",keywords:["nextjs","searchkit","tutorial","walkthrough","elasticsearch","react","javascript","typescript","search","search ui","search experience","site search","semantic search"]}},{kind:"MdxPage",name:"with-nextjs",route:"/docs/tutorials/with-nextjs",frontMatter:{title:"Nextjs with Searchkit",description:"Nextjs with Searchkit tutorial and walkthrough",keywords:["nextjs","searchkit","tutorial","walkthrough","elasticsearch","opensearch","react","javascript","typescript","search","search ui","search experience","site search","app search"]}}]}]},{kind:"MdxPage",name:"index",route:"/",frontMatter:{title:"Elasticsearch Site Search UI Components",keywords:"Vue, React, Angular, Instantsearch, Elasticsearch, Searchkit, Search UI Components, Search UI, Searchkit UI, Searchkit UI Components, Searchkit Components, Searchkit Instantsearch, Searchkit Instantsearch Components, Searchkit Instantsearch UI, Searchkit Instantsearch UI Compo"}}],flexsearch:{codeblocks:!1},title:"Query Filter",headings:c},pageNextRoute:"/docs/query-rules/actions/query-filter",nextraLayout:a.ZP,themeConfig:n.Z};t.default=(0,i.j)(l)},2626:function(e,t,r){"use strict";r.d(t,{Z:function(){return o}});var s=r(5893),i=r(4861),a=r(1163),n=r(992),o={project:{link:"https://github.com/searchkit/searchkit"},docsRepositoryBase:"https://github.com/searchkit/searchkit/tree/main/apps/web",useNextSeoProps:()=>({titleTemplate:"%s – Searchkit"}),toc:{float:!0},footer:{text:"Apache 2.0 ".concat(new Date().getFullYear()," \xa9 Joseph McElroy.")},editLink:{text:"Edit this page on GitHub"},logo:(0,s.jsx)("span",{className:"text-xl font-semibold text-gray-100",children:"Searchkit"}),project:{icon:function(){return(0,s.jsxs)("a",{href:"https://github.com/searchkit/searchkit",className:"hidden text-current sm:flex hover:opacity-75",title:"Searchkit GitHub repo",target:"_blank",rel:"noreferrer",children:[(0,s.jsx)("div",{className:"pr-2 text-md font-semibold",children:"4563 Stars"}),(0,s.jsx)(i.fy,{})]})},link:"https://github.com/searchkit/searchkit/tree/main"},chat:{icon:function(){return(0,s.jsx)("a",{href:"https://discord.gg/CRuWmSQZQx",className:"hidden text-current sm:flex hover:opacity-75",title:"Turbo Discord server",target:"_blank",rel:"noreferrer",children:(0,s.jsx)(i.D7,{})})},link:"https://discord.gg/CRuWmSQZQx"},nextThemes:{defaultTheme:"dark",forcedTheme:"dark"},head:()=>{let{frontMatter:e}=(0,n.ZR)(),{asPath:t}=(0,a.useRouter)(),r="https://www.searchkit.co";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("meta",{property:"og:url",content:r+t}),(0,s.jsx)("link",{rel:"canonical",href:r+t}),(0,s.jsx)("meta",{property:"og:title",content:e.title||"Searchkit - UI Widgets for Elasticsearch. React, Vue & Javascript supported"}),(0,s.jsx)("meta",{property:"og:description",content:e.description||"Searchkit - UI Widgets for Elasticsearch. React, Vue & Javascript supported"}),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,s.jsx)("meta",{name:"keywords",content:e.keywords||"Elasticsearch, UI Library for Elasticsearch, Opensearch, algolia instantsearch, React Search UI, Nodejs, Search UI components, NextJS Search, Elasticsearch Search UI, Instantsearch, Vue"}),(0,s.jsx)("meta",{property:"twitter:title",content:e.title}),(0,s.jsx)("meta",{property:"twitter:description",content:e.description||"Elasticsearch, UI Library for Elasticsearch, React Search UI, Nodejs, Search UI components, NextJS Search, Elasticsearch Search UI, Instantsearch"}),(0,s.jsx)("meta",{property:"twitter:url",content:r+t}),(0,s.jsx)("script",{defer:!0,src:"https://static.cloudflareinsights.com/beacon.min.js","data-cf-beacon":'{"token": "c98b302ea3bb4a33a012a7ef0ab3e240"}'})]})}}},5789:function(){}},function(e){e.O(0,[7493,9774,2888,179],function(){return e(e.s=8)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.