The research of searchable symmetric encryption (SSE) has been focused on the trade-off between security, performance, and functionality. Recently proposed Hidden Cross-Tags ( ${\mathsf {HXT}}$ ) protocol improves the Oblivious Cross-Tags ( ${\mathsf {OXT}}$ ) by avoiding the leakage of ‘Keyword Pair Result Pattern’ (KPRP), at the cost of increasing the storage size by two orders of magnitude. In this paper, we reconsider the principle of designing SSE protocols to prevent KPRP leakage. At first, we introduce a new primitive called subset membership check ( ${\mathsf {SMC}}$ ), where a set is encrypted such that its subset membership can be checked only through a protocol between ${\mathsf {Sender}}$ and ${\mathsf {Tester}}$ . The holistic security of ${\mathsf {SMC}}$ requires that nothing is revealed other than the membership of a subset after each execution of the protocol. We propose a hash-based ${\mathsf {SMC}}$ implementation with efficient computation, communication, and storage. Secondly, based on the hash-based ${\mathsf {SMC}}$ , we present a practical SSE protocol that supports conjunctive queries without KPRP leakage. Our SSE protocol, called ‘Practical Hidden Cross-Tags’ ( ${\mathsf {PHXT}}$ ), maintains the same storage size as ${\mathsf {OXT}}$ while preserving the same privacy and functionality as ${\mathsf {HXT}}$ . Compared with ${\mathsf {HXT}}$ , our ${\mathsf {PHXT}}$ reduces the storage size and the communication overhead by 91.29%, 64.29%, respectively, without degrading the computational efficiency.