It is not clear how much flexibility you expect in those queries. Can the second word never be full name? Can there be more than 2 words? How do you know the length of the prefix? When you say prefix, do you mean 'jo' is expected to match 'joseph'?
So, just generically, I would say why not index everything into one field with analyzer chain keeping both original and prefixed (EdgeNGrams) forms of the word? Maybe combined with some sort of post-filter if that over-matches. Regards, Alex. On Thu, 22 Nov 2018 at 19:37, NewMelchizedec sundararaj <[email protected]> wrote: > > Hi Fellow Searchers, > > I am indexing some content (say name) in to two fields with different > analyzer chains. One that would do edge prefix and the other regular > tokenization. > Let me call them name_prefix and name_term > > When an incoming partial query comes up, like "steve jo", I want the > first word to be searched in regular index while the jo to go to > prefix index. > > something like > name_term:steve AND name_prefix:jo > > works. > > But I would like to use them in a phrase. i.e. expect them to be next > to each other. Following are the things attempted. with out success. > > 1. regular phrase: "name_term:steve name_prefix:jo" - does not expect > field names. > 2. complex phrase query: {!complexphrase inOrder=true}"name_term:steve > name_prefix:jo" - does not allow different field names in the same > phrase. > 3. played around with {!surround}3w(name_term:steve,name_prefix:jo) - > does not support subquery (field names). > > Any other way this can be accomplished? > > Thanks > Melchi
