狮身人面像搜索:未正确索引多词形式

问题描述

我的字形文件中的特定条目存在问题 解释符合预期。

以下是几个示例:

1/48 > forty-eighth
1/96 > ninety-sixth

如您所见,这些条目包含斜杠和连字符,这可能与 我的问题。

由于某些原因,Sphinx未能正确地将每个分数等同于拼写 版。 “ 1/48”的搜索结果与“ 48”的搜索结果不同 是。换句话说,这些等效形式之间的映射不起作用。

在我的Sphinx配置中,我将正斜杠(/)设置为混合字符,因此我假设 分数被正确识别。

支持这一信念,以下单词形式条目确实可以正常工作:

1/4 > fourth

有人知道为什么我的长期同义词不能按预期工作吗?

我尝试用空格替换连字符,但这不会更改结果 所有。改变术语的顺序是否有帮助(即,它们在“>”的哪一侧 应该放置)?

非常感谢您的帮助。

解决方法

在Sphinx中使用字符时,请始终牢记以下几点:

默认情况下,Sphinx令牌生成器将未知字符处理为空白 https://sphinxsearch.com/blog/2014/11/26/sphinx-text-processing-pipeline/

使用文字格式时,这也给了我奇怪的结果。

我建议您将连字符添加到charset_tables中,使ninety-sixth成为一个单词。 ignore_chars也是一个选项,但是您将寻找ninetysixth

在很大程度上取决于数据集的其余部分和课程的用例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...