Building a Lexical Search Query
Describes how to build and run a Lexical Search query.
Lexical Search, or Classic Search, is a fundamental approach to retrieve information based on keyword, integer, float, date etc. value matching. This search operates by assessing the similarity of a collection documents to a query document. It then selects the documents with the top scores and return their id's to the user.
Running the Lexical (Classic) Search Query in DSL Syntax
query = {
"query": {
"bool": {
"must": [
{"term": {"name": "John"}}
]
}
}
}
results = hyperspace_client.dsl_search(query,
size=10,
collection_name=collection_name)String queryJson =
"{" +
" \"query\": {" +
" \"bool\": {" +
" \"must\": [" +
" {" +
" \"term\":{" +
" \"name\":\"John\"" +
" }" +
" }" +
" ]" +
" }" +
" }" +
"}";
JsonObject query = JsonParser.parseString(queryJson).getAsJsonObject();
Object response = client.dslSearch(collectionName, 10, query));let size = 10;
let query = {
"query": {
"bool": {
"must": [
{"term": {"name": "John"}}
]
}
}
}
await hyperspaceClient.dslSearch(collectionName, size, query)Where query is your query logic, see example below.
query = {
"query": {
"function_score": {
"query": {
"bool": {
"must": [
{
"term": {
"genres": "genres_value"
}
},
{
"term": {
"adult": "adult_value"
}
},
{
"bool": {
"must_not": [
{
"term": {
"title": "title_value"
}
}
]
}
}
],
"should": [
{
"range": {
"rating": {
"gt": 7.0
}
}
}
]
}
},
"boost_mode": "multiply",
"boost": 2.0
}
}
}String queryJson =" { " +
" \"function_score\": { " +
" \"query\": { " +
" \"bool\": { " +
" \"must\": [ " +
" { " +
" \"term\": { " +
" \"genres\": \"genres_value\" " +
" } " +
" }, " +
" { " +
" \"term\": { " +
" \"adult\": \"adult_value\" " +
" } " +
" }, " +
" { " +
" \"bool\": { " +
" \"must_not\": [ " +
" { " +
" \"term\": { " +
" \"title\": \"title_value\" " +
" } " +
" } " +
" ] " +
" } " +
" } " +
" ], " +
" \"should\": [ " +
" { " +
" \"range\": { " +
" \"rating\": { " +
" \"gt\": 7.0 " +
" } " +
" } " +
" } " +
" ] " +
" } " +
" }, " +
" \"boost_mode\": \"multiply\", " +
" \"boost\": 2.0 " +
" } " +
" } " +
"} " +
JsonObject query = JsonParser.parseString(queryJson).getAsJsonObject();
Object response = client.dslSearch(collectionName, 10, query));let query = {
"query": {
"function_score": {
"query": {
"bool": {
"must": [
{
"term": {
"genres": "genres_value"
}
},
{
"term": {
"adult": "adult_value"
}
},
{
"bool": {
"must_not": [
{
"term": {
"title": "title_value"
}
}
]
}
}
],
"should": [
{
"range": {
"rating": {
"gt": 7.0
}
}
}
]
}
},
"boost_mode": "multiply",
"boost": 2.0
}
}
};Last updated