async search(query, filters = {}) {
    try {
      const response = await axios.post(`${this.baseUrl}/search`, {
        query,
        ...filters
      });
      return response.data;
    } catch (error) {
      console.error('Error searching documents:', error);
      throw error;
    }
  }
Search for documents matching a query
@param {string} query - The search query
@param {Object} filters - Optional filters for search
@returns {Promise<Array>} - Array of search results