Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/queries/vector-queries/sparse-vector-query.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict';

const { Query } = require('../../core');
const { isNil } = require('lodash');

/**
* The sparse vector query executes a query consisting of sparse vectors, such as built by a learned sparse retrieval model,
Expand All @@ -15,8 +16,10 @@ const { Query } = require('../../core');
*/
class SparseVectorQuery extends Query {
// eslint-disable-next-line require-jsdoc
constructor() {

constructor(field) {
super('sparse_vector');
if (!isNil(field)) this._queryOpts.field = field;
}

/**
Expand Down
14 changes: 13 additions & 1 deletion test/queries-test/sparse-vector-query.test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import test from 'ava';
import { SparseVectorQuery } from '../../src';
import esb, { SparseVectorQuery } from '../../src';

test('with inference id and query', t => {
const q = new SparseVectorQuery();
Expand Down Expand Up @@ -136,3 +136,15 @@ test('with pruning config for multiple elements', t => {
};
t.deepEqual(q.toJSON(), expected);
});

test('call sparse vector query via esb', t => {
const q = esb.sparseVectorQuery('my_field').query('my query');

const expected = {
sparse_vector: {
field: 'my_field',
query: 'my query'
}
};
t.deepEqual(q.toJSON(), expected);
});
Loading