docs: public Schema build() {
  
          Map<String, Mapper> mappers = new LinkedHashMap<>(mapperBuilders.size());
          for (Map.Entry<String, MapperBuilder<?, ?>> entry : mapperBuilders.entrySet()) {
              String name = entry.getKey();
              MapperBuilder<?, ?> builder = entry.getValue();
              Mapper mapper = builder.build(name);
              mappers.put(name, mapper);
          }
  
          Map<String, Analyzer> analyzers = new LinkedHashMap<>();
          for (Map.Entry<String, AnalyzerBuilder> entry : analyzerBuilders.entrySet()) {
              String name = entry.getKey();
              Analyzer analyzer = entry.getValue().analyzer();
              analyzers.put(name, analyzer);
          }
  
          Analyzer defaultAnalyzer;
          if (defaultAnalyzerName == null) {
              defaultAnalyzer = StandardAnalyzers.DEFAULT.get();
          } else {
              defaultAnalyzer = analyzers.get(defaultAnalyzerName);
              if (defaultAnalyzer == null) {
                  defaultAnalyzer = StandardAnalyzers.get(defaultAnalyzerName);
                  if (defaultAnalyzer == null) {
                      try {
                          defaultAnalyzer = (new ClasspathAnalyzerBuilder(defaultAnalyzerName)).analyzer();
                      } catch (Exception e) {
                          throw new IndexException(e, "Not found analyzer: '{}'", defaultAnalyzerName);
                      }
                  }
                  analyzers.put(defaultAnalyzerName, defaultAnalyzer);
              }
          }
          return new Schema(defaultAnalyzer, mappers, analyzers);
      }