У меня есть следующие определения индекса
public SearchIndex()
{
this.Map = users => from user in users
select new
{
FirstName = user.FirstName,
LastName = user.LastName,
MobilePhoneNumber = user.MobilePhoneNumber,
EmailAddress = user.EmailAddress
};
Index(x => x.FirstName, FieldIndexing.Analyzed);
Index(x => x.LastName, FieldIndexing.Analyzed);
Index(x => x.MobilePhoneNumber, FieldIndexing.Analyzed);
Index(x => x.EmailAddress, FieldIndexing.Analyzed);
}
И я пытаюсь использовать полнотекстовый поиск Вот так
var s = GetSession().Query<Registrants, StudentSearchIndex>()
.Search(m => m.LastName, lastName, boost: 10, escapeQueryOptions:EscapeQueryOptions.EscapeAll)
.Search(m => m.FirstName, firstName, boost: 5)
.Search(m => m.MobilePhoneNumber, phoneNumber)
.Search(m => m.EmailAddress, emailAddress);
Однако, когда я использую приведенное выше выражение в коде. Я получаю следующее сообщение об ошибке
Выражение типа «System.Object» нельзя использовать для параметра типа «System.String» метода «Raven.Client.Linq.IRavenQueryable1[Spurro.Data.RavenDB.Models.Registrants] Search[Registrants](System.Linq.IQueryable
1[Spurro.Data.RavenDB.Models.Registrants], System.Linq.Expressions.Expression1[System.Func
2[ Spurro.Data.RavenDB.Models.Registrants,System.Object]], System.String, System.Decimal, Raven.Client.SearchOptions, Raven.Client.EscapeQueryOptions)'
Пожалуйста, что я делаю не так