|
9 | 9 | "In this notebook, we will explore advanced query types available in RedisVL:\n", |
10 | 10 | "\n", |
11 | 11 | "1. **`TextQuery`**: Full text search with advanced scoring\n", |
12 | | - "2. **`HybridQuery`**: Combines text and vector search for hybrid retrieval\n", |
| 12 | + "2. **`AggregateHybridQuery`**: Combines text and vector search for hybrid retrieval\n", |
13 | 13 | "3. **`MultiVectorQuery`**: Search over multiple vector fields simultaneously\n", |
14 | 14 | "\n", |
15 | 15 | "These query types are powerful tools for building sophisticated search applications that go beyond simple vector similarity search.\n", |
|
550 | 550 | "cell_type": "markdown", |
551 | 551 | "metadata": {}, |
552 | 552 | "source": [ |
553 | | - "## 2. HybridQuery: Combining Text and Vector Search\n", |
| 553 | + "## 2. AggregateHybridQuery: Combining Text and Vector Search\n", |
554 | 554 | "\n", |
555 | | - "The `HybridQuery` combines text search and vector similarity to provide the best of both worlds:\n", |
| 555 | + "The `AggregateHybridQuery` combines text search and vector similarity to provide the best of both worlds:\n", |
556 | 556 | "- **Text search**: Finds exact keyword matches\n", |
557 | 557 | "- **Vector search**: Captures semantic similarity\n", |
558 | 558 | "\n", |
|
569 | 569 | "cell_type": "markdown", |
570 | 570 | "metadata": {}, |
571 | 571 | "source": [ |
572 | | - "### Basic Hybrid Query\n", |
| 572 | + "### Basic Aggregate Hybrid Query\n", |
573 | 573 | "\n", |
574 | 574 | "Let's search for \"running\" with both text and semantic search:" |
575 | 575 | ] |
|
593 | 593 | } |
594 | 594 | ], |
595 | 595 | "source": [ |
596 | | - "from redisvl.query import HybridQuery\n", |
| 596 | + "from redisvl.query import AggregateHybridQuery\n", |
597 | 597 | "\n", |
598 | 598 | "# Create a hybrid query\n", |
599 | | - "hybrid_query = HybridQuery(\n", |
| 599 | + "hybrid_query = AggregateHybridQuery(\n", |
600 | 600 | " text=\"running shoes\",\n", |
601 | 601 | " text_field_name=\"brief_description\",\n", |
602 | 602 | " vector=[0.1, 0.2, 0.1], # Query vector\n", |
|
648 | 648 | ], |
649 | 649 | "source": [ |
650 | 650 | "# More emphasis on vector search (alpha=0.9)\n", |
651 | | - "vector_heavy_query = HybridQuery(\n", |
| 651 | + "vector_heavy_query = AggregateHybridQuery(\n", |
652 | 652 | " text=\"comfortable\",\n", |
653 | 653 | " text_field_name=\"brief_description\",\n", |
654 | 654 | " vector=[0.15, 0.25, 0.15],\n", |
|
667 | 667 | "cell_type": "markdown", |
668 | 668 | "metadata": {}, |
669 | 669 | "source": [ |
670 | | - "### Hybrid Query with Filters\n", |
| 670 | + "### Aggregate Hybrid Query with Filters\n", |
671 | 671 | "\n", |
672 | 672 | "You can also combine hybrid search with filters:" |
673 | 673 | ] |
|
692 | 692 | ], |
693 | 693 | "source": [ |
694 | 694 | "# Hybrid search with a price filter\n", |
695 | | - "filtered_hybrid_query = HybridQuery(\n", |
| 695 | + "filtered_hybrid_query = AggregateHybridQuery(\n", |
696 | 696 | " text=\"professional equipment\",\n", |
697 | 697 | " text_field_name=\"brief_description\",\n", |
698 | 698 | " vector=[0.9, 0.1, 0.05],\n", |
|
712 | 712 | "source": [ |
713 | 713 | "### Using Different Text Scorers\n", |
714 | 714 | "\n", |
715 | | - "HybridQuery supports the same text scoring algorithms as TextQuery:" |
| 715 | + "AggregateHybridQuery supports the same text scoring algorithms as TextQuery:" |
716 | 716 | ] |
717 | 717 | }, |
718 | 718 | { |
|
734 | 734 | } |
735 | 735 | ], |
736 | 736 | "source": [ |
737 | | - "# Hybrid query with TFIDF scorer\n", |
738 | | - "hybrid_tfidf = HybridQuery(\n", |
| 737 | + "# Aggregate Hybrid query with TFIDF scorer\n", |
| 738 | + "hybrid_tfidf = AggregateHybridQuery(\n", |
739 | 739 | " text=\"shoes support\",\n", |
740 | 740 | " text_field_name=\"brief_description\",\n", |
741 | 741 | " vector=[0.12, 0.18, 0.12],\n", |
|
999 | 999 | "name": "stdout", |
1000 | 1000 | "output_type": "stream", |
1001 | 1001 | "text": [ |
1002 | | - "HybridQuery Results (text + vector):\n" |
| 1002 | + "AggregateHybridQuery Results (text + vector):\n" |
1003 | 1003 | ] |
1004 | 1004 | }, |
1005 | 1005 | { |
|
1023 | 1023 | } |
1024 | 1024 | ], |
1025 | 1025 | "source": [ |
1026 | | - "# HybridQuery - combines text and vector search\n", |
1027 | | - "hybrid_q = HybridQuery(\n", |
| 1026 | + "# AggregateHybridQuery - combines text and vector search\n", |
| 1027 | + "hybrid_q = AggregateHybridQuery(\n", |
1028 | 1028 | " text=\"shoes\",\n", |
1029 | 1029 | " text_field_name=\"brief_description\",\n", |
1030 | 1030 | " vector=[0.1, 0.2, 0.1],\n", |
|
1033 | 1033 | " num_results=3\n", |
1034 | 1034 | ")\n", |
1035 | 1035 | "\n", |
1036 | | - "print(\"HybridQuery Results (text + vector):\")\n", |
| 1036 | + "print(\"AggregateHybridQuery Results (text + vector):\")\n", |
1037 | 1037 | "result_print(index.query(hybrid_q))\n", |
1038 | 1038 | "print()" |
1039 | 1039 | ] |
|
1103 | 1103 | " - When text relevance scoring is important\n", |
1104 | 1104 | " - Example: Product search, document retrieval\n", |
1105 | 1105 | "\n", |
1106 | | - "2. **`HybridQuery`**:\n", |
| 1106 | + "2. **`AggregateHybridQuery`**:\n", |
1107 | 1107 | " - When you want to combine keyword and semantic search\n", |
1108 | 1108 | " - For improved search quality over pure text or vector search\n", |
1109 | 1109 | " - When you have both text and vector representations of your data\n", |
|
0 commit comments