Marcio Jose Sanchez/Associated Press

The free-agent spending spree has been going full force for the past few weeks, and the San Francisco Giants have not made any major moves.

In some cases, such as with Pablo Sandoval, Yasmany Tomas and Jon Lester, the Giants were willing to spend big money, but the players chose to go elsewhere. In other instances, general manager Brian Sabean opted to not push for players who appear to be overpaid or a major injury risk.

The end result, however, is that the Giants still have four major holes on the roster, and the number of available options to fill those holes is rapidly shrinking.

The Giants are without a proven third baseman, a top-quality left fielder, another solid starting pitcher and a right-handed reliever.

Jeff Chiu/Associated Press

The relative lack of high-level free-agent talent on the market this year has driven up prices. The fact that the Giants have not been more aggressive to fill at least one of their glaring needs with a top-notch player is somewhat surprising.

Sabean has yet to make an aggressive move and has been very careful not to overpay. The key to his and the Giants' continued success is to make wise investments for appropriate value.

This approach has led the Giants to three world championships in five years.

Although it is frustrating to see player after player sign with other clubs, Sabean has earned the trust and confidence of Giants fans and most importantly, the Giants ownership group.

Looking at the Giants' current options, let's reassess what direction Sabean will take to fill each of the open holes on the roster.

Eric Risberg/Associated Press

With most of the top free-agent pitchers already gone, look for the Giants to make a strong push for James Shields. Outside of Max Scherzer, who is represented by Scott Boras, Shields is the best starter still on the market.

Alex Pavlovic of the San Jose Mercury News recently tweeted about the Giants' interest in Shields. If the Giants are able to ink Shields, it will give them three top-of-the-rotation starters, assuming that Matt Cain comes back strong from his 2014 elbow surgery.

With Madison Bumgarner, Shields and Cain, followed by Tim Hudson and Tim Lincecum, the Giants have a strong, veteran rotation. Yusmeiro Petit is also available to step in should an injury or ineffectiveness hinder one of the initial five.

If the Giants do not sign Shields, the return of Jake Peavy on a two-year deal in the $20 million range is quite possible. Peavy was a fan favorite and stepped in admirably when Matt Cain went down. Had it not been for Peavy's excellent performance, the Giants would not have made the playoffs, let alone win the World Series.

Third base is a problem for the Giants because they have nobody coming up through their system who is ready to take on a full-time starting role. Joaquin Arias would get the start if the season began today, but Arias is more of a utility player, not an everyday starter.

Other internal options include Matt Duffy, who has shown the ability to hit, but has not played much third base. Joe Panik could also move to third base, with Duffy starting at second.

Adam Duvall has flashes of power but does not make enough consistent contact to merit the starting job.

USA TODAY Sports

With both Chase Headley and Jed Lowrie recently agreeing to deals, the free-agent market is virtually void of top-caliber third baseman.

Middle infielder Asdrubal Cabrera is available, and if the Giants sign him, Panik will likely move to third base. John Shea reported on RantSports.com that the Giants make the most sense for Cabrera at this point.

Trade options for the Giants at third base include Luis Valbuena from the Cubs and Pedro Alvarez of the Pirates. The Giants would need to give up a top prospect to get either of these two, and it's questionable whether Sabean would be willing to make that type of deal.

Richard Heathcote/Getty Images

One additional possibility is Korean shortstop Jung-ho Kang. Steve Adams reports on MLBtraderumors.com that Kang has been posted, making him available to any team willing to pay a posting fee. If the Giants get Kang, he will likely play second base, with Panik moving to third.

Kang had a huge year in Korea this past season. He hit .354, with an OBP of .457 and OPS of .733. Kang also hit 39 home runs. These numbers can be taken with a grain of salt, however, as the Korean league is more like the Double-A level in the USA.

In the outfield, the Giants have seen Yasmany Tomas, Nelson Cruz, Nick Markakis, Torii Hunter, Melky Cabrera, Michael Cuddyer, Alex Rios and Michael Morse all sign with other clubs.

The list of remaining outfielders is not that exciting, with the likes of Nori Aoki, Emilio Bonifacio, Chris Denorfia, Ryan Doumit, Jonny Gomes, Colby Rasmus and Ryan Ludwick still available.

One very interesting option is Ichiro Suzuki. He is 41 years of age, but he has taken very good care of himself and still has a lot of game left. In 2014, Suzuki had a part-time role with the Yankees. In 359 at-bats, he hit .284, with an OBP of .324 and OPS of .664.

Suzuki is still an outstanding defensive player and would have no problem making the move to left field. There would also be a lot of excitement with the large Japanese population in the San Francisco Bay Area.

USA TODAY Sports

Justin Upton is an intriguing possibility, but he will be extremely expensive. The Giants would have to give up some of their best young players to acquire Upton. In addition, his contract expires after the 2015 season, so Sabean will be reluctant to make a move to mortgage the future for a one-year rental.

Although it's exciting to dream of Upton batting in the middle of the Giants order with Buster Posey and Hunter Pence, don't look for that to happen.

Unless something changes dramatically, we could once again see Gregor Blanco in left field, with Travis Ishikawa and Juan Perez also in the mix. This trio is unlikely to deliver enough offense, and with the health issues surrounding Angel Pagan, standing pat in the outfield is a highly risky approach.

The situation in the bullpen is much clearer. Sabean should go ahead and get Sergio Romo signed. After a rough stretch in June and July last year, Romo recovered and pitched extremely well down the stretch and into the postseason. Look for Romo to return with a two-year deal in the $10-12 million range.

Sabean has proved his worth and deserves our patience. Nevertheless, it is tough to see players who can help the Giants signing with other clubs.

All stats courtesy of baseball-reference.com.

All contract data courtesy of baseballprospectus.com.