ট্র্যাক পরিবর্তিত একটি পূর্ণ-পাঠ্য ক্যাটালগ কি: যদি এই টেবিলের জন্য ট্র্যাকিং পরিবর্তনটি সক্ষম না করা হয় তবে স্বয়ংক্রিয়ভাবে আপডেট হয়?


12

আমার কাছে এই ডাটাবেস টেবিলটি রয়েছে যা পুরো টেক্সট সূচকে আপ টু ডেট রাখার জন্য মনে করা হয়। তবে আমি এটি মোটেও ঘটতে দেখছি না (লগটিতে কোনও ত্রুটি নেই কারণ আমি যখন দেখি যে লগটি আমি ম্যানুয়ালি ট্রিগার করেছিলাম তখন তা ছিল)।

এখানে আমি যা দেখছি ...

পূর্ণ-পাঠ্য ক্যাটালগ বৈশিষ্ট্য

কিন্তু টেবিলে নিজেই ...

এখানে চিত্র বর্ণনা লিখুন

কেন এটি স্বয়ংক্রিয়ভাবে ঘটছে না?


স্বচ্ছতার জন্য আপনি কোন লগের কথা উল্লেখ করছেন?
মাইক জালানস্কি

@ মিকিজালানস্কি এটির সম্পূর্ণ পাঠ্য লগ যা পাওয়া যাবে(..\MSSQL\Log\SQLFT*)
কিন শাহ

উত্তর:


14

আপনি ভুল জায়গা তাকিয়ে আছেন।

আপনাকে নীচের মত চেক করতে হবে:

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

টি-এসকিউএল ব্যবহার করে ..

Use database_name
go
ALTER FULLTEXT INDEX ON schema.table_name SET CHANGE_TRACKING AUTO;

একবার হয়ে গেলে, আপনি শেষ জনবহুল তারিখের স্থিতি পরীক্ষা করতে পারেন

-- script source : http://stackoverflow.com/a/10505496/1387418
-- Modified by Kin on Dec 14' 2015 to reflect the FTCatalogName
DECLARE @CatalogName VARCHAR(MAX)
SET     @CatalogName = 'AW2008FullTextCatalog' -- change here !

SELECT name as FTCatalogName, 
    DATEADD(ss, FULLTEXTCATALOGPROPERTY(@CatalogName,'PopulateCompletionAge'), '1/1/1990') AS LastPopulated
    ,(SELECT CASE FULLTEXTCATALOGPROPERTY(@CatalogName,'PopulateStatus')
        WHEN 0 THEN 'Idle'
        WHEN 1 THEN 'Full Population In Progress'
        WHEN 2 THEN 'Paused'
        WHEN 3 THEN 'Throttled'
        WHEN 4 THEN 'Recovering'
        WHEN 5 THEN 'Shutdown'
        WHEN 6 THEN 'Incremental Population In Progress'
        WHEN 7 THEN 'Building Index'
        WHEN 8 THEN 'Disk Full.  Paused'
        WHEN 9 THEN 'Change Tracking' END) AS PopulateStatus
FROM sys.fulltext_catalogs

এখানে চিত্র বর্ণনা লিখুন

কিছু তথ্য Inোকান ..

insert into HumanResources.JobCandidate
(BusinessEntityID, Resume, ModifiedDate)
values 
    (4, NULL, DEFAULT)

এখন আপনি দেখতে পাবেন যে এফটি ক্যাটালগ আপডেট হয়েছে।

এখানে চিত্র বর্ণনা লিখুন

লগগুলিতে ( ..\MSSQL\Log\SQLFT*) এছাড়াও, নীচে বার্তাটি থাকবে ...

