如何在TNTSearch中执行布尔AND搜索?
TNTSearch实现布尔AND搜索的正确方式
默认情况下,TNTSearch搜索cats dogs会返回包含cats 或 dogs的结果。要获取同时包含两个关键词的结果,你需要先启用布尔查询解析器,再使用特定的查询语法:
启用布尔查询解析器
在初始化TNTSearch时,切换到BooleanQueryParser(以PHP代码为例):use TeamTNT\TNTSearch\TNTSearch; use TeamTNT\TNTSearch\Query\BooleanQueryParser; $tnt = new TNTSearch; // 完成数据库连接、索引配置等初始化操作 $tnt->setQueryParser(new BooleanQueryParser());使用正确的查询语句
启用解析器后,使用+前缀标记必须包含的关键词:+cats +dogs这样就能只返回同时包含
cats和dogs的结果。
你之前尝试+cats +dogs无效,核心原因是没有启用布尔查询解析器,默认解析器不识别+前缀的强制逻辑。
内容的提问来源于stack exchange,提问作者Avatar
相关产品推荐
相关产品推荐

