3

我希望人们能够搜索#photography以及photography. 在 Sphinx 中,这些应该被视为两个不同的词。默认情况下,#photography映射到photography,我无法搜索主题标签。

我在此页面上读到,您可以将哈希标记添加到 charset_table 来完成此操作。我完全不知道如何做到这一点。我不知道 unicode,也不知道我的 charset_table 应该是什么。

有人能告诉我我的 charset_table 应该是什么吗?谢谢。

# charset_table     = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F

注意:我打算使用实时索引。(不确定这是否会有所不同)

4

2 回答 2

8

这是U+0023根据 Unicode 表。所以最终的配置应该是这样的

charset_table     = 0..9, A..Z->a..z, _, a..z, U+23, U+410..U+42F->U+430..U+44F, U+430..U+44F

不要忘记charset_type变量。AFAIK,此示例charset_table适用于utf-8. 除此之外,您应该U+23blend_chars变量中删除以允许 Sphinx 将其索引为合法字符。

于 2012-04-30T12:01:57.180 回答
0

我希望人们能够搜索#photography 以及摄影。在 Sphinx 中,这些应该被视为两个不同的词。默认情况下,#photography 映射到摄影,我无法搜索主题标签。

再会。

我认为它可以解决您的问题,但是:

直接从用户查询中调用搜索功能是一种不好的方式。

在 sphinx 引擎中调用搜索功能之前,您需要对用户字符串进行某种处理。例如,您可以检查用户字符串中的某种特殊字符并从查询中删除特殊字符。之后,您可以使用已进行的查询调用搜索功能。

祝你好运。

于 2012-05-05T09:16:37.150 回答