2015-12-14 12: 36: 51.29 স্পিড 50s তথ্যবহুল: পূর্ণ-পাঠ্য অটো জনসংখ্যা টেবিল বা সূচীকৃত দৃশ্যের জন্য সম্পন্ন হয়েছে [[অ্যাডভেঞ্চার ওয়ার্কস ২০১২]। [হিউম্যান রিসোর্সস]। [জবকাণ্ডিডেট] '(টেবিল বা সূচীকরণ আইডি' 1589580701 ', ডাটাবেস আইডি' 5 ')। প্রক্রিয়া করা নথিগুলির সংখ্যা: ১. নথিগুলির সংখ্যা ব্যর্থ: ০. নথি যা আবার চেষ্টা করা হবে তার সংখ্যা: ০।

বিওএল থেকে :

ডিফল্টরূপে, বা আপনি CHANGE_TRACKING অটো নির্দিষ্ট করে দিলে, পূর্ণ-পাঠ্য ইঞ্জিন পূর্ণ-পাঠ্য সূচিতে স্বয়ংক্রিয় জনসংখ্যা ব্যবহার করে। প্রাথমিক পূর্ণ জনসংখ্যা সম্পূর্ণ হওয়ার পরে, বেস টেবিলটিতে ডেটা সংশোধন করার সাথে সাথে পরিবর্তনগুলি ট্র্যাক করা হয় এবং ট্র্যাক করা পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে প্রচারিত হয়। পূর্ণ-পাঠ্য সূচকটি ব্যাকগ্রাউন্ডে আপডেট করা হয়েছে, তবে প্রচারিত পরিবর্তনগুলি তাত্ক্ষণিকভাবে সূচীতে প্রতিফলিত হবে না

ডিফল্টরূপে, এসকিউএল সার্ভার এটি তৈরি হওয়ার সাথে সাথেই একটি নতুন পূর্ণ-পাঠ্য সূচী পুরোপুরি পপুলেট করে। তবে, একটি পূর্ণ জনসংখ্যার উল্লেখযোগ্য পরিমাণে সংস্থান গ্রহণ করতে পারে। সুতরাং, শিখর সময়কালে একটি পূর্ণ-পাঠ্য সূচক তৈরি করার সময়, প্রায়শই অফ-পিক সময় না হওয়া পর্যন্ত সম্পূর্ণ জনসংখ্যার বিলম্ব করা সর্বোত্তম অনুশীলন, বিশেষত যদি পূর্ণ-পাঠ্য সূচকের বেস টেবিলটি বড় হয়। যাইহোক, পূর্ণ-পাঠ্য ক্যাটালগ যার সাথে সূচকটি অন্তর্ভুক্ত তার সমস্ত পূর্ণ-পাঠ্য সূচীগুলি পপুলেশন না করা অবধি ব্যবহারযোগ্য নয়।

এছাড়াও, পূর্ণ-পাঠ্য সূচকের পারফরম্যান্স উন্নত করুন


ধন্যবাদ! আমি যে ইস্যুটির দিকে নজর দিচ্ছি তা হ'ল আমি নিজে সূচকটি পুনরায় তৈরি না করা পর্যন্ত কেন এটি আপডেট হয় না। এটি সম্পর্কিত কিনা তা নিশ্চিত নন তবে এই সমস্যাটি সবচেয়ে বেশি সমস্যাযুক্ত বলে মনে হচ্ছে যে ডেটাবেসটি মিরর করা হচ্ছে is
মেটাগুরু

Issue I am looking at is why it doesn't seem to update at all until I manually rebuild the index.আমি যা দেখিয়েছি তা অনুসারে আপনি কি সেট করেছেন? যদি অনেকগুলি পরিবর্তন হয়, তবে এটি কিছুটা সময় নিতে চলেছে, যেহেতুThe full-text index is updated in the background, however, so propagated changes might not be reflected immediately in the index.
কিন শাহ

হ্যাঁ আপনি যে জায়গাগুলি দেখিয়েছেন তা আমি পরীক্ষা করেছিলাম এবং এটি আপনার উদাহরণগুলির মতো সঠিকভাবে কনফিগার করা হয়েছিল ... আশ্চর্যজনকভাবে যদিও শেষ বার লগগুলি বলেছিল যে এই সূচকটি কিছুদিন আগে আপডেট হয়েছিল, কয়েক সপ্তাহ আগেও, শেষ বারের সাথে নতুন সারি যুক্ত হওয়ার সাথে তুলনা করা হয়েছিল .. নতুন ডানাগুলি এই ডান অনুসারে যুক্ত করা হবে কি?
মেটাগুরু

1
হ্যাঁ .. আমি পরীক্ষা করেছি এবং তারপরে উত্তর হিসাবে পোস্ট করেছি।
কিন শাহ

1

কিছু কারণে, আমার পাঠ্যক্রমের প্রাপ্তি গ্রুপের ডেটাবেজ প্রতিলিপিটি নেওয়ার পরে প্রাথমিক প্রতিলিপি হয়ে যাওয়ার পরে পুরো পাঠ্য সূচকটি আমার এসকিউএল ২০১২ ডাটাবেসের একটিতে অটোপোপুলেটিং বন্ধ করে দিয়েছে।

সম্পূর্ণ পাঠ্য সূচকটি মুছে ফেলার পরে এবং এটি টেবিলটিতে পুনরায় পুনরায় তৈরি করার পরে স্বয়ংক্রিয়ভাবে পপুলেট হওয়ার পরে, এটি আবার অটোপোপুলেটিং শুরু করে। আমি এসকিউএল পরিচালন স্টুডিও এবং পূর্ণ পাঠ্য সূচকটি উইজার্ড তৈরি করে সূচকটি পুনরায় তৈরি করতে ব্যবহার করেছি।

আমি ডেটাটির সম্পূর্ণ সূচী পরিচালনা করতে কত সময় লাগবে তা নিয়ে আমি উদ্বিগ্ন ছিলাম। আমি আনন্দের সাথে অবাক হয়েছি যে 544619 রেকর্ড সহ একটি টেবিল থেকে 3 পাঠ্য কলামগুলি পুনরায় তালিকাবদ্ধ করতে কেবল 5 মিনিট সময় নিয়েছিল।

প্রশ্নটিতে উল্লিখিত সারণী স্তর পরিবর্তন ট্র্যাকিং সেটিংস অক্ষম থাকবে। সুতরাং পূর্ণ পাঠ্য সূচক পরিবর্তন ট্র্যাকিং অবশ্যই সারণী পরিবর্তন ট্র্যাকিং সেটিংস থেকে পৃথক। ফুল টেক্সট ইনডেক্সিং চেঞ্জ ট্র্যাকিং এবং ফুল টেক্সট ইনডেক্সিং অটোপোপুলেটে কাজ করার জন্য আপনার টেবিল চেঞ্জ ট্র্যাকিং সক্ষম করার দরকার নেই।

ডাটাবেস থেকে নিম্নলিখিত কোয়েরি চালানো শেষ সময় প্রকাশ করবে যখন আপনার সম্পূর্ণ পাঠ্য সূচকটি কোনও ক্রল চালিয়েছিল।

  SELECT  * FROM sys.fulltext_indexes

স্বতঃসিদ্ধকরণ চালু থাকা অবস্থায়, আপনি টেবিলের মধ্যে ডেটা sertোকানোর পরে ক্রল_অ্যান্ড_ডেটের পরিবর্তন হওয়া উচিত।

এছাড়াও, আপনি নোট করে রাখবেন যে আপনি যখন একটি পাঠ্য পূর্ণ পাঠ্য সূচক ব্যবহার করে চালাবেন, এটি সর্বশেষতম ডেটা প্রদর্শন করবে:

  select TOP 10 * from YOURDATATABLE where contains((YOUR_indexed_column),'YOURSEARCHTERM') order by YOURPRIMARYKEYCOLUMN desc

অতিরিক্ত তথ্যসূত্র:

পূর্ণ পাঠ্য অনুসন্ধান জনসংখ্যার বিভিন্ন পদ্ধতি বর্ণনা করে নিবন্ধ: https://msdn.microsoft.com/en-us/library/ms142575%28v=sql.100%29.aspx

একটি পূর্ণ পাঠ্য ইনডেক্সড টেবিলের অনুসন্ধানের তথ্য: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#queries

সম্পূর্ণ পাঠ্য অনুসন্ধান আর্কিটেকচার সম্পর্কিত নিবন্ধ: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#architecture

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.