精确词组搜索

精确词组搜索仅返回包含线索中的全部词并且与您指定的词序完全一致的词组。

要执行精确词组搜索,请将 SEARCH_TYPE 调整参数设置为 PHRASE_EXACT,如以下示例中所示:
SELECT id, description FROM videos
    WHERE etx_contains(description, 
    Row ('multimedia document editor','SEARCH_TYPE = PHRASE_EXACT'));
下图显示当示例中的查询在 videos 表上运行时生成的命中列表。由于指定了不带模式匹配的精确词组搜索,因此不会返回包含词组 mulitmedia document editormulitmedia 是故意拼错的)的文档。

图: 精确词组搜索示例


显示将 SEARCH_TYPE 调整参数用于精确词组。videos 表的命中列表是包含精确词组“multimedia document editor”的行。

如果精确词组搜索的线索包含非索引字,那么即便该线索包含在文档中,也不会返回任何行。仅在 etx 索引忽略非索引字的情况下,即在使用 STOPWORD_LIST 索引参数创建了索引而非索引字列表又包含一个或多个线索中的词的情况下,才会出现这种情况。

例如,假设 etx 索引是通过索引参数 STOPWORD_LIST = 'my_list' 创建的,而非索引字列表 my_list 包含词 the。在这种情况下,对线索“walk the dog”执行精确词组搜索时,即便该精确词组包含在文档中,也不会返回任何行。

有两种方法可解决这一行为: