Sponsored Content
The Lounge What is on Your Mind? FYI: Stack Overflow... seems there's quite a revolt of sorts going on over there and everywhere. Post 303044484 by sea on Monday 24th of February 2020 06:16:10 AM
Old 02-24-2020
As Churchill said:
Those who trade security for freedom, deserve neither.
 

8 More Discussions You Might Find Interesting

1. BSD

stack overflow in function psync_status Abort (core dumped)

I am running Open BSD 3.8 (3.5 upgrade) on a Pent Pro. 200, 64 Megs Ram, Nvedia Vanta TNT 16 Megs, Realtech 8139 Nic. When running ifconfig -a I get this error back. I've run searches on google no deal. I can get Stack overflow or psync, but not both. So I would really like to know how to fix it. ... (0 Replies)
Discussion started by: jmcpreach
0 Replies

2. HP-UX

Problem with stack overflow

Hi, I get a problem with stack overflow on HP-UX, when running a C program. Pid 28737 received a SIGSEGV for stack growth failure. Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz. The possible cause i found, was that the definition of a structure had... (0 Replies)
Discussion started by: karthikb23
0 Replies

3. AIX

IBM xlf "parser stack overflow" error

Hello, Does anybody know how to increase IBM xlf parser stack to get rid of the "parser stack overflow" error? Thanks Ping (1 Reply)
Discussion started by: luop0812
1 Replies

4. Shell Programming and Scripting

Create a script which sorts a file

I have a file below which has a list of users and roles with each row having unique combination of users and roles. USER1 ROLE1 USER1 ROLE2 USER2 USER3 ROLE1 USER3 ROLE2 USER3 ROLE3 USER4 ROLE2 .... .... I am trying to create a script which sorts the above file to have all the... (2 Replies)
Discussion started by: stevefox
2 Replies

5. Ubuntu

Stack overflow i guess while insmod

I have built kernel 2.6.35 on my Ubuntu system with some specific requirement. I also built some app defined module with the same kernel. I booted up the built version and I find it did not work properly as there is some gui and other modules missing problem. But the system booted up and I did... (0 Replies)
Discussion started by: sunilsukumar4u
0 Replies

6. UNIX for Dummies Questions & Answers

perform stack overflow

Help! I have an AIX system that has a power outage. When I logged in as root and got the system up and running it all looked ok. But.....when a user tries to log in they receive the error: The perform stack has overflowed OP=2117 PC=2124 E=46 in emmcshflif icrun is finished How can I fix... (1 Reply)
Discussion started by: dlegnar
1 Replies

7. AIX

Poll of sorts - on LDAP

1) Do you use LDAP on AIX? (as a client) 2) If yes, what LDAP server technology do you use: a) IDS (or ITDS) - IBM Tivoli Directory Server b) AD c) openLDAP d) other - please list. I ask, because I am looking at openLDAP as well as IDS and am wondering if there is a clear preference I... (4 Replies)
Discussion started by: MichaelFelt
4 Replies

8. Hardware

Stack Overflow Questions Tags Users Badges Unanswered Ask Question Ask for the explanation of types

I have read a document which tells me the following 4 things are done by the RAM embedded on disk driver controller. But I don't know what's difference between buffer and cache. Thanks! RAM on disk drive controllers 1 firmware 2 speed matching buffer 3 prefetching buffer 4 cache (1 Reply)
Discussion started by: 915086731
1 Replies
KinoSearch1::Docs::FileFormat(3pm)			User Contributed Perl Documentation			KinoSearch1::Docs::FileFormat(3pm)

