I'm having a bit of trouble determining what you mean by "ternary search." The reason that binary search splits the array into two halves is that each comparison you make partitions the array into two regions, elements less than the element in consideration and elements greater than the element in consideration. I don't see an easy way to generalize this so that you split the array into three pieces by doing a single comparison.
However, if you don't split the array into equal halves and instead break it up into a 1/3 / 2/3 split on each iteration, then you will still get O(lg n) performance, though the constant term will be higher. In fact, for any constant ε in which you split the array into fractions of size ε / 1-ε pieces, you will get O(lg n) behavior.
If when performing the comparison you split the array into two pieces of size εn and (1-ε)n, terminating only when the array size becomes less than one, then the algorithm will terminate after k steps, where k is the smallest integer for which εkn < 1 and for which (1-ε)kn < 1. Rearranging, we get
εkn < 1
εk < 1/n
k > logε 1/n
k > - logε n
k > - lg n / lg ε
k > lg n / lg 1/ε
Using similar logic but with 1 - ε, we get that
k > lg n / lg 1/(1 - ε)
Notice that since lg 1/ε and lg 1/(1 - ε) are constants, the smallest k satisfying these properties is O(lg n).