lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From NewMelchizedec sundararaj <mel...@gmail.com>
Subject Re: Two field phrase search
Date Fri, 23 Nov 2018 14:03:44 GMT
Hi Alex,

Thanks for your reply.  I am keeping the original with the edge, but not
sure how to mark them as original.  I would like to avoid a prefix match
for the full words.
You mentioned post-filter - can you shed some light on this?.  If only I
can remove these over-matches, that would be great.

My requirement is even more involved than my question.  say I have a set of
analyser chains
1. token
2. edgeNgram
3. phonetic
etc

I wanted to match every token against say these analyzed fields with
different weight, but never double counting their match for the same
token.  So I am wrapping them in a {!maxscore}.

In addition to this, I would like to maintain the proximity of the tokens
to one another (at least maintaining the proximity less than the
positionIncrementGap to remain with in a single value of a multi-valued
field).

Regards
Melchi


On Fri, 23 Nov 2018 at 17:54, Alexandre Rafalovitch <arafalov@gmail.com>
wrote:

> 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
> <melchi@gmail.com> 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
>


--

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message