Full-text index with multiple fields

This commit is contained in:
sunkaixuan
2023-10-03 13:30:16 +08:00
parent 6149033b0e
commit 59bf8c2cb9
4 changed files with 16 additions and 0 deletions

View File

@@ -1083,6 +1083,10 @@ namespace SqlSugar
public virtual string FullTextContains(MethodCallExpressionModel mode)
{
var columns = mode.Args[0].MemberName;
if (mode.Args[0].MemberValue is List<string>)
{
columns = string.Join("|| ' ' ||", mode.Args[0].MemberValue as List<string>) ;
}
var searchWord = mode.Args[1].MemberName;
return $"to_tsvector('chinese', {columns}) @@ to_tsquery('chinese', {searchWord})";
}

View File

@@ -268,6 +268,10 @@ namespace SqlSugar
public override string FullTextContains(MethodCallExpressionModel mode)
{
var columns = mode.Args[0].MemberName;
if (mode.Args[0].MemberValue is List<string>)
{
columns = "(" + string.Join(",", mode.Args[0].MemberValue as List<string>) + ")";
}
var searchWord = mode.Args[1].MemberName;
return $" CONTAINS({columns}, {searchWord}, 1) ";
}

View File

@@ -265,6 +265,10 @@ namespace SqlSugar
public override string FullTextContains(MethodCallExpressionModel mode)
{
var columns = mode.Args[0].MemberName;
if (mode.Args[0].MemberValue is List<string>)
{
columns = string.Join(",", mode.Args[0].MemberValue as List<string>) ;
}
var searchWord = mode.Args[1].MemberName;
return $" MATCH({columns}) AGAINST({searchWord}) ";
}

View File

@@ -398,6 +398,10 @@ namespace SqlSugar
public override string FullTextContains(MethodCallExpressionModel mode)
{
var columns = mode.Args[0].MemberName;
if (mode.Args[0].MemberValue is List<string>)
{
columns = "(" + string.Join(",", mode.Args[0].MemberValue as List<string>) + ")";
}
var searchWord = mode.Args[1].MemberName;
return $" CONTAINS({columns}, {searchWord}, 1) ";
}