> I think n-grams sounds like the only way to get this done.
You don't have to settle for "the only way". You can totally have the
same field(s) copyFielded into multiple locations and then have each
target field use a different indexing pipeline, including ngrams,
phonetic processing, full match
If you're not familiar with the edismax query parser, that's often what
people use to fire the query off against more than one field without
having the users be aware of it. That means you could ngram
the e-mail field and when a user types something in the search
box search against both the "all"
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Chris,
On 7/24/18 4:46 PM, Chris Hostetter wrote:
>
> : We are using Solr as a user index, and users have email
> addresses. : : Our old search behavior used a SQL substring match
> for any search : terms entered, and so users are used to being
: We are using Solr as a user index, and users have email addresses.
:
: Our old search behavior used a SQL substring match for any search
: terms entered, and so users are used to being able to search for e.g.
: "chr" and finding my email address ("ch...@christopherschultz.net").
:
: By
1. the standard way to do this is to use ngrams. The index is larger,
but it gives you much quicker searches than trying to to
pre-and-postfix wildcards
2. use a fieldType with KeywordTokenizerFactory + (probably)
LowerCaseFilterFactory + TrimFilterFactory. And, in your case,
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
All,
We are using Solr as a user index, and users have email addresses.
Our old search behavior used a SQL substring match for any search
terms entered, and so users are used to being able to search for e.g.
"chr" and finding my email address