Currently, you can't limit the fields because you can't be sure that all necessary fields are in a number of allowed.

You haven't mentioned if you use custom index or a default sitecore index (like "sitecore-web-index").

Anyway, in case you have a lot of fields and the amount of data in those fields, the best approach the tune a perfomance is to create your oun index with custom configuration. 

Then, in the custom configuration, set `false` value for the `indexAllFields` property:

    <indexAllFields>false</indexAllFields>

The next step is to include just necessery fileds. For example:

    <include hint="list:AddIncludedField">
        <fieldId>{8CDC337E-A112-42FB-BBB4-4143751E123F}</fieldId>
    </include>

Also you can set included/excluded templates that should be included/excluded in index (more precisely, items that are based on them):

    <exclude hint="list:AddExcludedTemplate">
        <BucketFolderTemplateId>{ADB6CA4F-03EF-4F47-B9AC-9CE2BA53FF97}</BucketFolderTemplateId>
        <!-- And etc -->
    </exclude>

    <include hint="list:AddIncludedTemplate">
         <ContentPage>{04AA33EA-4677-488F-A39A-BDDAE504250E}</ContentPage>
         <HomePage>{23FE027D-1375-4D8C-A2FB-B70276F43C71}</HomePage>
         <!-- And etc -->          
    </include>

Also you can define a root path for crowler which will also limit a number of items in the index:

    <locations hint="list:AddCrawler">
        <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
             <Database>web</Database>
             <Root>/sitecore/content/Websites</Root>
        </crawler>
    </locations>

Adding the custom index will definitelly positively affect an index size and number of fields in the index.