code: def visit_partial_match_value(self, node, fieldnames=None):
          
          if ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['date'] == fieldnames:
              # Date queries with partial values are transformed into range queries, among the given and the exact
              # next date, according to the granularity of the given date.
              if node.contains_wildcard:
                  return self._generate_date_with_wildcard_query(node.value)
  
              return self._generate_range_queries(force_list(fieldnames), {ES_RANGE_EQ_OPERATOR: node.value})
  
          if ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['exact-author'] == fieldnames:
              return self._generate_exact_author_query(node.value)
  
          elif ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['type-code'] == fieldnames:
              return self._generate_type_code_query(node.value)
  
          elif ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['journal'] == fieldnames:
              return self._generate_journal_nested_queries(node.value)
  
          # Add wildcard token as prefix and suffix.
          value = \
              ('' if node.value.startswith(ast.GenericValue.WILDCARD_TOKEN) else '*') + \
              node.value + \
              ('' if node.value.endswith(ast.GenericValue.WILDCARD_TOKEN) else '*')
  
          bai_fieldnames = self._generate_fieldnames_if_bai_query(
              node.value,
              bai_field_variation=FieldVariations.search,
              query_bai_field_if_dots_in_name=True
          )
  
          query = self._generate_query_string_query(value,
                                                    fieldnames=bai_fieldnames or fieldnames,
                                                    analyze_wildcard=True)
          if (bai_fieldnames and ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['author'] in bai_fieldnames) \
                  or (fieldnames and ElasticSearchVisitor.KEYWORD_TO_ES_FIELDNAME['author'] in fieldnames):
              return generate_nested_query(ElasticSearchVisitor.AUTHORS_NESTED_QUERY_PATH, query)
  
          return query
docs: Generates a query which looks for a substring of the node's value in the given fieldname.