chawki
1
How can I sort this search result in descending order?
const qp = couchbase.SearchQuery.conjuncts([]);
if (query) {
qp.and(
couchbase.SearchQuery.conjuncts(
couchbase.SearchQuery.queryString(query)
)
);
}
const result = await cluster.searchQuery("test-search", qp, {
limit,
skip,
});
Hey @chawki,
You should be able to do something like the following:
const result = await cluster.searchQuery('test-search', qp, {
sort: couchbase.SearchSort.score(),
});
or alternatively something like:
const result = await cluster.searchQuery('test-search', qp, {
sort: couchbase.SearchSort.field('name').descending(true),
});
Cheers, Brett
chawki
3
Hi @brett19
I just tried your solution and I’m getting an error
ParsingFailureError: parsing failure
at _getWrappedErr (/home/chawki/Documents/####/server/node_modules/couchbase/lib/errors.js:830:14)
at Object.wrapLcbErr (/home/chawki/Documents/####/server/node_modules/couchbase/lib/errors.js:1009:20)
at /home/chawki/Documents/###/server/node_modules/couchbase/lib/searchexecutor.js:103:26 {
cause: LibcouchbaseError { code: 208 },
context: SearchErrorContext {
error_message: 'rest_index: Query, indexName: test-search, err: bleve: QueryBleve parsing searchRequest, err: cbft.SearchRequest: Sort: []json.RawMessage: ReadArrayCB: expect [ or n, but found {, error found in #10 byte of ...|0,"sort":{"by":"fiel|..., bigger context ...|d","match_phrase":"device"}]}]},"size":20,"sort":{"by":"field","desc":true,"field":"createdAt"}}|...',
index_name: 'test-search',
query: '',
parameters: '',
http_response_code: 400,
http_response_body: ''
}
}
I would like to sort by createdAt
field, Here what I did
const result = await cluster.searchQuery("test-search", qp, {
limit,
skip: offset,
sort: couchbase.SearchSort.field("createdAt").descending(true),
fields: ["type", "title", "price", "photos", "createdAt"],
});
I’m using Nodejs SDK v3