我希望人们能够搜索#photography
以及photography
。这些应该被视为Sphinx中的两个不同的词。默认情况下,#photography
会映射到photography
,我无法搜索主题标签。
我在this page上读到你可以将哈希标记添加到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
注意:我打算使用实时索引。 (不确定这是否有所不同)
答案 0 :(得分:8)
根据Unicode表,它是U+0023
。所以最终的配置应该是
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+23
变量中删除blend_chars
以允许Sphinx将其作为合法字符编入索引。
答案 1 :(得分:0)
美好的一天。我希望人们能够搜索#photography以及摄影。这些应该被视为Sphinx中的两个不同的词。默认情况下,#photography会映射到摄影,我无法搜索主题标签。
我认为对你来说有一些解决方法,但是:
直接从用户查询调用搜索功能是不好的方式。
在sphinx引擎中调用搜索功能之前,需要对用户字符串进行某种处理。 例如,您可以检查用户字符串中的某些特殊字符,并从查询中删除特殊字符。你可以通过继续查询来调用搜索功能。
祝你好运。