Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जब आप अपने एसक्यूएल में डेटा जोड़ते हैं तो क्या स्फिंक्स ऑटो अपडेट इंडेक्स होता है?

उत्तर नहीं है और आपको अपने डीबी को फिर से अनुक्रमित करने के लिए स्फिंक्स को बताना होगा।

कुछ चरण और आवश्यकताएं हैं जिन्हें आपको जानना आवश्यक है:

  1. मुख्य और डेल्टा आवश्यक हैं
  2. पहले रन के लिए आपको अपने मुख्य इंडेक्स को इंडेक्स करना होगा।
  3. पहले रन के बाद, आप डेल्टा को घुमाकर अनुक्रमित कर सकते हैं (यह सुनिश्चित करने के लिए कि सेवा चल रही है और उस समय वेब पर डेटा का उपयोग किया जा सकता है)
  4. आगे कदम बढ़ाने से पहले, आपको अपनी "अंतिम अनुक्रमित पंक्तियों" को चिह्नित करने के लिए एक तालिका बनानी होगी। आखिरी इंडेक्स की गई पंक्तियों की आईडी का इस्तेमाल अगले इंडेक्सिंग डेल्टा और डेल्टा को मुख्य में मर्ज करने के लिए किया जा सकता है।
  5. आपको अपनी डेल्टा अनुक्रमणिका को मुख्य अनुक्रमणिका में मर्ज करने की आवश्यकता है। जैसा कि स्फिंक्स दस्तावेज़ों के अंदर है http://sphinxsearch.com/docs/current.html#index-merging
  6. स्फिंक्स सेवा पुनरारंभ करें।

    टिप्स:अपना खुद का प्रोग्राम बनाएं जो सी # या अन्य भाषाओं का उपयोग करके इंडेक्स को निष्पादित कर सके। आप विंडोज़ के टास्क शेड्यूल को भी आजमा सकते हैं।

ये रहा मेरा कॉन्फिडेंस:

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
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql पैकेज का उपयोग करके नोडज से परिणाम कैसे प्राप्त करें?

  2. Class.forName(com.mysql.jdbc.Driver) कक्षा के लिए जार फ़ाइल में नहीं देख रहा है

  3. MySQL में स्वचालित रूप से जेपीए के साथ केस संवेदनशील कॉलम कैसे उत्पन्न करें

  4. java.sql.SQLException:jdbc के लिए कोई उपयुक्त ड्राइवर नहीं मिला:mysql:// localhost:3306/dbname

  5. पीएचपी मौत की सफेद स्क्रीन