# User Guides

```json metadata
{
  "schema_version": 2,
  "title": "User Guides",
  "description": "",
  "categories": null,
  "tableOfContents": {"sections":[]}

,
  "codeExamples": []
}
```



User guides provide helpful resources for using RedisVL and its different components.



* [Getting Started with RedisVL](getting_started/)
  * [Define an `IndexSchema`](getting_started/#define-an-indexschema)
  * [Sample Dataset Preparation](getting_started/#sample-dataset-preparation)
  * [Create a `SearchIndex`](getting_started/#create-a-searchindex)
  * [Inspect with the `rvl` CLI](getting_started/#inspect-with-the-rvl-cli)
  * [Load Data to `SearchIndex`](getting_started/#load-data-to-searchindex)
  * [Creating `VectorQuery` Objects](getting_started/#creating-vectorquery-objects)
  * [Using an Asynchronous Redis Client](getting_started/#using-an-asynchronous-redis-client)
  * [Updating a schema](getting_started/#updating-a-schema)
  * [Check Index Stats](getting_started/#check-index-stats)
  * [Cleanup](getting_started/#cleanup)
* [Querying with RedisVL](hybrid_queries/)
  * [Hybrid Queries](hybrid_queries/#hybrid-queries)
  * [Combining Filters](hybrid_queries/#combining-filters)
  * [Non-vector Queries](hybrid_queries/#non-vector-queries)
  * [Count Queries](hybrid_queries/#count-queries)
  * [Range Queries](hybrid_queries/#range-queries)
  * [Advanced Query Modifiers](hybrid_queries/#advanced-query-modifiers)
* [Semantic Caching for LLMs](llmcache/)
  * [Initializing `SemanticCache`](llmcache/#initializing-semanticcache)
  * [Basic Cache Usage](llmcache/#basic-cache-usage)
  * [Customize the Distance Threshhold](llmcache/#customize-the-distance-threshhold)
  * [Utilize TTL](llmcache/#utilize-ttl)
  * [Simple Performance Testing](llmcache/#simple-performance-testing)
  * [Cache Access Controls, Tags & Filters](llmcache/#cache-access-controls-tags-filters)
* [Caching Embeddings](embeddings_cache/)
  * [Setup](embeddings_cache/#setup)
  * [Initializing the EmbeddingsCache](embeddings_cache/#initializing-the-embeddingscache)
  * [Basic Usage](embeddings_cache/#basic-usage)
  * [Advanced Usage](embeddings_cache/#advanced-usage)
  * [Async Support](embeddings_cache/#async-support)
  * [Real-World Example](embeddings_cache/#real-world-example)
  * [Performance Benchmark](embeddings_cache/#performance-benchmark)
  * [Common Use Cases for Embedding Caching](embeddings_cache/#common-use-cases-for-embedding-caching)
  * [Cleanup](embeddings_cache/#cleanup)
  * [Summary](embeddings_cache/#summary)
* [Vectorizers](vectorizers/)
  * [Creating Text Embeddings](vectorizers/#creating-text-embeddings)
  * [Search with Provider Embeddings](vectorizers/#search-with-provider-embeddings)
  * [Selecting your float data type](vectorizers/#selecting-your-float-data-type)
* [Hash vs JSON Storage](hash_vs_json/)
  * [Hash or JSON – how to choose?](hash_vs_json/#hash-or-json-how-to-choose)
  * [Cleanup](hash_vs_json/#cleanup)
* [Working with nested data in JSON](hash_vs_json/#working-with-nested-data-in-json)
  * [Full JSON Path support](hash_vs_json/#full-json-path-support)
  * [As an example:](hash_vs_json/#as-an-example)
* [Cleanup](hash_vs_json/#id1)
* [Rerankers](rerankers/)
  * [Simple Reranking](rerankers/#simple-reranking)
* [LLM Message History](message_history/)
  * [Managing multiple users and conversations](message_history/#managing-multiple-users-and-conversations)
  * [Semantic message history](message_history/#semantic-message-history)
  * [Conversation control](message_history/#conversation-control)
* [Semantic Routing](semantic_router/)
  * [Define the Routes](semantic_router/#define-the-routes)
  * [Initialize the SemanticRouter](semantic_router/#initialize-the-semanticrouter)
  * [Simple routing](semantic_router/#simple-routing)
  * [Update the routing config](semantic_router/#update-the-routing-config)
  * [Router serialization](semantic_router/#router-serialization)
* [Add route references](semantic_router/#add-route-references)
* [Get route references](semantic_router/#get-route-references)
* [Delete route references](semantic_router/#delete-route-references)
  * [Clean up the router](semantic_router/#clean-up-the-router)
* [Threshold Optimization](threshold_optimization/)
* [CacheThresholdOptimizer](threshold_optimization/#cachethresholdoptimizer)
  * [Define test_data and optimize](threshold_optimization/#define-test-data-and-optimize)
* [RouterThresholdOptimizer](threshold_optimization/#routerthresholdoptimizer)
  * [Define the routes](threshold_optimization/#define-the-routes)
  * [Initialize the SemanticRouter](threshold_optimization/#initialize-the-semanticrouter)
  * [Provide test_data](threshold_optimization/#provide-test-data)
  * [Optimize](threshold_optimization/#optimize)
  * [Test it out](threshold_optimization/#test-it-out)
  * [Cleanup](threshold_optimization/#cleanup)
* [Release Guides](release_guide/)
  * [0.5.1 Feature Overview](release_guide/0_5_0_release/)
  * [HybridQuery class](release_guide/0_5_0_release/#hybridquery-class)
  * [TextQueries](release_guide/0_5_0_release/#textqueries)
  * [Threshold optimization](release_guide/0_5_0_release/#threshold-optimization)
  * [Schema validation](release_guide/0_5_0_release/#schema-validation)
  * [Timestamp filters](release_guide/0_5_0_release/#timestamp-filters)
  * [Batch search](release_guide/0_5_0_release/#batch-search)
  * [Vector normalization](release_guide/0_5_0_release/#vector-normalization)
  * [Hybrid policy on knn with filters](release_guide/0_5_0_release/#hybrid-policy-on-knn-with-filters)

