Explore
Use Explore to perform vector searches across multiple collections. Note that Explore is currently not available in the gRPC API.
Requirements
Section titled “Requirements”For Explore:
- The Weaviate instance to be configured with a maximum of one vectorizer (e.g.
text2vec-transformers,text2vec-openai) module. - Each
Explorequery can only be a vector search usingnearTextornearVector.
Explore queries
Section titled “Explore queries”Explore structure and syntax
Section titled “Explore structure and syntax”The Explore function has the following syntax:
{
Explore (
limit: <Int>, # The maximum amount of objects to return
nearText: { # Either this or 'nearVector' is required
concepts: [<String>]!, # Required - An array of search items. If the text2vec-contextionary is the vectorization module, the concepts should be present in the Contextionary.
certainty: <Float>, # Minimal level of certainty, computed by normalized distance
moveTo: { # Optional - Giving directions to the search
concepts: [<String>]!, # List of search items
force: <Float>! # The force to apply for a particular movement. Must be between 0 (no movement) and 1 (largest possible movement).
},
moveAwayFrom: { # Optional - Giving directions to the search
concepts: [<String>]!, # List of search items
force: <Float>! # The force to apply for a particular movement. Must be between 0 (no movement) and 1 (largest possible movement).
}
},
nearVector: { # Either this or 'nearText' is required
vector: [<Float>]!, # Required - An array of search items, which length should match the vector space
certainty: <Float> # Minimal level of certainty, computed by normalized distance
}
) {
beacon
certainty # certainty value based on a normalized distance calculation
className
}
}An example query:
package main
import (
"context"
"fmt"
"github.com/weaviate/weaviate-go-client/v5/weaviate"
"github.com/weaviate/weaviate-go-client/v5/weaviate/graphql"
)
func main() {
cfg := weaviate.Config{
Host: "localhost:8080",
Scheme: "http",
}
client, err := weaviate.NewClient(cfg)
if err != nil {
panic(err)
}
vector := []float32{-0.36840257, 0.13973749, -0.28994447, -0.18607682, 0.20019795, 0.15541431, -0.42353877, 0.30262852, 0.2724561, 0.07069917, 0.4877447, 0.038771532, 0.64523, -0.15907241, -0.3413626, -0.026682584, -0.63310874, -0.33411884, 0.082939014, 0.30305764, 0.045918174, -0.21439327, -0.5005205, 0.6210859, -0.2729049, -0.51221114, 0.09680918, 0.094923325, -0.15688285, -0.07325482, 0.6588305, 0.0523736, -0.14173415, -0.27428055, 0.25526586, 0.057506185, -0.3103442, 0.028601522, 0.124522656, 0.66984487, 0.12160647, -0.5090515, -0.540393, -0.39546522, -0.2201204, 0.34625968, -0.21068871, 0.21132985, 0.048714135, 0.09043683, 0.3176081, -0.056684002, -0.12117501, -0.6591976, -0.26731065, 0.42615625, 0.33333477, -0.3240578, -0.18771006, 0.2328068, -0.17239179, -0.33583146, -0.6556605, -0.10608161, -0.5135395, -0.25123677, -0.23004892, 0.7036331, 0.04456794, 0.41253626, 0.27872285, -0.28226635, 0.11927197, -0.4677766, 0.4343466, -0.17538455, 0.10621233, 0.95815116, 0.23587844, -0.006406698, -0.10512518, -1.1125883, -0.37921682, 0.040789194, 0.676718, 0.3369762, 0.040712647, 0.580487, 0.20063736, -0.021220192, -0.09071747, -0.0023735985, 0.30007777, -0.039925132, 0.4035474, -0.2518212, -0.17846306, 0.12371392, -0.0703354, -0.3752431, -0.652917, 0.5952828, 1.3426708, -0.08167235, -0.38515738, 0.058423538, -0.08100355, -0.192886, 0.3745164, -0.23291737, 0.33326542, -0.6019264, -0.42822492, -0.6524583, -0.15210791, -0.5073593, 0.022548754, -0.058033653, -0.47369233, -0.30890635, 0.6338296, 0.0017854869, 0.1954949, 0.99348027, -0.26558784, -0.058124136, 1.149388, 0.02915948, 0.013422121, 0.25484946, -0.030017598, -0.23879935, 0.053123385, -0.36463016, -0.0024245526, 0.1202083, -0.45966506, -0.34140104, -0.08484162, -0.03537422, -0.2817959, 0.25044164, -0.5060605, 0.1252808, -0.032539487, 0.110069446, -0.20679846, -0.46421885, -0.4141739, 0.26994973, -0.070687145, 0.16862138, -0.20162229, 0.22199251, -0.2771402, 0.23653336, 0.16585203, -0.08286354, -0.15343396, 0.23893964, -0.7453282, -0.16549355, -0.1947069, 0.46136436, 0.22064126, 0.28654936, -0.038697664, 0.037633028, -0.80988157, 0.5094175, -0.0920082, 0.25405347, -0.64169943, 0.43366328, -0.2999211, -0.4090591, 0.11957859, 0.00803617, -0.0433745, 0.12818244, 0.28464508, -0.31760025, 0.16558012, -0.33553946, -0.3943465, 0.59569097, -0.6524206, 0.3683173, -0.60456693, 0.2046492, 0.46010277, 0.24695799, 0.2946015, 0.11376746, -0.027988048, 0.03749422, -0.16577742, 0.23407385, -0.0231737, -0.023245076, 0.08752677, 0.2299883, 0.35467404, 0.046193745, -0.39828986, 0.21079691, 0.38396686, -0.0018698421, 0.16047359, -0.057517264, -0.203534, 0.23438136, -0.84250915, 0.22371331, 0.0058325706, 0.30733636, 0.19518353, -0.108008966, 0.6509316, 0.070131645, -0.24023099, 0.28779706, 0.2326336, 0.07004021, -0.45955566, 0.20426086, -0.37472793, -0.049604423, 0.4537271, 0.6133582, -1.0527759, -0.5472505, 0.15193434, 0.5296606, -0.11560251, 0.07279209, 0.40557706, 0.2505283, 0.24490519, 0.017602902, -0.004647707, 0.16608049, 0.12576887, 0.118216865, 0.4403996, 0.39552462, -0.22196701, -0.061155193, 0.03693534, -0.4022908, 0.3842317, -0.0831345, 0.01930883, 0.3446575, -0.2167439, -0.23994556, -0.09370326, -0.3671856, 0.044011243, 0.017895095, -0.019855855, -0.16416992, 0.17858285, 0.31287143, 0.38368022, -0.006513525, 0.45780763, -0.23027879, 0.108570844, -0.4449492, -0.035763215, 0.03818417, 0.040017277, -0.17022872, -0.2622464, 0.65610534, 0.16720143, 0.2515769, -0.23535803, 0.62484455, 0.16771325, -0.62404263, 0.19176348, -0.72786695, 0.18485649, -0.30914405, -0.3230534, -0.24064465, 0.28841522, 0.39792386, 0.15618932, 0.03928854, 0.18277727, -0.101632096, 0.1868196, -0.33366352, 0.086561844, 0.48557812, -0.6198209, -0.07978742}
withNearVector := client.GraphQL().NearVectorArgBuilder().
WithVector(vector)
result, err := client.GraphQL().Explore().
WithFields(
graphql.Beacon,
graphql.Certainty, # only supported if distance==cosine
graphql.Distance # always supported
graphql.ClassName).
WithNearVector(withNearVector).
Do(context.Background())
if err != nil {
panic(err)
}
fmt.Printf("%v", result)
}# Note: `certainty` is only supported if distance==cosine. `distance` is always supported.
echo '{
"query": "{
Explore (
nearVector: {
vector: [-0.36840257,0.13973749,-0.28994447,-0.18607682,0.20019795,0.15541431,-0.42353877,0.30262852,0.2724561,0.07069917,0.4877447,0.038771532,0.64523,-0.15907241,-0.3413626,-0.026682584,-0.63310874,-0.33411884,0.082939014,0.30305764,0.045918174,-0.21439327,-0.5005205,0.6210859,-0.2729049,-0.51221114,0.09680918,0.094923325,-0.15688285,-0.07325482,0.6588305,0.0523736,-0.14173415,-0.27428055,0.25526586,0.057506185,-0.3103442,0.028601522,0.124522656,0.66984487,0.12160647,-0.5090515,-0.540393,-0.39546522,-0.2201204,0.34625968,-0.21068871,0.21132985,0.048714135,0.09043683,0.3176081,-0.056684002,-0.12117501,-0.6591976,-0.26731065,0.42615625,0.33333477,-0.3240578,-0.18771006,0.2328068,-0.17239179,-0.33583146,-0.6556605,-0.10608161,-0.5135395,-0.25123677,-0.23004892,0.7036331,0.04456794,0.41253626,0.27872285,-0.28226635,0.11927197,-0.4677766,0.4343466,-0.17538455,0.10621233,0.95815116,0.23587844,-0.006406698,-0.10512518,-1.1125883,-0.37921682,0.040789194,0.676718,0.3369762,0.040712647,0.580487,0.20063736,-0.021220192,-0.09071747,-0.0023735985,0.30007777,-0.039925132,0.4035474,-0.2518212,-0.17846306,0.12371392,-0.0703354,-0.3752431,-0.652917,0.5952828,1.3426708,-0.08167235,-0.38515738,0.058423538,-0.08100355,-0.192886,0.3745164,-0.23291737,0.33326542,-0.6019264,-0.42822492,-0.6524583,-0.15210791,-0.5073593,0.022548754,-0.058033653,-0.47369233,-0.30890635,0.6338296,0.0017854869,0.1954949,0.99348027,-0.26558784,-0.058124136,1.149388,0.02915948,0.013422121,0.25484946,-0.030017598,-0.23879935,0.053123385,-0.36463016,-0.0024245526,0.1202083,-0.45966506,-0.34140104,-0.08484162,-0.03537422,-0.2817959,0.25044164,-0.5060605,0.1252808,-0.032539487,0.110069446,-0.20679846,-0.46421885,-0.4141739,0.26994973,-0.070687145,0.16862138,-0.20162229,0.22199251,-0.2771402,0.23653336,0.16585203,-0.08286354,-0.15343396,0.23893964,-0.7453282,-0.16549355,-0.1947069,0.46136436,0.22064126,0.28654936,-0.038697664,0.037633028,-0.80988157,0.5094175,-0.0920082,0.25405347,-0.64169943,0.43366328,-0.2999211,-0.4090591,0.11957859,0.00803617,-0.0433745,0.12818244,0.28464508,-0.31760025,0.16558012,-0.33553946,-0.3943465,0.59569097,-0.6524206,0.3683173,-0.60456693,0.2046492,0.46010277,0.24695799,0.2946015,0.11376746,-0.027988048,0.03749422,-0.16577742,0.23407385,-0.0231737,-0.023245076,0.08752677,0.2299883,0.35467404,0.046193745,-0.39828986,0.21079691,0.38396686,-0.0018698421,0.16047359,-0.057517264,-0.203534,0.23438136,-0.84250915,0.22371331,0.0058325706,0.30733636,0.19518353,-0.108008966,0.6509316,0.070131645,-0.24023099,0.28779706,0.2326336,0.07004021,-0.45955566,0.20426086,-0.37472793,-0.049604423,0.4537271,0.6133582,-1.0527759,-0.5472505,0.15193434,0.5296606,-0.11560251,0.07279209,0.40557706,0.2505283,0.24490519,0.017602902,-0.004647707,0.16608049,0.12576887,0.118216865,0.4403996,0.39552462,-0.22196701,-0.061155193,0.03693534,-0.4022908,0.3842317,-0.0831345,0.01930883,0.3446575,-0.2167439,-0.23994556,-0.09370326,-0.3671856,0.044011243,0.017895095,-0.019855855,-0.16416992,0.17858285,0.31287143,0.38368022,-0.006513525,0.45780763,-0.23027879,0.108570844,-0.4449492,-0.035763215,0.03818417,0.040017277,-0.17022872,-0.2622464,0.65610534,0.16720143,0.2515769,-0.23535803,0.62484455,0.16771325,-0.62404263,0.19176348,-0.72786695,0.18485649,-0.30914405,-0.3230534,-0.24064465,0.28841522,0.39792386,0.15618932,0.03928854,0.18277727,-0.101632096,0.1868196,-0.33366352,0.086561844,0.48557812,-0.6198209,-0.07978742]
}
) {
beacon
certainty
distance
className
}
}"
}' | curl \
-X POST \
-H 'Content-Type: application/json' \
-d @- \
http://localhost:8080/v1/graphql{
Explore (
nearVector: {
vector: [-0.36840257,0.13973749,-0.28994447,-0.18607682,0.20019795,0.15541431,-0.42353877,0.30262852,0.2724561,0.07069917,0.4877447,0.038771532,0.64523,-0.15907241,-0.3413626,-0.026682584,-0.63310874,-0.33411884,0.082939014,0.30305764,0.045918174,-0.21439327,-0.5005205,0.6210859,-0.2729049,-0.51221114,0.09680918,0.094923325,-0.15688285,-0.07325482,0.6588305,0.0523736,-0.14173415,-0.27428055,0.25526586,0.057506185,-0.3103442,0.028601522,0.124522656,0.66984487,0.12160647,-0.5090515,-0.540393,-0.39546522,-0.2201204,0.34625968,-0.21068871,0.21132985,0.048714135,0.09043683,0.3176081,-0.056684002,-0.12117501,-0.6591976,-0.26731065,0.42615625,0.33333477,-0.3240578,-0.18771006,0.2328068,-0.17239179,-0.33583146,-0.6556605,-0.10608161,-0.5135395,-0.25123677,-0.23004892,0.7036331,0.04456794,0.41253626,0.27872285,-0.28226635,0.11927197,-0.4677766,0.4343466,-0.17538455,0.10621233,0.95815116,0.23587844,-0.006406698,-0.10512518,-1.1125883,-0.37921682,0.040789194,0.676718,0.3369762,0.040712647,0.580487,0.20063736,-0.021220192,-0.09071747,-0.0023735985,0.30007777,-0.039925132,0.4035474,-0.2518212,-0.17846306,0.12371392,-0.0703354,-0.3752431,-0.652917,0.5952828,1.3426708,-0.08167235,-0.38515738,0.058423538,-0.08100355,-0.192886,0.3745164,-0.23291737,0.33326542,-0.6019264,-0.42822492,-0.6524583,-0.15210791,-0.5073593,0.022548754,-0.058033653,-0.47369233,-0.30890635,0.6338296,0.0017854869,0.1954949,0.99348027,-0.26558784,-0.058124136,1.149388,0.02915948,0.013422121,0.25484946,-0.030017598,-0.23879935,0.053123385,-0.36463016,-0.0024245526,0.1202083,-0.45966506,-0.34140104,-0.08484162,-0.03537422,-0.2817959,0.25044164,-0.5060605,0.1252808,-0.032539487,0.110069446,-0.20679846,-0.46421885,-0.4141739,0.26994973,-0.070687145,0.16862138,-0.20162229,0.22199251,-0.2771402,0.23653336,0.16585203,-0.08286354,-0.15343396,0.23893964,-0.7453282,-0.16549355,-0.1947069,0.46136436,0.22064126,0.28654936,-0.038697664,0.037633028,-0.80988157,0.5094175,-0.0920082,0.25405347,-0.64169943,0.43366328,-0.2999211,-0.4090591,0.11957859,0.00803617,-0.0433745,0.12818244,0.28464508,-0.31760025,0.16558012,-0.33553946,-0.3943465,0.59569097,-0.6524206,0.3683173,-0.60456693,0.2046492,0.46010277,0.24695799,0.2946015,0.11376746,-0.027988048,0.03749422,-0.16577742,0.23407385,-0.0231737,-0.023245076,0.08752677,0.2299883,0.35467404,0.046193745,-0.39828986,0.21079691,0.38396686,-0.0018698421,0.16047359,-0.057517264,-0.203534,0.23438136,-0.84250915,0.22371331,0.0058325706,0.30733636,0.19518353,-0.108008966,0.6509316,0.070131645,-0.24023099,0.28779706,0.2326336,0.07004021,-0.45955566,0.20426086,-0.37472793,-0.049604423,0.4537271,0.6133582,-1.0527759,-0.5472505,0.15193434,0.5296606,-0.11560251,0.07279209,0.40557706,0.2505283,0.24490519,0.017602902,-0.004647707,0.16608049,0.12576887,0.118216865,0.4403996,0.39552462,-0.22196701,-0.061155193,0.03693534,-0.4022908,0.3842317,-0.0831345,0.01930883,0.3446575,-0.2167439,-0.23994556,-0.09370326,-0.3671856,0.044011243,0.017895095,-0.019855855,-0.16416992,0.17858285,0.31287143,0.38368022,-0.006513525,0.45780763,-0.23027879,0.108570844,-0.4449492,-0.035763215,0.03818417,0.040017277,-0.17022872,-0.2622464,0.65610534,0.16720143,0.2515769,-0.23535803,0.62484455,0.16771325,-0.62404263,0.19176348,-0.72786695,0.18485649,-0.30914405,-0.3230534,-0.24064465,0.28841522,0.39792386,0.15618932,0.03928854,0.18277727,-0.101632096,0.1868196,-0.33366352,0.086561844,0.48557812,-0.6198209,-0.07978742]
}
) {
beacon
certainty # only supported if distance==cosine
distance # always supported
className
}
}The result might look like this:
{
"data": {
"Explore": [
{
"beacon": "weaviate://localhost/7e9b9ffe-e645-302d-9d94-517670623b35",
"certainty": 0.975523,
"className": "Publication"
}
]
},
"errors": null
}Search operators
Section titled “Search operators”The nearText and nearVector operators work in Explore as they do in other queries. See search operators for more information.
Filters
Section titled “Filters”Explore queries can be combined with filters. See filters for more information.
Pagination
Section titled “Pagination”Pagination (i.e. limit with offset) is not possible in Explore queries.
Moving
Section titled “Moving”Because pagination is not possible in multidimensional storage, we recommend using moveTo and moveAwayFrom if further query refinement is sought. They work as they do in other queries. See search operators#nearText for more information.
Questions and feedback
Section titled “Questions and feedback”Have a question or feedback? Here's how to reach us.