title: Typesense: Having an error timeout exceeded
body: <p>I am using Reactjs and having an issue with syncing data from Firestore to Typesense. I am following this documentation: <a href="https://typesense.org/docs/guide/firebase-full-text-search.html#step-1-run-typesense" rel="nofollow noreferrer">https://typesense.org/docs/guide/firebase-full-text-search.html#step-1-run-typesense</a></p>
  <p>Additionally, the following are the configurations I've done for my project based on the link above.</p>
  <ul>
  <li><p>Set up a Cloud Firestore database in my Firebase project.</p>
  </li>
  <li><p>Setup a Typesense server (Self-Hosted)</p>
  </li>
  <li><p>Setup a Typesense Collection through the API.</p>
  </li>
  <li><p>Querying the data using simple search parameters</p>
  </li>
  <li><p>The Instantsearch Adapter adapter is already installed and configured</p>
  </li>
  </ul>
  <p>The issue: it won't render the data and is having this error:</p>
  <p><a href="https://i.stack.imgur.com/WWMo8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WWMo8.png" alt="Typesense Error" /></a></p>
  <p>Here's the code:</p>
  <pre><code>import &quot;./App.css&quot;;
  import { InstantSearch, SearchBox, Hits, Stats } from &quot;react-instantsearch-dom&quot;;
  import TypesenseInstantSearchAdapter from &quot;typesense-instantsearch-adapter&quot;;
  import Typesense from &quot;typesense&quot;;
  
  const client = new Typesense.Client({
    nodes: [
      {
        host: &quot;13.54.222.245&quot;,
        port: &quot;8108&quot;,
        protocol: &quot;http&quot;,
      },
    ],
    apiKey: &quot;admin_apikey&quot;,
    connectionTimeoutSeconds: 2,
  });
  
  // creating a collection
  const eventData = {
    name: &quot;events&quot;,
    fields: [
      { name: &quot;eventName&quot;, type: &quot;string&quot; },
      { name: &quot;eventInfo&quot;, type: &quot;string[]&quot; },
    ],
  };
  client
    .collections()
    .create(eventData)
    .then(function (data) {
      console.log(data);
    });
  
  // query the data using search parameters
  const search = {
    q: &quot;events&quot;,
    query_by: &quot;eventName&quot;,
  };
  
  client
    .collections(&quot;eventData&quot;)
    .documents()
    .search(search)
    .then(function (searchResults) {
      console.log(searchResults);
    });
  
  // search interface for the client side
  const typesenseInstantsearchAdapter = new TypesenseInstantSearchAdapter({
    server: {
      apiKey: &quot;admin_apikey&quot;,
      nodes: [
        {
          host: &quot;13.54.222.245&quot;,
          port: &quot;8108&quot;,
          protocol: &quot;http&quot;,
        },
      ],
    },
    additionalSearchParameters: {
      queryBy: &quot;eventName, eventInfo&quot;,
    },
  });
  const searchClient = typesenseInstantsearchAdapter.searchClient;
  
  function SearchInterface() {
    const Hit = ({ hit }) =&gt; (
      &lt;section class=&quot;main&quot;&gt;
        &lt;div class=&quot;card-container&quot;&gt;
          &lt;div class=&quot;card-header&quot;&gt;
            &lt;h4&gt;{hit.eventName}&lt;/h4&gt;
            &lt;p&gt;{hit.eventInfo}&lt;/p&gt;
          &lt;/div&gt;
          &lt;hr /&gt;
        &lt;/div&gt;
      &lt;/section&gt;
    );
  
    return (
      &lt;InstantSearch searchClient={searchClient} indexName=&quot;eventData&quot;&gt;
        &lt;SearchBox /&gt;
        &lt;Stats /&gt;
        &lt;Hits hitComponent={Hit} /&gt;
      &lt;/InstantSearch&gt;
    );
  }
  export default SearchInterface;
  </code></pre>
  <p>Here's what I got from the curl:</p>
  <pre><code>curl &quot;http://13.54.222.245:8108/multi_search?x-typesense-api-key=admin_apikey&quot; ^
    -H &quot;Accept: application/json, text/plain, */*&quot; ^
    -H &quot;Referer: http://localhost:3000/&quot; ^
    -H &quot;User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Mobile Safari/537.36 Edg/97.0.1072.62&quot; ^
    -H &quot;Content-Type: text/plain&quot; ^
    --data-raw &quot;^{^\^&quot;searches^\^&quot;:^[^{^\^&quot;query_by^\^&quot;:^\^&quot;eventName, eventInfo^\^&quot;,^\^&quot;sort_by^\^&quot;:^\^&quot;^\^&quot;,^\^&quot;highlight_full_fields^\^&quot;:^\^&quot;eventName, eventInfo^\^&quot;,^\^&quot;collection^\^&quot;:^\^&quot;eventData^\^&quot;,^\^&quot;q^\^&quot;:^\^&quot;*^\^&quot;,^\^&quot;facet_by^\^&quot;:^\^&quot;^\^&quot;,^\^&quot;page^\^&quot;:1^}^]^}&quot; ^
    --compressed
  </code></pre>