title: Can a $text search perform a partial match
body: <p>I'm very confused by this behavior. It seems inconsistent and strange, especially since I've read that Mongo isn't supposed to support partial search terms in full text search. I'm using version 3.4.7 of Mongo DB Community Server. I'm doing these tests from the Mongo shell.</p>
  <p>So, I have a Mongo DB collection with a text index assigned. I created the index like this:</p>
  <pre><code>db.submissions.createIndex({&quot;$**&quot;:&quot;text&quot;})
  </code></pre>
  <p>There is a document in this collection that contains these two values:</p>
  <p>&quot;Craig&quot;</p>
  <p>&quot;Dr. Bob&quot;.</p>
  <p>My goal is to do a text search for a document that has multiple matching terms in it.</p>
  <p>So, here are tests I've run, and their inconsistent output:</p>
  <p><strong>SINGLE TERM, COMPLETE</strong></p>
  <pre><code>db.submissions.find({&quot;$text&quot;:{&quot;$search&quot;:&quot;\&quot;Craig\&quot;&quot;}})
  </code></pre>
  <p>Result: Gets me the document with this value in it.</p>
  <p><strong>SINGLE TERM, PARTIAL</strong></p>
  <pre><code>db.submissions.find({&quot;$text&quot;:{&quot;$search&quot;:&quot;\&quot;Crai\&quot;&quot;}})
  </code></pre>
  <p>Result: Returns nothing, because this partial search term doesn't exactly match anything in the document.</p>
  <p><strong>MULTIPLE TERMS, COMPLETE</strong></p>
  <pre><code>db.submissions.find({&quot;$text&quot;:{&quot;$search&quot;:&quot;\&quot;Craig\&quot; \&quot;Dr. Bob\&quot;&quot;}})
  </code></pre>
  <p>Result: Returns the document with both of these terms in it.</p>
  <p><strong>MULTIPLE TERMS, ONE PARTIAL</strong></p>
  <pre><code>db.submissions.find({&quot;$text&quot;:{&quot;$search&quot;:&quot;\&quot;Craig\&quot; \&quot;Dr. Bo\&quot;&quot;}})
  </code></pre>
  <p>Result: Returns the document with both terms in it, despite the fact that one term is partial. There is nothing in the document that matches &quot;Dr. Bo&quot;</p>
  <p><strong>MULTIPLE TERMS, BOTH PARTIAL</strong></p>
  <pre><code>db.submissions.find({&quot;$text&quot;:{&quot;$search&quot;:&quot;\&quot;Crai\&quot; \&quot;Dr. Bo\&quot;&quot;}})
  </code></pre>
  <p>Result: Returns the document with both terms in it, despite the fact that both terms are partial and incomplete. There is nothing in the document that matches either &quot;Crai&quot; or &quot;Dr. Bo&quot;.</p>
  <p><strong>Question</strong></p>
  <p>So, it all boils down to: why? Why is it, when I do a text search with a partial term with only a single value, nothing gets returned. When I do a text search with two partial terms, I get the matching result? It just seems so strange and inconsistent.</p>