How do I set the Post SearchResult interface to the search return value
I can't set the interface to get the return results You can review the code below
dependencies
"@nestjs/elasticsearch": "^8.1.0",
"@elastic/elasticsearch": "^8.2.1",
"@types/elasticsearch": "^5.0.40",
interface Post
export interface PostSearchResultInterface {
hits: {
total: {
value: number;
};
hits: Array<{
total: {
value: number;
}
_source: PostSearchBodyInterface;
}>;
};
}
code
const search = await this.elasticsearchService.search<PostSearchBodyInterface>({
index: this.index,
from: offset,
size: limit,
body: {
query: {
bool: {
should: {
multi_match: {
query: text,
fields: ['title', 'story', 'other_titles']
}
},
filter: {
range: {
id: {
gte: startId
}
}
}
},
},
sort: {
id: {
order: 'asc'
}
}
}
}) ;
// error here
let count = search.hits.total.value
const hits = search.hits.hits;
const results = hits.map((item) => item._source);
return {
count : startId ? separateCount : count,
results
}
error TS2339: Property 'value' does not exist on type 'number | SearchTotalHits'. Property 'value' does not exist on type 'number'.
ERROR: let count = search.hits.total.value