title: Optional term in ContentSearch query
body: <p>I'm trying to build a lucene query through Sitecore ContentSearch that includes an optional term. The optional term is used to boost certain results. The lucene query should look like this:</p>
  
  <pre><code>+(+(_content:myquery keywords:myquery) boostfield:boostdata)
  </code></pre>
  
  <p>How can I construct such a query? With PredicateBuilder I can only add And / Or expressions.</p>
  
  <p>Here's an example of how I construct the predicate:</p>
  
  <pre><code>var contentPredicate = PredicateBuilder.Create&lt;MySearchResultItem&gt;(p =&gt; p.Content == parameters.QueryString);
  
  contentPredicate = contentPredicate.Or(k =&gt; k.Keywords == "myquery");
  
  mainPredicate = mainPredicate.And(contentPredicate);
  
  mainPredicate = mainPredicate.And(f =&gt; f["boostfield"] == "boostdata");
  </code></pre>
  
  <p>This will make "boostfield" a <em>must</em> field wich is not what I need (note the + before the field name):</p>
  
  <pre><code>+(+(_content:myquery keywords:myquery) +boostfield:boostdata)
  </code></pre>
  
  <p>Is there a way to accomplish this?</p>