Return-Path: Delivered-To: apmail-lucene-general-archive@www.apache.org Received: (qmail 19245 invoked from network); 14 Feb 2008 19:33:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Feb 2008 19:33:24 -0000 Received: (qmail 78629 invoked by uid 500); 14 Feb 2008 19:33:17 -0000 Delivered-To: apmail-lucene-general-archive@lucene.apache.org Received: (qmail 78612 invoked by uid 500); 14 Feb 2008 19:33:17 -0000 Mailing-List: contact general-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@lucene.apache.org Delivered-To: mailing list general@lucene.apache.org Received: (qmail 78599 invoked by uid 99); 14 Feb 2008 19:33:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Feb 2008 11:33:17 -0800 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Feb 2008 19:32:31 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1JPjpE-0007jg-6T for general@lucene.apache.org; Thu, 14 Feb 2008 11:32:52 -0800 Message-ID: <15487410.post@talk.nabble.com> Date: Thu, 14 Feb 2008 11:32:52 -0800 (PST) From: ripos To: general@lucene.apache.org Subject: Boosting documents individually for each user. MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: timofey.basanov@gmail.com X-Virus-Checked: Checked by ClamAV on apache.org I have web-site with a bunch of users. There are documents, that can be searched by users. I want to have result order to be slightly different for every user. Particularly, I want to allow users to 'star' documents, which will lead to showing them as top results for them. I want every user to have their individual 'stars' and individual search result order. For example I have users Alex and Bob and documents Xanadu, Yummi and Zelor. Alex has starred Xanadu and Bob has starred Yummi. When they search and all documents are found with weights 0.3, 0.2 and 0.1 accordingly I want to show: For Alex: *Xanadu*, Yummi, Zelor. For Bob: *Yummi*, Xanadu, Zelor. Relation (User, Document, Starred) is stored in a database. Users change their stars around 5 per second (for a whole site). There are about 10k users and 50k documents, every user stars about 100 documents, Lucene index is memory-based. Ideally I do not want to change Lucene index every time user stars a document. As far as I understand to allow Lucene make such an index I need to add fields, that corresponds to starred users to every document. I'm not sure, that this is appropriate solution, cause there will be huge number of boolean fields for many documents and too many changes in index. Am also thinking about custom weight function, which uses database queries for boosting, but this is also looks pretty bad. Also I could use java hashtables for storing weight function data. What could you recommend me? What solution will be more appropriate? If you could help me with google queries or direct links, I will be glad. Thanks for your help in advance. -- View this message in context: http://www.nabble.com/Boosting-documents-individually-for-each-user.-tp15487410p15487410.html Sent from the Lucene - General mailing list archive at Nabble.com.