Lucene documents have a RemoveField method. In your custom DatabaseCrawler you could normally remove fields from the document:
public class MyCustomCrawler : Sitecore.Search.Crawlers.DatabaseCrawler
{
protected override void AddAllFields(Lucene.Net.Documents.Document document, Sitecore.Data.Items.Item item, bool versionSpecific)
{
document.RemoveField("SomeFieldName");
...
}
}
In this case the fields are added after "AddAllFields'. It happens in "AddSpecialFields", so you can do something like this:
protected override void AddSpecialFields(Document document, Sitecore.Data.Items.Item item)
{
// Do nothing, don't call base.AddSpecialFields
}