build lucene query from symbols

to avoid the xcontent generation/parsing overhead. So instead of 

    symbols -> xcontent -> query

now it is only:

    symbols -> query
Nullable