Support different query modes.
This commit is contained in:
@@ -201,18 +201,22 @@ public abstract class Conditionals
|
|||||||
public static class Match
|
public static class Match
|
||||||
implements SQLOperator
|
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;
|
_query = query;
|
||||||
|
_mode = mode;
|
||||||
_columns = new ColumnExp[pColumns.length];
|
_columns = new ColumnExp[pColumns.length];
|
||||||
for (int ii = 0; ii < pColumns.length; ii++) {
|
for (int ii = 0; ii < pColumns.length; ii++) {
|
||||||
_columns[ii] = new ColumnExp(null, pColumns[ii]);
|
_columns[ii] = new ColumnExp(null, pColumns[ii]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Match (String query, ColumnExp... columns)
|
public Match (String query, Mode mode, ColumnExp... columns)
|
||||||
{
|
{
|
||||||
_query = query;
|
_query = query;
|
||||||
|
_mode = mode;
|
||||||
_columns = columns;
|
_columns = columns;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,7 +231,19 @@ public abstract class Conditionals
|
|||||||
}
|
}
|
||||||
column.appendExpression(query, builder);
|
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
|
// from SQLExpression
|
||||||
@@ -239,6 +255,7 @@ public abstract class Conditionals
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String _query;
|
protected String _query;
|
||||||
|
protected Mode _mode;
|
||||||
protected ColumnExp[] _columns;
|
protected ColumnExp[] _columns;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user