Hello, Chris. I suppose index time analysis can yield these terms: "paid","ms-reply-unpaid","ms-reply-paid", and thus let you avoid these expensive wildcard queries. Here's why it's worth to avoid them https://www.slideshare.net/lucidworks/search-like-sql-mikhail-khludnev-epam
On Mon, Jun 29, 2020 at 6:17 PM Chris Dempsey <cdal...@gmail.com> wrote: > Hello, all! I'm relatively new to Solr and Lucene (*using Solr 7.7.1*) but > I'm looking into options for optimizing something like this: > > > fq=(tag:* -tag:*paid*) OR (tag:* -tag:*ms-reply-unpaid*) OR > tag:*ms-reply-paid* > > It's probably not a surprise that we're seeing performance issues with > something like this. My understanding is that using the wildcard on both > ends forces a full-text index search. Something like the above can't take > advantage of something like the ReverseWordFilter either. I believe > constructing `n-grams` is an option (*at the expense of index size*) but is > there anything I'm overlooking as a possible avenue to look into? > -- Sincerely yours Mikhail Khludnev