summaryrefslogtreecommitdiff
path: root/src/domain/search.h
blob: 3408998e5713def036d54c93adaae65f80ebb067 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef TINY_CONVMEM_DOMAIN_SEARCH_H
#define TINY_CONVMEM_DOMAIN_SEARCH_H

#include <stdbool.h>
#include <stddef.h>

#include "domain/message.h"

typedef struct tiny_search_index tiny_search_index_t;

tiny_search_index_t *tiny_search_index_create(void);
void tiny_search_index_free(tiny_search_index_t *index);
bool tiny_search_index_add(tiny_search_index_t *index,
                           const tiny_message_t *message,
                           size_t message_index);
bool tiny_search_index_candidates(const tiny_search_index_t *index,
                                  const char *query,
                                  size_t **message_indices,
                                  size_t *count);
double tiny_search_score(const char *query, const tiny_message_t *message);

#endif