NAME
KinoSearch1::Docs::FileFormat - overview of invindex file format OVERVIEW
It is not necessary to understand the guts of the Lucene-derived "invindex" file format in order to use KinoSearch1, but it may be helpful if you are interested in tweaking for high performance, exotic usage, or debugging and development. On a file system, all the files in an invindex exist in one, flat directory. Conceptually, the files have a hierarchical relationship: an invindex is made up of "segments", each of which is an independent inverted index, and each segment is made up of several subsections. [invindex]--| |-"segments" file | |-[segments]------| |--[seg _0]--| | |--[postings] | |--[stored fields] | |--[deletions] | |--[seg _1]--| | |--[postings] | |--[stored fields] | |--[deletions] | |--[ ... ]---| The "segments" file keeps a list of the segments that make up an invindex. When a new segment is being written, KinoSearch1 may put files into the directory, but until the segments file is updated, a Searcher reading the index won't know about them. Each segment is an independent inverted index. All the files which belong to a given segment share a common prefix which consists of an underscore followed by 1 or more decimal digits: _0, _67, _1058. A fully optimized index has only a single segment. In theory there are many files which make up each segment. However, when you look inside an invindex not in the process of being updated, you'll probably see only the segments file and files with either a .cfs or .del extension. The .cfs file, a "compound" file which is consolidated when a segment is finalized, "contains" all the other per-segment files. Segments are written once, and with the exception of the deletions file, are never modified once written. They are deleted when their data is written to new segments during the process of optimization. A segment's component parts Each segment can be said to have four logical parts: postings, stored fields, the deletions file, and the term vectors data. Stored fields The stored fields are organized into two files. o [seg_name].fdx - Field inDeX - pointers to field data o [seg_name].fdt - Field DaTa - the actual stored fields When a document turns up as a hit in a search and must be retrieved, KinoSearch1 looks at the Field inDeX file to see where in the data file the document's stored fields start, then retrieves all of them from the .fdt file in one lump. _1.fdx--| |--[doc#0 => 0]----->_1.fdt--| | |--[bodytext] | |--[title] | |--[url] |--[doc#1 => 305]----->_1.fdt--| # byte 305 | |--[bodytext] | |--[title] | |--[url] |--[...]--------------->_1.fdt--|--[...] If a field is marked as "vectorized", its "term vectors" are also stored in the .fdx file. Postings "Posting" is a technical term from the field of Information Retrieval which refers to an single instance of a one term indexing one document. If you are looking at the index in the back of a book, and you see that "freedom" is referenced on pages 8, 86, and 240, that would be three postings, which taken together form a "posting list". The same terminology applies to an index in electronic form. The postings data is spread out over 4 main files (not including field normalization data, which we'll get to in a moment). From lowest to highest in the hierarchy, they are... [seg_name].prx - PRoXimity data. A list of the positions at which terms appear in any given document. The .prx file is just a raw stream of VInts; the document numbers and terms are implicitly indicated by files higher up the hierarchy. [seg_name].frq - FReQuency data for terms. If a term has a frequency of 5 in a given document, that implies that there will be 5 entries in the .prx file. The terms themselves are implicitly specified by the .tis file. _1.frq--| |--[doc#40 => 2]----->_1.prx--|--[54,107] |--[doc#0 => 1]----->_1.prx--|--[6] |--[doc#6 => 1]----->_1.prx--|--[504] |--[doc#36 => 3]----->_1.prx--|--[2,33,747] |--[...]------------->_1.frq--|--[...] [seg_name].tis - TermInfoS. Among the items stored here is the term's doc_freq, which is the number of documents the term appears in. If a term has a doc_freq of 22 in a given collection, that implies that there will be 22 corresponding entries in the .frq file. Terms are ordered lexically, first by field, then by term text. _1.tis--| |--[...]----------------------->_1.frq--|--[...] |--[bodytext:mule => 1]-->_1.frq--|--[doc#40 => 2] |--[bodytext:multitude => 3]-->_1.frq--|--[doc#0 => 1] | |--[doc#6 => 1] | |--[doc#36 => 3] |--[bodytext:navigate => 1]-->_1.frq--|--[doc#21 => 1] |--[...]----------------------->_1.frq--|--[...] |--[title:amendment => 27]-->_1.frq--|--[doc#21 => 1] | |--[doc#22 => 1] |--[...]----------------------->_1.frq--|--[...] [seg_name].tii - TermInfos Index. This file, which is decompressed and loaded into RAM as soon as the IndexReader is initialized, contains a small subset of the .tis data, with pointers to locations in the .tis file. It is used to locate the right general vicinity in the .tis file as quickly as possible. _1.tii--| |--[bodytext:a => 20]---------->_1.tis--|--[bodytext:a] # byte 20 | |--[bodytext:about] | |--[bodytext:absolute] | |--[...] |--[bodytext:mule => 27065]---->_1.tis--|--[bodytext:mule] | |--[bodytext:multitude] | |--[...] |--[title:amendment => 56992]-->_1.tis--|--[title:amendment] |--[...] Here's a simplified version of how a search for "freedom" against a given segment plays out: 1. The searcher asks the .tii file, "Do you know anything about 'freedom'?" The .tii file replies, "Can't say for sure, but if the .tis file does, 'freedom' is probably somewhere around byte 21008". 2. The .tis file tells the searcher "Yes, we have 2 documents which contain 'freedom'. You'll find them in the .frq file starting at byte 66991." 3. The .frq file says "document number 40 has 1 'freedom', and document 44 has 8. If you need to know more, like if any 'freedom' is part of the phrase 'freedom of speech', take a look at the .prx file starting at..." 4. If the searcher is only looking for 'freedom' in isolation, that's where it stops. It already knows enough to assign the documents scores against "freedom", with the 8-freedom document scoring higher than the single-freedom document. Deletions When a document is "deleted" from a segment, it is not actually purged from the postings data and the stored fields data right away; it is merely marked as "deleted", via the .del file. The .del file contains a bit vector with one bit for each document in the segment; if bit #254 is set then document 254 is deleted, and if it turns up in a search it will be masked out. It is only when a segment's contents are rewritten to a new segment during the segment-merging process that deleted documents truly go away. Field Normalization Files For the sake of simplicity, the example search scenario above omits the role played the field normalization files, or "fieldnorms" for short. These files have the (theoretical) suffix of .f followed by an integer -- .f0, .f1, etc. Each segment contains one such file for every indexed field. By default, the fieldnorms' job is to make sure that a field which is 100 terms long and contains 10 mentions of the word 'freedom' scores higher than a field which also contains 10 mentions of the word 'freedom', but is 1000 terms in length. The idea is that the higher the density of the desired term, the more relevant the document. The fieldnorms files contain one byte per document per indexed field, and all of them must be loaded into RAM before a search can be executed. Document Numbers Document numbers are ephemeral. They change every time a document gets moved from one segment to a new one during optimization. If you need to assign a primary key to each document, you need to create a field and populate it with an externally generated unique identifier. Not compatible with Java Lucene The file format used by KinoSearch1 is closely related to the Lucene compound index format. (The technical specification for Lucene's file format is distributed along with Lucene.) However, indexes generated by Lucene and KinoSearch1 are not compatible. COPYRIGHT
Copyright 2005-2010 Marvin Humphrey LICENSE, DISCLAIMER, BUGS, etc. See KinoSearch1 version 1.00. perl v5.14.2 2011-11-15 KinoSearch1::Docs::FileFormat(3pm)
All times are GMT -4. The time now is 07:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy