def get_available_facets(self):
result = []<EOL>for k, v in list(self.properties.items()):<EOL><INDENT>if isinstance(v, DateField):<EOL><INDENT>if not v.tokenize:<EOL><INDENT>result.append((k, "<STR_LIT:date>"))<EOL><DEDENT><DEDENT>elif isinstance(v, NumericFieldAbstract):<EOL><INDENT>result.append((k, "<STR_LIT>"))<EOL><DEDENT>elif isinstance(v, StringField):<EOL><INDENT>if not v.tokenize:<EOL><INDENT>result.append((k, "<STR_LIT>"))<EOL><DEDENT><DEDENT>elif isinstance(v, GeoPointField):<EOL><INDENT>if not v.tokenize:<EOL><INDENT>result.append((k, "<STR_LIT>"))<EOL><DEDENT><DEDENT>elif isinstance(v, ObjectField):<EOL><INDENT>for n, t in self.get_available_facets():<EOL><INDENT>result.append((self.name + "<STR_LIT:.>" + k, t))<EOL><DEDENT><DEDENT><DEDENT>return result<EOL>
Returns Available facets for the document