title: Implement text index in C# memory
body: <p>I have a performance sensitive task and I am considering storing of all objects which is about 100,000 items in memory. (persistent at ms sql, but copy in memory to improve complex search performance)</p>
  
  <p>Search by key works fast enough, but search by text, eg. Contains is relatively slow - it takes about 30ms per each query like this:</p>
  
  <pre><code>IEnumerable&lt;Product&gt; result =
     products.Where(p =&gt;
     p.Title.Contains(itemnames[rnd.Next(itemnames.Length)]));
  </code></pre>
  
  <p>I already tried to use memory database db4o but it performance is even worse - about 1.5 seconds per search in 100K items.</p>
  
  <p>What's options in order not to review every object Title and perform this faster?</p>
  
  <p>What memory database can i use to solve this task?</p>