I use postgresql with EntityFramework Core 7.0 and build search vector with the default GIN method from 2 columns Title and Description of Products table, both of type string:
builder.HasGeneratedTsVectorColumn(
p => p.SearchVector,
"english", // Text search config
p => new { p.Title, p.Description }) // Included properties
.HasIndex(p => p.SearchVector)
.HasMethod("GIN"); // Index method on the search vector (GIN or GIST)
This produces a SearchVector column of type tstype in the Products table. Taking a closer look, this column contains partial word of the Title and/or Description columns. For example, the word glucose would only have glucos in the search vector column.
So, searching for glucose keyword in my web application using .Where(record => record.p.SearchVector.Matches(EF.Functions.ToTsQuery(keyword))) would end up with empty result set. This is disappointing or what do I miss?