def _collect_index_fields(self, in_multi=False):
result = []<EOL>from .listnode import ListNode<EOL>multi = in_multi or isinstance(self, ListNode)<EOL>for lnk in self.get_links(is_set=False):<EOL><INDENT>result.append((self._path_of(un_camel_id(lnk['<STR_LIT>'])), '<STR_LIT:string>',<EOL>True, settings.SOLR['<STR_LIT:store>'], multi))<EOL><DEDENT>for name, field_ins in self._fields.items():<EOL><INDENT>field_name = self._path_of(name)<EOL>solr_type = (field_ins.solr_type<EOL>if field_ins.solr_type in SOLR_SUPPORTED_TYPES else '<STR_LIT>')<EOL>result.append((field_name,<EOL>solr_type,<EOL>field_ins.index,<EOL>field_ins.store or settings.SOLR['<STR_LIT:store>'],<EOL>multi))<EOL><DEDENT>for mdl_ins in self._nodes:<EOL><INDENT>result.extend(getattr(self, mdl_ins)._collect_index_fields(multi))<EOL><DEDENT>return result<EOL>
Collects fields which will be indexed.

Args:
    in_multi (bool): if we are in a ListNode or not

Returns:
    [(field_name, solr_type, is_indexed, is_stored, is_multi]