blob: 5523d90307c8262dcdad8cfa6436e8201272da75 [file] [log] [blame]
% AUTORIGHTS
% Copyright (C) 2007 Princeton University
%
% This file is part of Ferret Toolkit.
%
% Ferret Toolkit is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2, or (at your option)
% any later version.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; if not, write to the Free Software Foundation,
% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
\section{Query Execution Plan}
\begin{itemize}
\item Interface to external database is achieved by using
cass\_qry\_filterset\_t within the cass\_qry\_param\_t.
\item To support multiple modality, we would expose functions to
support AND, OR, VOTE methods to combine results from different
query results.
\end{itemize}
\subsection {Multiple modality support}
\begin{verbatim}
typdef struct _cass_fusion_param_t {
enum cass_fusion_method_t method; // AND, OR, VOTE, Weighted_SUM, etc
union {
method_specific_data;
}
} cass_fusion_param_t;
int cass_fusion(cass_env_t *env,
uint32_t num_qries,
cass_vecset_t **qry_vecset,
cass_qry_param_t **param,
cass_fusion_param_t *fusion_param;
cass_qry_result_t *qry);
// Need to add details on combining results, eg: index + rerank;
filter + rerank (using sketch or ori_feat), etc.
\end{verbatim}