sphinx 的 updateAttributes 方法

WBOY
풀어 주다: 2016-06-06 20:37:47
원래의
1115명이 탐색했습니다.

sphinx运行的时候执行了 updateAttributes 。执行之后可以查找到更新后的数据。
但过了一段时间好像又变回了原来的数据。不是很确定,但应该是这样。

我查了下updateAttributes相关的内容,说这个是修改当前内存里的数据,如果要修改到文件,就需要重新启动引擎。

我的问题是,修改了内存里的数据是不是说明这个值在sphinx重启之前一直保存在内存里?
还是,当这个文档从内存里移出的时候这些变更信息也随之移出?导致下次该文档重新导入内存的时候只能导入旧数据?

我们的引擎一直是保持开着的,不会对他进行重启。这个有没有什么弊端呢?

回复内容:

sphinx运行的时候执行了 updateAttributes 。执行之后可以查找到更新后的数据。
但过了一段时间好像又变回了原来的数据。不是很确定,但应该是这样。

我查了下updateAttributes相关的内容,说这个是修改当前内存里的数据,如果要修改到文件,就需要重新启动引擎。

我的问题是,修改了内存里的数据是不是说明这个值在sphinx重启之前一直保存在内存里?
还是,当这个文档从内存里移出的时候这些变更信息也随之移出?导致下次该文档重新导入内存的时候只能导入旧数据?

我们的引擎一直是保持开着的,不会对他进行重启。这个有没有什么弊端呢?

sphinx文档信息的存储模式,包括有none,extern,inline。默认是extern,当使用extern的时候,文档的属性是存放在另外一个文件(spd)中的,但是当启动searchd的时候,会把这个文件加载到内存中。

移除后是会丢失的,可以通过attr_flush_period控制每隔多少时间写回到磁盘中。

参考资料:
http://www.coreseek.cn/docs/coreseek_4.1-sphinx_2.0.1-beta.html
http://www.cnblogs.com/yjf512/p/3598332.html

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