0

我们有两个字段:关键字(权重 10)和文本(权重 1)。

我们来看三个记录:

A:关键字=“一些东西,快乐猫”,文本=“这是A”

B:关键字=“东西在哪里,一些狗”,文本=“这是B一些东西

C:keywords = "有些东西在哪里", text = "这是 B有些东西"

在搜索某些东西时,我们希望 A 记录高于 B 和 C。

Sphinx 显示 A 低于其他,因为它对这些东西的提及较少。但是 A 的关键字完全匹配(逗号的真正含义),所以它是唯一正确的答案。

如何配置 Sphinx 以实现这一目标?任何类型的文本预处理都是允许的。

4

2 回答 2

1

您可以根据需要检查各种排名模式。

请参阅SPH_RANK_SPH04排名模式,这应该按照您的期望工作您应该提及您使用的是哪个版本的 sphinx。

请在此处阅读有关排名模式的更多详细信息

于 2013-01-18T10:55:40.330 回答
0

在您的示例中,C 是最相关的。

您可以使用搜索词周围的引号按完全匹配进行过滤。您需要将匹配模式设置为 SPH_MATCH_MODE_EXTENDED2,它告诉 sphinx 获取包含确切字符串的文档。

我建议您看一下扩展搜索语法

于 2013-01-18T11:53:18.617 回答