Sphinx搜索整个字段但不是开始/结束

时间:2016-02-02 23:13:29

标签: sphinx

我正在尝试匹配包含短语中所有单词的字段,但到目前为止只能使用^和$来执行此操作。例如

^Word1 Word2$

返回名为"Word1 Word2"但不是"Word3 Word1 Word2"的记录。

然而,我想要的实际上也是"Word2 Word1"

所以我得到了如何使用^和$来表示字段的开头和结尾但是这会强制我输入的单词按特定顺序排列。显然我也可以搜索“Word2 Word1”,但它会变得更复杂(3个以上的单词术语等)

有没有办法告诉sphinx以任何顺序查看整个字段。换句话说,我希望"Word1 Word2""Word1 Word2""Word2 Word1"匹配,而不是"Word3 Word2 Word1"

1 个答案:

答案 0 :(得分:0)

可以使用NEAR /或邻近运算符来要求单词连接(但是以任何顺序),但实际上并不是一个需要“整个字段”的好方法。

最近可能会使用index_field_lengths,然后获取字段len可以在自定义排名表达式中使用。但是,如果索引中的多个字段实现起来非常棘手。