在coreseek里设置了sql_attr_string = code ,查询出来显示为0,是什么情况?

code是字符串,coreseek版本3... code是字符串,coreseek版本3 展开
 我来答
laolang81
2013-05-18 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:103万
展开全部
声明字符串序数属性(attribute)。可声明同一类型的多个不同名称的属性,可选项。
仅适用于SQL数据源(mysql,pgsql,mssql)。
这个属性类型(简称为字串序数)的设计是为了允许按字符串值排序,但不存储字符串本身。对字串序数做索引时,字符串值从数据库中取出、暂存、排序然后用它们在该有序数组中的序数代替它们自身,因此字串序数是个整型,对它们的大小比较与在原字串上做字典序比较结果相同。
早期版本上,对字串序数做索引可能消耗大量的RAM。自r1112起,字串序数的积累和排序也可在固定大小的内存中解决了(代价是额外的临时磁盘空间),并受mem_limit设置限制。
理想中字符串可以根据字符编码和本地字符集(locale)排序。例如,如果已知字符串为KOI8R编码下的俄语字串,那么对字节0xE0,0xE1和
0xE2排序结果应为0xE1,0xE2和0xE0,因为0xE0在KOI8R中代表的字符明显应在0xE1和0xE2之后。但很不幸,Sphinx目前
不支持这个功能,而是简单地按字节值大小排序。
请注意,这里的序号是每个索引根据自身数据计算的,因此在同时读取多个索引事实无法同时保留正确的顺序进行合并的。处理后的字符串被替换为处理时其在索引
中的序列号,但是不同的索引具有不同的字符串集。例如,如果'main'索引包含字符串"aaa", "bbb", "ccc", 直到
"zzz",它们将会被分别分配数值为1,2,3,直到26。但是'delta'如果仅包含"zzz",则会被分配数值1。那么在合并后,该顺序将被打
乱。不幸的是,在不存储原始字符串的情况下,这个问题无法解决(一旦存储原始字符串,序号将没有任何用处了)。

你的版本比我高,我用的
Sphinx 0.9.9/Coreseek 3.2
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式