日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Coreseek:部门查询和增量索引代替实时索引

發布時間:2025/5/22 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Coreseek:部门查询和增量索引代替实时索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.行業調查

索引系統需要通過主查詢來獲取所有的文檔信息,一個簡單的實現是整個表的數據到內存,但是這可能會導致整個表被鎖定,并且使其它操作被阻止(例如:在MyISAM格款式上INSERT操作)。同時,會浪費大量的內存來存儲查詢結果。喜歡它的問題。 為了避免出現這樣的情況。CoreSeek/Sphinx支持一種被稱為 區段查詢的技術. 首先,CoreSeek/Sphinx從數據庫中取出文檔ID的最小值和最大值。將由最大值和最小值定義自然數區間分成若干份,一次獲取數據。建立索引。現舉比例如以下:

sql_query_range = SELECT MIN(id),MAX(id) FROM documents sql_range_step = 1000 sql_query = SELECT * FROM documents WHERE id>=$start AND id<=$end僅僅要在配置文件中面寫三條語句就可以

from后面要跟的是你數據庫里面的表名,如這里的表就是document

2.增量索引取代實時索引

有這么一種常見的情況:整個數據集很大,以至于難于常常性的重建索引,可是每次新增的記錄卻相當地少。一個典型的樣例是:一個論壇有1000000個已經歸檔的帖子,但每天僅僅有1000個新帖子。

在這樣的情況下能夠用所謂的“主索引+增量索引”(main+delta)模式來實現“近實時”的索引更新。

這樣的方法的基本思路是設置兩個數據源和兩個索引,對非常少更新或根本不更新的數據建立主索引。而對新增文檔建立增量索引。在上述樣例中,那1000000個已經歸檔的帖子放在主索引中,而每天新增的1000個帖子則放在增量索引中。增量索引更新的頻率能夠非常快,而文檔能夠在出現幾分種內就能夠被檢索到。

確定詳細某一文檔的分屬那個索引的分類工作能夠自己主動完畢。

一個可選的方案是,建立一個計數表,記錄將文檔集分成兩部分的那個文檔ID,而每次又一次構建主索引時,這個表都會被更新。

分辨要在mysql里建表,然后改動配置文件

# in MySQL CREATE TABLE sph_counter (counter_id INTEGER PRIMARY KEY NOT NULL,max_doc_id INTEGER NOT NULL );# in sphinx.conf source main {# ...sql_query_pre = SET NAMES utf8sql_query_pre = REPLACE INTO sph_counter SELECT 1, MAX(id) FROM documentssql_query = SELECT id, title, body FROM documents \WHERE id<span style="color:#ff0000;"><=</span>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) }source delta : main {sql_query_pre = SET NAMES utf8sql_query = SELECT id, title, body FROM documents \WHERE id<span style="color:#ff0000;">></span>( SELECT max_doc_id FROM sph_counter WHERE counter_id=1 ) }index main {source = mainpath = /path/to/main# ... all the other settings }# note how all other settings are copied from main, # but source and path are overridden (they MUST be) index delta : main {source = deltapath = /path/to/delta }
寫好之后,還要寫兩個批處理文件,一個做增量索引。一個合并索引。

增量索引:g:/service/coreseek/bin/indexer ?-c g:/service/coreseek/etc/csft_mysql.conf ? --rotate main_delta

合并索引:g:/service/coreseek/bin/indexer ?-c g:/service/coreseek/etc/csft_mysql.conf ?--merge main main_delta --rotate?

寫完后。既然后把該任務計劃,幾乎是同一5幾分鐘做一個增量索引,每天1有一半的時間做一個主索引

轉載于:https://www.cnblogs.com/yxwkf/p/4600215.html

總結

以上是生活随笔為你收集整理的Coreseek:部门查询和增量索引代替实时索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。