Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SOLR函数查询性能_Java_Performance_Solr_Lucene_Search Engine - Fatal编程技术网

Java SOLR函数查询性能

Java SOLR函数查询性能,java,performance,solr,lucene,search-engine,Java,Performance,Solr,Lucene,Search Engine,因此,有一个SOLR查询,其中一个fq是FunctionQuery 看 这是我的fq之一 {!frange l=1}or(and(exists(not(query({!v='type:scu'}))), or(or(termfreq(nba,184887),termfreq(nba,15817823),termfreq(nba,15819703),termfreq(nba,15821195),termfreq(nba,15859845),termfreq(nba,15860041), ...an

因此,有一个SOLR查询,其中一个fq是FunctionQuery

这是我的fq之一

{!frange l=1}or(and(exists(not(query({!v='type:scu'}))), or(or(termfreq(nba,184887),termfreq(nba,15817823),termfreq(nba,15819703),termfreq(nba,15821195),termfreq(nba,15859845),termfreq(nba,15860041), ...and 2000 other termfreq() calls))),exists(query({!v='isn_field:400112'})),exists(query({!v='(type:scu AND (is_svad:(20332 OR 21017 OR 200662 OR 23 OR 2685 OR 653 OR 266035 OR 267 OR 26612 OR 566127 OR 264129 OR 266133)))'}))) 
我的问题是,如果我没有使用FunctionQuery,这个FunctionQuery的性能如何比较,例如如果没有函数
或(termfreq(nba,number),termfreq(nba,number))
语句,我只做solr query
或(nba:number1或nba:number2或nba:number3…等等)


有没有办法进一步优化FunctionQuery,使其变得更快

一般来说,调用的函数查询越少越好。也就是说,根据索引中文档的数量、查询负载和配置文件以及缓存的使用情况和大小,这可能不是特定用例的性能问题

由于Solr有许多可用的缓存(Lucene也有),实际的性能影响将因外部因素而异

在这种情况下,您必须进行一些分析运行或活负载测试,以确定是否值得进行优化,但请记住,fq=-terms是单独缓存的,因此如果重复使用部分筛选器查询,您可以获得更好的缓存性能(不要在同一个筛选器中组合静态和动态查询,而是将它们分为一个动态和一个静态,以便更频繁地重用静态筛选器)。同样,性能将取决于新的Solr 4.10。

看看新的Solr 4.10,它能更有效地在单个字段中匹配多个术语。