Skip to content

Commit c99124b

Browse files
authored
Move SORTABLE to the end of the build command (#176)
* fix Issue * delete comments & cover TEXT also
1 parent 80ec286 commit c99124b

File tree

2 files changed

+33
-13
lines changed

2 files changed

+33
-13
lines changed

src/NRedisStack/Search/Schema.cs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using static NRedisStack.Search.Schema.VectorField;
1+
using NRedisStack.Search.Literals;
2+
using static NRedisStack.Search.Schema.VectorField;
23

34
namespace NRedisStack.Search
45
{
@@ -84,13 +85,13 @@ public TextField(string name, double weight = 1.0, bool noStem = false,
8485

8586
internal override void AddFieldTypeArgs(List<object> args)
8687
{
87-
if (Sortable) args.Add("SORTABLE");
88-
if (Unf) args.Add("UNF");
8988
if (NoStem) args.Add("NOSTEM");
9089
if (NoIndex) args.Add("NOINDEX");
9190
AddPhonetic(args);
9291
AddWeight(args);
9392
if (WithSuffixTrie) args.Add("WITHSUFFIXTRIE");
93+
if (Sortable) args.Add(AttributeOptions.SORTABLE);
94+
if (Unf) args.Add("UNF");
9495
}
9596

9697
private void AddWeight(List<object> args)
@@ -141,8 +142,6 @@ internal TagField(string name, bool sortable = false, bool unf = false,
141142

142143
internal override void AddFieldTypeArgs(List<object> args)
143144
{
144-
if (Sortable) args.Add("SORTABLE");
145-
if (Unf) args.Add("UNF");
146145
if (NoIndex) args.Add("NOINDEX");
147146
if (WithSuffixTrie) args.Add("WITHSUFFIXTRIE");
148147
if (Separator != ",")
@@ -152,6 +151,8 @@ internal override void AddFieldTypeArgs(List<object> args)
152151
args.Add(Separator);
153152
}
154153
if (CaseSensitive) args.Add("CASESENSITIVE");
154+
if (Sortable) args.Add(AttributeOptions.SORTABLE);
155+
if (Unf) args.Add("UNF");
155156
}
156157
}
157158

@@ -171,8 +172,8 @@ internal GeoField(string name, bool sortable = false, bool noIndex = false)
171172

172173
internal override void AddFieldTypeArgs(List<object> args)
173174
{
174-
if (Sortable) args.Add("SORTABLE");
175175
if (NoIndex) args.Add("NOINDEX");
176+
if (Sortable) args.Add(AttributeOptions.SORTABLE);
176177
}
177178

178179
}
@@ -193,8 +194,8 @@ internal NumericField(string name, bool sortable = false, bool noIndex = false)
193194

194195
internal override void AddFieldTypeArgs(List<object> args)
195196
{
196-
if (Sortable) args.Add("SORTABLE");
197197
if (NoIndex) args.Add("NOINDEX");
198+
if (Sortable) args.Add(AttributeOptions.SORTABLE);
198199
}
199200

200201
}

tests/NRedisStack.Tests/Search/SearchTests.cs

+25-6
Original file line numberDiff line numberDiff line change
@@ -1962,30 +1962,30 @@ public void TestFieldsCommandBuilder()
19621962
"SCHEMA",
19631963
"txt",
19641964
"TEXT",
1965-
"SORTABLE",
1966-
"UNF",
19671965
"NOSTEM",
19681966
"NOINDEX",
19691967
"PHONETIC",
19701968
"dm:en",
19711969
"WITHSUFFIXTRIE",
1970+
"SORTABLE",
1971+
"UNF",
19721972
"num",
19731973
"NUMERIC",
1974-
"SORTABLE",
19751974
"NOINDEX",
1975+
"SORTABLE",
19761976
"loc",
19771977
"GEO",
1978-
"SORTABLE",
19791978
"NOINDEX",
1979+
"SORTABLE",
19801980
"tag",
19811981
"TAG",
1982-
"SORTABLE",
1983-
"UNF",
19841982
"NOINDEX",
19851983
"WITHSUFFIXTRIE",
19861984
"SEPARATOR",
19871985
";",
19881986
"CASESENSITIVE",
1987+
"SORTABLE",
1988+
"UNF",
19891989
"vec",
19901990
"VECTOR",
19911991
"FLAT",
@@ -2752,4 +2752,23 @@ public void TestProfileCommandBuilder()
27522752
Assert.Equal(new object[] { "index", "SEARCH", "LIMITED", "QUERY", "*" }, search.Args);
27532753
Assert.Equal(new object[] { "index", "AGGREGATE", "LIMITED", "QUERY", "*" }, aggregate.Args);
27542754
}
2755+
2756+
[Fact]
2757+
public void Issue175()
2758+
{
2759+
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost:6379");
2760+
IDatabase db = redis.GetDatabase();
2761+
db.Execute("FLUSHALL");
2762+
2763+
SearchCommands ft = db.FT();
2764+
2765+
var sortable = true;
2766+
var ftParams = new FTCreateParams()
2767+
.On(IndexDataType.JSON)
2768+
.Prefix("doc:");
2769+
var schema = new Schema().AddTagField("tag", sortable, false, false, "|")
2770+
.AddTextField("text", 1, sortable);
2771+
2772+
Assert.True(ft.Create("myIndex", ftParams, schema));
2773+
}
27552774
}

0 commit comments

Comments
 (0)