Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mYuus-0004kH-80 for pgsql-bugs@arkaria.postgresql.org; Fri, 08 Oct 2021 18:48:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mYuur-0002eX-8J for pgsql-bugs@arkaria.postgresql.org; Fri, 08 Oct 2021 18:48:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mYuRF-0001iO-3h for pgsql-bugs@lists.postgresql.org; Fri, 08 Oct 2021 18:17:45 +0000 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mYuRB-0001He-Bi for pgsql-bugs@lists.postgresql.org; Fri, 08 Oct 2021 18:17:44 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 9EDCF320094D for ; Fri, 8 Oct 2021 14:17:37 -0400 (EDT) Received: from imap42 ([10.202.2.92]) by compute1.internal (MEProxy); Fri, 08 Oct 2021 14:17:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=binarykeep.com; h=mime-version:message-id:date:from:to:subject:content-type; s= mesmtp; bh=mDoT4nT2RPX1Nbs1AfZ85Xu4mS2xZeiDfOOvjL1B+oU=; b=PBQo+ C6EW3CMOmpkKGAriqqVdkdxHUcUvuK8m+2WrZGaMO39v79ekzNLHu/VYvWHgnL1i 1cdd2h6R7poNIfd8pGer4FzsAekxVbbTkHFTSo7K4hXWZ7qHU9DfnQhU6ToW4QRD AUxhZR6tJIEvIkqh3j06DpbBPhF2BwQ1CuK9ps= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=mDoT4nT2RPX1Nbs1AfZ85Xu4mS2xZ eiDfOOvjL1B+oU=; b=Me5SDXPOoVMGxQNkkfQxO48PIDC8PSFEG5a6ZN4/vRDG0 j7eqtf/oREkUtbG8DGVse/vl5qSF0jEtConVpQCLo/2uwL2QPI9+09KRYL8tthuB KXPdBjglHBuY06JpsU4vdcv23bWm9XMy0EEu89GBtGrMo7G+Y7s3KMlPjLCaZAps GE1PfLXlN1LSzxK9Rj5WqZ7VB1M+5kvpgzFd2zt1KP4SSNbOrabw5/9YiMksx8hQ bugjpxvK0D+YF/nmD0YFrHHfyNWwiEHLCgLRHBmTIbIAuuLpLZozvFNrTA8MxVN2 RT6OVgEFt5dMfimrJLUZxOBXRgTrIk6pUKBHWdz+g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrvddttddguddvtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesthdtre dtreertdenucfhrhhomhepfdforghtthhhvgifucfpvghlshhonhdfuceomhhnvghlshho nhessghinhgrrhihkhgvvghprdgtohhmqeenucggtffrrghtthgvrhhnpeekhffgieehle dutdefueetleefveefueekvefgteelhfduieeujeekleelfeefvdenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmnhgvlhhsohhnsegsihhnrg hrhihkvggvphdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 245332180078; Fri, 8 Oct 2021 14:17:37 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-1331-g5ae342296a-fm-20211005.001-g5ae34229 Mime-Version: 1.0 Message-Id: <039b712e-e02f-4470-b6b4-7f810cc1bcb5@www.fastmail.com> Date: Fri, 08 Oct 2021 11:17:16 -0700 From: "Matthew Nelson" To: pgsql-bugs@lists.postgresql.org Subject: Text search prefix matching and stop words Content-Type: text/plain List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Prefix matching should not omit stop words, as matching lexemes may legitimately begin with stop words. # select to_tsquery('english', 'over:*') @@ to_tsvector('english', 'overhaul'); NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored ?column? ---------- f (1 row) I noticed this after implementing interactive, incremental search in an application. As the user typed "overhaul," with each successive character executing a search, "ove" and "overh" matched a particular document, but "over" did not. Reproduced in PostgreSQL 11, 13, and 14.