Câu trả lời là không và bạn cần yêu cầu sphinx lập chỉ mục lại db của bạn.
Có một số bước và yêu cầu mà bạn cần biết:
- Chính và delta là bắt buộc
- Lần chạy đầu tiên, bạn cần lập chỉ mục chỉ mục chính của mình.
- Sau lần chạy đầu tiên, bạn có thể lập chỉ mục delta bằng cách xoay nó (để đảm bảo dịch vụ đang chạy và dữ liệu trên web có thể được sử dụng tại thời điểm đó)
- Trước khi thực hiện bước tiếp theo, bạn cần tạo một bảng để đánh dấu "các hàng được lập chỉ mục cuối cùng" của mình. Có thể sử dụng ID hàng được lập chỉ mục cuối cùng cho delta lập chỉ mục tiếp theo và hợp nhất delta thành chính.
- Bạn cần hợp nhất chỉ mục delta của mình với index.as bên trong các tài liệu nhân sư http://sphinxsearch.com/docs/current.html#index-merging
-
Khởi động lại dịch vụ tượng nhân sư.
LỜI KHUYÊN:Tạo chương trình của riêng bạn có thể thực thi chỉ mục bằng cách sử dụng C # hoặc các ngôn ngữ khác. Bạn có thể thử lịch trình tác vụ của windows cũng được.
Đây là tâm sự của tôi:
source Main
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = password
sql_db = table1
sql_port = 3306 # optional, default is 3306
sql_query_pre = REPLACE INTO table1.sph_counter SELECT 1, MAX(PageID) FROM table1.pages;
sql_query = \
SELECT pd.`PageID`, pd.Status from table1.pages pd
WHERE pd.PageID>=$start AND pd.PageID<=$end \
GROUP BY pd.`PageID`
sql_attr_uint = Status
sql_query_info = SELECT * FROM table1.`pages` pd WHERE pd.`PageID`=$id
sql_query_range = SELECT MIN(PageID),MAX(PageID)\
FROM tabl1.`pages`
sql_range_step = 1000000
}
source Delta : Main
{
sql_query_pre = SET NAMES utf8
sql_query = \
SELECT PageID, Status from pages \
WHERE PageID>=$start AND PageID<=$end
sql_attr_uint = Status
sql_query_info = SELECT * FROM table1.`pages` pd WHERE pd.`PageID`=$id
sql_query_range = SELECT (SELECT MaxDoc FROM table1.sph_counter WHERE ID = 1) MinDoc,MAX(PageID) FROM table1.`pages`;
sql_range_step = 1000000
}
index Main
{
source = Main
path = C:/sphinx/data/Main
docinfo = extern
charset_type = utf-8
}
index Delta : Main
{
source = Delta
path = C:/sphinx/data/Delta
charset_type = utf-8
}