Entity Field Query OR not AND

Entity Field Query is useful for returning nodes based on field values or node properties

Example:

<?php
$query
= new EntityFieldQuery();

$query->entityCondition('entity_type', 'node')
  ->
entityCondition('bundle', 'article')
  ->
propertyCondition('status', 1)
  ->
fieldCondition('field_news_types', 'value', 'spotlight', '=')
  ->
fieldCondition('field_photo', 'fid', 'NULL', '!=')
  ->
fieldCondition('field_faculty_tag', 'tid', $value)
  ->
fieldCondition('field_news_publishdate', 'value', $year. '%', 'like')
  ->
range(0, 10)
  ->
addMetaData('account', user_load(1)); // Run the query as user 1.

$result = $query->execute();
?>

The tricky part is trying to do an OR condition For example getting field_news_types to be 'spotlight' OR 'hot news'

->fieldCondition('field_news_types', 'value', 'spotlight', '=')
// should become an OR by making the value contain an array of the possible values you want to match
->fieldCondition('field_news_types', 'value', array('spotlight', 'hot news'))

//There should be no operator like = or != used as that will break the query.

Documentation:
http://api.drupal.org/api/drupal/includes%21entity.inc/class/EntityField...
http://drupal.org/node/1343708

section: