Solr 8.6.2 - Solr loaded a deprecated plugin/analysis

2020-09-22 Thread Anuj Bhargava
How to solve this issue? How to replace it?

SolrResourceLoader
Solr loaded a deprecated plugin/analysis class [solr.DataImportHandler].
Please consult documentation how to replace it accordingly.


Difference in q.op param behavior between Solr 6.3 and Solr 8.5.2

2020-09-22 Thread gnandre
In 6.3, q.op param used to affect q as well fq param behavior. E.g. if q.op
is set to AND and fq is set to id:(1 2 3), no results will show up but if
it is set to OR then all 3 results will show up. This does not happen in
Solr 8.5.2 anymore.

Is this a bug? What does one need to do in Solr 8.5.2 to achieve the same
behavior besides passing the operator directly in fq param i.e. id:(1 OR 2
OR 3)


Re: TimeAllowed and Partial Results

2020-09-22 Thread Erick Erickson
TimeAllowed stops looking when the timer expires. If it hasn’t found any docs 
with a
non-zero score by then, you’ll get zero hits.

It has to be this way, because Solr doesn’t know whether a doc is a hit until 
Solr scores it.

So this is normal behavior, assuming that some part of the processing takes 
more than 2
seconds before it finds the first non-zero scoring document.

So what I’d recommend is that you build up your query gradually and find out 
what’s
taking the time. Something like
q=clause1
q=clause1 clause2

etc, all with timeAllowed at 2 seconds. Eventually you’ll find a clause that 
exceeds your timeout, then
you can address the root cause.

Best,
Erick

> On Sep 22, 2020, at 10:29 AM, Jae Joo  wrote:
> 
> I have timeAllowed=2000 (2sec) and having mostly 0 hits coming out. Should
> I have more than 0 results?
> 
> Jae



TimeAllowed and Partial Results

2020-09-22 Thread Jae Joo
I have timeAllowed=2000 (2sec) and having mostly 0 hits coming out. Should
I have more than 0 results?

Jae


Re: Many small instances, or few large instances?

2020-09-22 Thread Bram Van Dam
Thanks, Erick. I should probably keep a tally of how many beers I owe
you ;-)


On 21/09/2020 14:50, Erick Erickson wrote:
> In a word, yes. G1GC still has spikes, and the larger the heap the more 
> likely you’ll be to encounter them. So having multiple JVMS rather than one 
> large JVM with a ginormous heap is still recommended.
> 
> I’ve seen some cases that used the Zing zero-pause product with very large 
> heaps, but they were forced into that by the project requirements.
> 
> That said, when Java has a ZCG option, I think we’re in uncharted territory. 
> I frankly don’t know what using very large heaps without having to worry 
> about GC pauses will mean for Solr. I suspect we’ll have to do something to 
> take advantage of that. For instance, could we support a topology where all 
> shards had at least one replica in the same JVM that didn’t make any HTTP 
> requests? Would that topology be common enough to support? Maybe extend “rack 
> aware” to be “JVM aware”? Etc.
> 
> One thing that does worry me is that it’ll be easier and easier to “just 
> throw more memory at it” rather than examine whether you’re choosing options 
> that minimize heap requirements. And Lucene has done a lot to move memory to 
> the OS rather than heap (e.g. docValues, MMapDirectory etc.).
> 
> Anyway, carry on as before for the nonce.
> 
> Best,
> Erick
> 
>> On Sep 21, 2020, at 6:06 AM, Bram Van Dam  wrote:
>>
>> Hey folks,
>>
>> I've always heard that it's preferred to have a SolrCloud setup with
>> many smaller instances under the CompressedOops limit in terms of
>> memory, instead of having larger instances with, say, 256GB worth of
>> heap space.
>>
>> Does this recommendation still hold true with newer garbage collectors?
>> G1 is pretty fast on large heaps. ZGC and Shenandoah promise even more
>> improvements.
>>
>> Thx,
>>
>> - Bram
> 



Re: How to use query function inside a function query in Solr LTR

2020-09-22 Thread krishan goyal
This is solved by using local parameters. So

{!func}sub(num_tokens_int,query({!dismax qf=field_name v=${text}}))

works


On Mon, Sep 21, 2020 at 7:43 PM krishan goyal  wrote:

> Hi,
>
> I have use cases of features which require a query function and some more
> math on top of the result of the query function
>
> Eg of a feature : no of extra terms in the document from input text
>
> I am trying various ways of representing this feature but always getting
> an exception
> java.lang.RuntimeException: Exception from createWeight for SolrFeature
> . Failed to parse feature query.
>
>  Feature representations
> "name" : "no_of_extra_terms",
> "class" : "org.apache.solr.ltr.feature.SolrFeature",
> "params": {
> "q": "{!func}sub(num_tokens_int,query({!dismax
> qf=field_name}${text}))"
> },
>
> where num_tokens_int is a stored field which contains no of tokens in the
> document
>
>
> Also, feature representation with just a query parser like
>
> "q": "{!dismax df=field_name}${text}"
>
> works but I can't really getting my desired feature representation without
> using it in a function query where i want to operate on the result of this
> query to derive my actual feature
>