Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8FE32200B78 for ; Fri, 2 Sep 2016 16:32:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 8E7A4160AAE; Fri, 2 Sep 2016 14:32:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D445C160A8C for ; Fri, 2 Sep 2016 16:32:21 +0200 (CEST) Received: (qmail 31465 invoked by uid 500); 2 Sep 2016 14:32:20 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 31442 invoked by uid 99); 2 Sep 2016 14:32:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Sep 2016 14:32:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id A29DC2C1B75 for ; Fri, 2 Sep 2016 14:32:20 +0000 (UTC) Date: Fri, 2 Sep 2016 14:32:20 +0000 (UTC) From: "Mikhail Khludnev (JIRA)" To: dev@lucene.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (SOLR-5725) Efficient facets without counts for enum method MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 02 Sep 2016 14:32:22 -0000 [ https://issues.apache.org/jira/browse/SOLR-5725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15458688#comment-15458688 ] Mikhail Khludnev commented on SOLR-5725: ---------------------------------------- ok. This line is better, I put it in. Is it worth to wait for more review feedback, or it's ready to be committed? > Efficient facets without counts for enum method > ----------------------------------------------- > > Key: SOLR-5725 > URL: https://issues.apache.org/jira/browse/SOLR-5725 > Project: Solr > Issue Type: Improvement > Components: search > Reporter: Alexey Kozhemiakin > Assignee: Mikhail Khludnev > Fix For: master (7.0), 6.3 > > Attachments: SOLR-5725-5x.patch, SOLR-5725-master.patch, SOLR-5725.patch, SOLR-5725.patch, SOLR-5725.patch, SOLR-5725.patch, SOLR-5725.patch, SOLR-5725.patch, SOLR-5725.patch > > > Shot version: > This improves performance for facet.method=enum when it's enough to know that facet count>0, for example when you it's when you dynamically populate filters on search form. New method checks if two bitsets intersect instead of counting intersection size. > Long version: > We have a dataset containing hundreds of millions of records, we facet by dozens of fields with many of facet-excludes and have relatively small number of unique values in fields, around thousands. > Before executing search, users work with "advanced search" form, our goal is to populate dozens of filters with values which are applicable with other selected values, so basically this is a use case for facets with mincount=1, but without need in actual counts. > Our performance tests showed that facet.method=enum works much better than fc\fcs, probably due to a specific ratio of "docset"\"unique terms count". For example average execution of query time with method fc=1500ms, fcs=2600ms and with enum=280ms. Profiling indicated the majority time for enum was spent on intersecting docsets. > Hers's a patch that introduces an extension to facet calculation for method=enum. Basically it uses docSetA.intersects(docSetB) instead of docSetA. intersectionSize (docSetB). > As a result we were able to reduce our average query time from 280ms to 60ms. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org For additional commands, e-mail: dev-help@lucene.apache.org