From 679a76224762d6feefb6e4efed6e4fd3aa33ae13 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Fri, 22 Dec 2006 00:30:20 +0000 Subject: [PATCH] Support different query modes. --- .../jdbc/depot/operator/Conditionals.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/java/com/samskivert/jdbc/depot/operator/Conditionals.java b/src/java/com/samskivert/jdbc/depot/operator/Conditionals.java index 62b25d9..724ba60 100644 --- a/src/java/com/samskivert/jdbc/depot/operator/Conditionals.java +++ b/src/java/com/samskivert/jdbc/depot/operator/Conditionals.java @@ -201,18 +201,22 @@ public abstract class Conditionals public static class Match implements SQLOperator { - public Match (String query, String... pColumns) + public enum Mode { DEFAULT, BOOLEAN, QUERY_EXPANSION, NL_QUERY_EXPANSION }; + + public Match (String query, Mode mode, String... pColumns) { _query = query; + _mode = mode; _columns = new ColumnExp[pColumns.length]; for (int ii = 0; ii < pColumns.length; ii++) { _columns[ii] = new ColumnExp(null, pColumns[ii]); } } - public Match (String query, ColumnExp... columns) + public Match (String query, Mode mode, ColumnExp... columns) { _query = query; + _mode = mode; _columns = columns; } @@ -227,7 +231,19 @@ public abstract class Conditionals } column.appendExpression(query, builder); } - builder.append(") against (?)"); + builder.append(") against (?"); + switch (_mode) { + case BOOLEAN: + builder.append(" in boolean mode"); + break; + case QUERY_EXPANSION: + builder.append(" with query expansion"); + break; + case NL_QUERY_EXPANSION: + builder.append(" in natural language mode with query expansion"); + break; + } + builder.append(")"); } // from SQLExpression @@ -239,6 +255,7 @@ public abstract class Conditionals } protected String _query; + protected Mode _mode; protected ColumnExp[] _columns; } }