我想获取一个由属性(字符串)过滤的用户列表为空或空。
我为此创建了一个索引,但我不确定我实现它的方式是否正确。
public class Users_Contributors : AbstractIndexCreationTask<User>
{
public Users_Contributors()
{
Map = users => from user in users
where user.ContributionDescription != null && user.ContributionDescription != ""
select new {};
}
}
所以我只想让乌鸦为我准备“用户名单”。我只是要从该索引中获取所有用户对象,而不需要额外的过滤/查询时的标准。
上面的代码是可行的还是我能以更好的方式实现相同的目标?我觉得我在这里缺少一些东西。谢谢!
答案 0 :(得分:2)
这样可以正常工作。结果是索引仅包含在ContributionDescription
字段中包含某些内容的用户。
如果您想让它更容易阅读,可以使用string.IsNullOrEmpty
,但这不会对性能产生任何影响。
Map = users => from user in users
where !string.IsNullOrEmpty(user.ContributionDescription)
select new {};
由于最后的空对象,它可能感觉很奇怪,但这只是定义了索引条目。如果您没有按任何其他字段排序或过滤,那么使用空对象就可以了。请记住,无论您映射的是哪个字段,都会创建__document_id
条目。