WO2012120560A1 - 検索装置及び検索方法 - Google Patents
検索装置及び検索方法 Download PDFInfo
- Publication number
- WO2012120560A1 WO2012120560A1 PCT/JP2011/001336 JP2011001336W WO2012120560A1 WO 2012120560 A1 WO2012120560 A1 WO 2012120560A1 JP 2011001336 W JP2011001336 W JP 2011001336W WO 2012120560 A1 WO2012120560 A1 WO 2012120560A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- index
- attribute
- list
- registered
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
Definitions
- the present invention relates to a search device and a search method, and is suitable for application to, for example, a full-text search device that executes document search processing by a hybrid search method.
- the scan-type search method is a method for specifying a document including a search keyword by sequentially performing a full-text scan search for each document in a document group to be searched.
- a character string hereinafter referred to as a term
- a term a character string of a predetermined number of characters
- the term that has been extracted is defined as a key.
- a transposed index is created in advance, and a document including a search keyword is identified from a group of documents to be searched by a search process using the transposed index.
- the transposed index refers to management information in which each key is associated with a list of document numbers of documents including the key (hereinafter referred to as a document number list).
- the present invention has been made in consideration of the above points, and intends to propose a search device and a search method capable of suppressing an increase in the amount of management information.
- a search device that searches a document including a search keyword from a registered document group, a document that registers a new document in the document group in response to a registration request from a host device.
- the registration unit extracts the first term from the new document, and when the extracted first term is registered in the management information, the new term is added to the list corresponding to the first term.
- An index generation unit that executes an index generation process for registering identification information of the new document in the first search term, and a number of characters having the same number of characters as the first term from the specified search keyword.
- an index search unit that specifies a document including the search keyword based on the extracted second term and the management information, and the index generation unit includes the first term.
- the management information includes attribute information for each list indicating whether the attribute of the list is the first attribute or the second attribute.
- a first step of registering a new document in the document group in response to a registration request from a higher-level device When the first term is extracted from the new document and the extracted first term is registered in the management information, the identification information of the new document is added to the list corresponding to the first term. When the extracted first term is not registered in the management information, the first term is newly registered in the management information, and the new term is added to the list corresponding to the first term.
- the present invention it is possible to reduce the number of document identification information registered in the list by setting a predetermined threshold value, and thus to suppress an increase in the amount of management information.
- FIG. 1 indicates the full-text search system according to this embodiment as a whole.
- the full text search system 1 includes a client 2 and a full text search device 3. These client 2 and full-text search device 3 are connected via a network 4.
- the client 2 is a computer device provided with information processing resources such as a CPU (Central Processing Unit) and a storage device (for example, a memory or a hard disk device), and is configured by a personal computer, for example.
- the client 2 can request the full-text search device 3 to search for a document including the search keyword specified by the user from among the documents registered in the full-text search device 3, and this data transmitted from the full-text search device 3 can be requested.
- the processing result of the document search processing according to the request can be displayed.
- the full-text search device 3 is a computer device that includes a CPU 10, a main storage device 11, an auxiliary storage device 12, an input device 13, and an output device 14, and includes, for example, a personal computer, a workstation, or a main frame.
- the CPU 10 is a processor that controls operation of the entire full-text search device 3.
- the main storage device 11 is composed of a semiconductor memory such as DRAM (Dynamic Random Access Memory), for example, and is used for storing various control programs and various control information, and also used as a work memory for the CPU 10. .
- a document registration program 20, an index generation program 21, an index search program 22, a document search program 23, and a search result return program 24, which will be described later, are also stored and held in the main storage device 11.
- the CPU 10 executes the control program stored in the main storage device 11, various processes as the entire full text search device 3 are executed.
- the auxiliary storage device 12 is composed of a large-capacity storage device such as a hard disk device or an optical disk device.
- the various control programs described above are initially stored in the auxiliary storage device 12 and are read from the auxiliary storage device 12 and stored in the main storage device 11 when the full-text search device 3 is activated or when the control program is executed.
- the auxiliary storage device 12 stores file data (hereinafter referred to as document data 25) 25 of each document registered in the full-text search device 3, as well as an index management table 26 and a document management table 27 described later. Are also stored and held in this auxiliary storage device.
- the input device 13 includes a keyboard and a mouse, and is used for a user to input various operations.
- the output device 14 includes a display, a speaker, and the like, and displays various types of GUI (Graphical User Interface) and various information under the control of the CPU.
- GUI Graphic User Interface
- a document to be searched when a document to be searched is registered in the search device, the document number of the document to be registered (hereinafter referred to as a registration target document) and the terms included in the registration target document Is registered in the inverted index by the “N-gram” method.
- the “N-gram” method is a method in which a character string of a predetermined number of characters is sequentially extracted from a registration target document, and the extracted character string (hereinafter referred to as a term) is used as a key of an inverted index.
- the document number of the registration target document is added to the end of the document number list associated with the term and registered. If the term extracted from the target document is not registered in the inverted index, the term is newly registered in the inverted index, and the document number of the registration target document is registered in the document number list associated with the term. To do.
- the document number of each document is assigned by the full-text search device so that the document number is unique in the full-text search device when the document is registered in the full-text search device. Document numbers are assigned so that a document registered later always has a larger number.
- an index type search process is executed. Specifically, a character string (hereinafter referred to as a search keyword term) having the same number of characters as the number of characters of the term (the above “N”) is sequentially cut out from the search keyword designated by the user or the like.
- a document number list of a document including the search keyword term is acquired from the transposed index, and document numbers existing in all the acquired document number lists are obtained. There is a possibility that the search keyword is included in the document with the document number obtained in this way.
- index type search process only such an index type search process can be used to determine that all search keyword terms are included in the document, and it cannot be determined that the search keyword itself is included. For example, if the search keyword is “corporation”, when a document including this “corporation” is searched using the inverted index, three search keyword terms “stock”, “ceremony party”, and “company” are obtained. Although all the documents can be specified, it is not known whether the detected document contains the search keyword “corporation” itself. This is because, even if the document does not include the character string “corporation”, if the character string “company of stock company” is included, the document is detected by the index type search process.
- all documents including all search keyword terms in the above example, all documents including three terms of “stock”, “ceremony”, and “company”).
- search keyword terms in the above example, all documents including three terms of “stock”, “ceremony”, and “company”.
- Patent Document 1 disclosed for the hybrid search method as described above, no consideration is given to the case where the number of document numbers registered in the document number list of the inverted index becomes enormous. For this reason, when a term that frequently appears in a document is registered in the inverted index, the number of document numbers registered in the document number list associated with the term increases, and the data of the inverted index is associated with this. There is a problem that the capacity increases.
- the capacity of a document number list (a document number list with a large number of registered document numbers) whose capacity may be increased in the above-described hybrid search method. It is characterized in that the list structure is changed so that becomes smaller. Specifically, when a new document is registered in the inverted index, the total number of document numbers registered in the document number list to which the document number of the document should be added is added to the document number of the new document. Sometimes, when a predetermined ratio (hereinafter referred to as 50%) of the total number of document numbers registered in the full-text search apparatus 3 is exceeded, the document number list does not include a term corresponding to the document number list. The document number of the document is converted into a registered list, and information indicating this (hereinafter referred to as index attribute information) is registered in the transposed index.
- index attribute information information indicating this
- the document number registered in the document number list is a document number of a document that does not include the term “company” (specifically, “2”, “4”, “6”). And “8”) are converted into a registered document number list.
- the full-text search apparatus 3 of this embodiment when such conversion is performed, information indicating that the above-described conversion has been performed for the document number list is registered in the inverted index. At the time of document search processing, based on this information, when searching for a document including a term that has undergone such conversion, a document with a document number not registered in the corresponding document number list is searched.
- the main storage device 11 of the full-text search device 3 has a document registration program 20, an index generation program 21, an index.
- a search program 22, a document search program 23, and a search result return program 24 are stored, and an index management table 26 and a document management table 27 are stored in the auxiliary storage device 12.
- the document registration program 20 is a program for executing various processes for registering the registration target document to which the document data 25 is transmitted from the client 2 in response to a user operation in the full-text search apparatus 3, and an index generation program 21 is a program for creating an inverted index.
- the index search program 22 is a program for specifying a document including a search keyword from all documents registered in the full-text search device 3 by a search process using an index-type search method. This is a program for specifying a document including a search keyword from each specified document by a search process using a scan type search method. Further, the search result return program 24 is a program that returns (transmits) the document number of each document specified by the document search program 23 to the requesting client 2.
- the index management table 26 corresponds to the above-described transposed index, and includes a term column 26A, an index attribute column 26B, a document number number column 26C, and a document number list column 26D, as shown in FIG. .
- Each term cut out from each document registered in the full-text search device 3 is stored in the term column 26A, and the document numbers of all documents including the corresponding term are registered in the document number list column 26D. Stored document number list.
- the document number column 26C the total number of document numbers registered in the corresponding document number list (hereinafter referred to as the document number number) is stored.
- index attribute information indicating whether or not the corresponding document number list is a list of documents including the corresponding term is stored in the index attribute column 26B. Specifically, when the corresponding document number list is a list of documents including the corresponding term (hereinafter referred to as a “table index” as appropriate), information “table” is stored in the index attribute column 26B. If the corresponding document number list is a list of documents that do not include the corresponding term (hereinafter referred to as the back index as appropriate), information “back” is stored in the index attribute column 26B. .
- the document including the term “stock” is assigned “3” with the document number “1”, “7”, or “8”. “Only one document”, and the index attribute of the document number list stored in the corresponding document number list column 26D is “table”.
- the document management table 27 is a table used for managing documents registered in the full-text search device 3, and as shown in FIG. 3, a document number column 27A, a file name column 27B, and a storage destination address column. 27C.
- the document number column 27A stores the document number assigned to each document registered in the full-text search device 3, and the file name column 27B stores the document file of the document to which the corresponding document number is assigned.
- the file name (including the extension) is stored.
- the storage destination address column 27C stores the storage destination address of the document file of the corresponding document.
- FIG. 4 shows that a document registration request (hereinafter referred to as a document registration request) and document data 25 of a registration target document are given from the client 2 to the full-text search apparatus 3.
- the processing procedure of the document registration process executed by the document registration program 20 of the full-text search device 3 is shown.
- the document registration program 20 when the document registration program 20 receives the document registration request and the document data 25, the document registration program 20 starts the document registration process, and first accepts the file name and document data 25 of the document to be registered (SP1). Thereafter, the document data 25 is stored in the auxiliary storage device 12 (SP2). As a result, the registration target document is registered in a document group to be searched in a document search process to be executed later.
- the document registration program 20 registers the registration target document in the document management table 27 (SP3). Specifically, the document registration program 20 assigns the smallest document number among the unused document numbers to the registration target document, creates a new line in the document management table 27, and assigns it to the registration target document. The document number is stored in the document number column 27A of that line. Further, the document registration program 20 stores the file name received in step SP1 in the file name column 27B of the line, and the auxiliary storage in which the registration target document is stored in the storage destination address column 27C of the line in step SP2. Stores the address in the device 12.
- the document registration program 20 starts the index generation program 21 (SP4), and thereafter ends this document registration processing.
- FIG. 5 shows a processing procedure of the index generation process executed by the index generation program 21 activated by the document registration program 20 in step SP4 of the document registration process described above.
- the index generation program 21 generates an index for the registration target document registered in the document management table 27 by the document registration program 20 in accordance with the processing procedure shown in FIG.
- the index generation program 21 when the index generation program 21 is activated by the document registration program 20, it starts this index generation processing.
- the document management table 27 is referred to and the document data 25 of the registration target document is stored in the auxiliary storage device 12. And a character string (term) of a predetermined number of characters is cut out from the beginning of the registration target document based on the read document data 25 (SP10).
- the index generation program 21 refers to the index management table 26 to determine whether or not the term cut out in step SP10 is already registered in the index management table 26 (SP11).
- the index generation program 21 obtains a negative result in this determination, it newly registers the term in the index management table 26 (SP12). Specifically, the index generation program 21 creates a new line in the index management table 26, and stores the term in the term column 21A of that line. The index generation program 21 stores the document number assigned to the registration target document in the document number list field 26D of the line, and further stores the document number in the document number list field 26D in the index attribute field 26B of the line. The index attribute of the document number list (here, “table”) is stored. Then, the index generation program 21 thereafter proceeds to step SP17.
- the index generation program 21 determines whether or not the index attribute of the document number list associated with the term in the index management table 26 is “table”. (SP13).
- step SP17 If the index generation program 21 obtains a negative result in this determination, it proceeds to step SP17, and if it obtains a positive result, it is registered in the document number list associated with the term on the index management table 26. It is determined whether or not the value obtained by adding 1 to the total number of documents is larger than half the maximum value of the current document number (SP14).
- Obtaining a negative result in this determination means that even if the document number of the document to be registered is added to the document number list associated with the term on the index management table 26, the document number registered in the document number list. Is 50% or less of the total number of documents registered in the full-text search apparatus 3 (including registration target documents).
- the index generation program 21 adds the document number of the document to be registered to the document number list associated with the term on the index management table 26, and handles the same term in the index management table 26.
- the number of document numbers stored in the number-of-document-numbers column 26C to be changed is changed to a value obtained by adding 1 to the current value (SP15). Then, the index generation program thereafter proceeds to step SP17.
- obtaining a positive result in the determination in step SP14 means that when the document number of the registration target document is added to the document number list associated with the term on the index management table 26, the document number This means that the total number of document numbers registered in the list is larger than 50% of the total number of documents (including registration target documents) registered in the full-text search device 3.
- the index generation program 21 uses the index attribute stored in the index attribute column 26B of the row associated with the term on the index management table 26 (the row in which the term is stored in the term column 26A).
- the index management table 26 is updated so as to change to “back” (SP16).
- the index generation program 21 registers the document number list stored in the document number list column 26D of the line associated with the term on the index management table 26 in the full-text search device 3 at present.
- a set of document numbers of all the existing documents is converted into a list of document numbers included in the difference set excluding the document numbers registered in the document number list.
- the index generation program 21 indicates that the index attribute stored in the index attribute column 26B of the row is “back” as the index attribute of the document number list stored in the document number list column 26D of the same row. Update to “Back”.
- the index generation program 21 changes the number of document numbers stored in the document number number column 26C of the row to the number of lists in the list of document numbers included in the difference set.
- the index generation program 21 determines whether or not the process of extracting the term from the registration target document has been completed to the end of the registration target document (SP17). When the index generation program 21 obtains a negative result in this determination, it returns to step SP10. Thereafter, the index generation program 21 sequentially shifts the position of the term to be cut out in step SP10 one character at a time toward the end of the registration target document. The process of step SP17 is repeated.
- step SP17 When the index generation program 21 eventually obtains a positive result in step SP17 by cutting out all the terms from the registration target document, it ends this index generation processing.
- FIG. 6 shows “stock”, “ceremony party”, and “patent” when 10 documents are registered in the full-text search apparatus 3 as shown in FIG. 3 and the index management table 26 is generated as shown in FIG. The index management table 26 after the document including the term “company” is registered in the full-text search apparatus 3 is not included.
- the index attribute of the document number list has been changed from front index to back index.
- the number of document numbers registered in the document number list corresponding to the term “company” is “5”. If the index attribute of the document number list is not changed, the document number list Considering that the number of document numbers to be registered is “6”, the number of document numbers registered in the document number list can be reduced by changing the index attribute of the document number list as described above. I understand.
- FIG. 7 receives the document search request transmitted from the client 2 and the search keyword specified by the user or the like transmitted from the client 2 together with the document search request.
- the document search processing procedure executed in the full-text search device 3 is shown.
- the full-text search device 3 executes document search processing by a hybrid search method according to the processing procedure shown in FIG.
- the index search program 22 receives the search keyword (SP20). Further, the index search program 22 uses the index management table 26 to execute index type search processing using this search keyword, thereby registering the document numbers of all documents that may contain the search keyword. A list not to be used (hereinafter referred to as a search result list) is created (SP21). Then, the index search program 22 starts the document search program 23 thereafter.
- the document search program 23 When the document search program 23 is activated by the index search program 22, the document data 25 of the document is read from the auxiliary storage device 12 for all documents whose document numbers are registered in the search result list, and the read document is read out. A scan type search process is executed on the data 25 (SP20). As a result, a document including the search keyword is detected from all documents registered in the search result list.
- the search result return program 24 is started.
- the search result return program 24 When the search result return program 24 is started by the document search program 23, the document numbers of all the documents including the search keyword detected by the processing of step SP22 are transmitted to the client that is the transmission source of the document search request. (SP23). Then, the full-text search device 3 thereafter ends this document search process.
- FIG. 8 shows specific processing contents of the index type search process executed by the index search program 22 in step SP21 of the document search process (FIG. 7) described above.
- the index search program 22 executes an index type search process according to the procedure shown in FIG. 8 and creates a search result list.
- the index search program 22 starts this index type search process.
- a search keyword term having the same number of characters as the term registered in the index management table 26 is searched. (SP30). Therefore, when the search keyword is “stock” and the number of characters of the term is “2”, three search keyword terms “stock”, “ceremony party”, and “company” are extracted from the search keyword. .
- the index search program 22 creates an empty (initial state) search result list in which the document number is not registered (SP31), and then searches for the head of the search keyword terms cut out from the search keyword.
- SP31 the document number is not registered
- SP32 a document number list in which the document numbers of documents including the search keyword term are registered is acquired as “document number list 1” (SP32).
- SP32 the document number list in which the document numbers of documents including the search keyword term are registered.
- the registered document number list (the top document number list in FIG. 2) is acquired as “document number list 1”.
- the index search program 22 selects the search keyword term cut out at the earliest stage from among the unprocessed search keyword terms (the search keyword term called “ceremony party” cut out second at this stage) ( SP33) By searching the index management table 26 using the selected search keyword term as a key, a document number list in which the document numbers of documents including the search keyword term are registered is acquired as “document number list 2” (SP34). ).
- the search keyword term is “ceremony”
- a document in which four document numbers “1”, “7”, “8”, and “9” are registered as “document number list 2”.
- a number list (second document number list from the top in FIG. 2) is acquired as “document number list 1”.
- the index search program 22 refers to the index management table 26 to determine whether or not the index attributes of “document number list 1” and “document number list 2” are both “table” (SP35). .
- the index search program 22 obtains a positive result in this determination, it obtains a product set of the document numbers registered in the “document number list 1” and the document numbers registered in the “document number list 2”. All the corresponding document numbers are stored in the search result list (SP36), and then the process proceeds to step SP42.
- the index search program 22 obtains a negative result in the determination at step SP35, it refers to the index management table 26 and the index attribute of “document number list 1” is “table” and “document number list 2”. It is determined whether or not the index attribute is “back” (SP37).
- the difference set is obtained by removing all the document numbers registered in the “document number list 2” from the document numbers registered in the “document number list 1”. And store all corresponding document numbers in the search result list (SP38), and then proceed to step SP42.
- the index search program 22 obtains a negative result in the determination at step SP37, it refers to the index management table 26 and the index attribute of “document number list 1” is “back” and “document number list 2” It is determined whether or not the index attribute is “table” (SP39).
- the difference set is obtained by removing all the document numbers registered in the “document number list 1” from the document numbers registered in the “document number list 2”. And store all corresponding document numbers in the search result list (SP40), and then proceed to step SP42.
- step SP39 when the index search program 22 obtains a negative result in the determination at step SP39, the document number registered in the “document number list 1” and the document number registered in the “document number list 2”. Is obtained, and all corresponding document numbers are stored in the search result list (SP41). Thereafter, the process proceeds to step SP42.
- step SP42 the search result list is copied to the “document number list 1” (SP42), and thereafter, the processing of steps SP33 to SP42 is finished for all the search keyword terms. It is determined whether or not (SP43).
- step SP33 When the index search program 22 obtains a negative result in this determination, it returns to step SP33, and thereafter repeats the processing of step SP33 to step SP43 while sequentially switching the search keyword terms selected in step SP33 to other search keyword terms. If the index search program eventually obtains a positive result in step SP43 by completing the execution of the processing of step SP33 to step SP43 for all search keyword terms, the index search program ends.
- reference numeral 30 denotes a full-text search system according to a second embodiment as a whole.
- This full-text search system 30 is the first implementation except that the contents of index generation processing executed by the index generation program 32 of the full-text search device 31 when a new document is registered in the full-text search device 31 are different. It is comprised similarly to the full text search system 1 by the form.
- the index generation processing according to the first embodiment described above with reference to FIG. 4 is performed with all document numbers registered in the index management table 26 when a document registration request from the client is given to the full-text search device 3. It is assumed that the index attribute of the list is “table”.
- the document management table 27 is in a state as shown in FIG. 9 (that is, 11 documents are registered), and the current index management table 26 is in a state as shown in FIG.
- the document management table 27 is in a state as shown in FIG. 9 (that is, 11 documents are registered)
- the current index management table 26 is in a state as shown in FIG.
- the document number of the newly registered document is “12”, and since this document includes the terms “stock”, “ceremony”, and “company”, the first implementation described above with reference to FIG.
- the index management table 26 after the document registration processing according to the form is as shown in FIG.
- the document number whose index attribute is “table” in the document number list corresponding to the term included in the newly registered document In the list (document number list corresponding to “stock” and “ceremony”), the document number of the new document is registered, and the index of the document number list corresponding to the term included in the newly registered document There is no problem because the document number of the new document is not registered in the document number list with the attribute “back” (document number list corresponding to “company”).
- the document number list whose index attribute is “back” (document number list corresponding to “patent”) is the term “patent”. Is not included in the document, the document number of the document remains unregistered in the document number list corresponding to the term.
- each term not included in the document is displayed on the index management table 26.
- the associated document number list when there is a document number list whose index attribute is “back”, a process of additionally registering the document number of the new document in the document number list (hereinafter, referred to as “document number list”). This is called index maintenance processing).
- FIG. 12 shows specific processing contents of index generation and index maintenance processing according to this embodiment executed by the index generation program 32 instead of the index generation processing according to the first embodiment described above with reference to FIG.
- the index generation program 32 is started in step SP4 of the document registration process described above with reference to FIG. 4 executed by the document registration program 20
- the registration target document is registered in the index management table 26 according to the processing procedure shown in FIG. After that, the index maintenance process described above is executed.
- index generation program 32 when the index generation program 32 is started by the document registration program 20, it starts this index generation and index maintenance processing, and steps SP50 to SP57 (index generation processing) are performed in the first embodiment described above with reference to FIG. The same processing as step SP10 to step SP17 of the index generation processing according to the form is performed.
- the index generation program 32 executes the index maintenance process described above (SP58), and thereafter ends the index generation and index maintenance process.
- FIG. 13 shows specific processing contents of the index maintenance processing executed by the index generation program 32 in step SP58 of the index generation and index maintenance processing (FIG. 12).
- step SP58 of the above-described index generation process (FIG. 12)
- step SP58 of the above-described index generation process (FIG. 12)
- steps SP60 to SP66 described later are performed. Is selected one line (SP60).
- the index generation program 32 uses the term stored in the term column 26A of the row selected in step SP60 as the index in step SP52 and step 55 of the index generation and index maintenance process (FIG. 12) executed at that time. It is determined whether or not the term is a processed term for the management table 26 (SP61).
- step SP66 If the index generation program 32 obtains a positive result in this determination, it proceeds to step SP66, and if it obtains a negative result, it refers to the index management table 26 and the index attribute of the document number list corresponding to the term is found. It is determined whether or not it is “table” (SP62).
- step SP66 If the index generation program 32 obtains a negative result in this determination, it proceeds to step SP66, and if it obtains a positive result, it is registered in the document number list associated with the term on the index management table 26. It is determined whether or not the value obtained by adding 1 to the total number of documents is larger than half the maximum value of the current document number (SP63).
- Obtaining a negative result in this determination means that even if the document number of the target document is added to the document number list (index attribute is “back”) associated with the term on the index management table 26, the document number This means that the total number of document numbers registered in the list is 50% or less of the total number of documents (including target documents) registered in the full-text search device 31.
- the index generation program 32 additionally registers the document number of the target document at that time in the document number list corresponding to the term of the line selected in step SP60 (SP64), and then proceeds to step SP66.
- obtaining a positive result in the determination at step SP63 adds the document number of the target document to the document number list (index attribute is “back”) associated with the term on the index management table 26. This means that the total number of document numbers registered in the document number list is larger than 50% of the total number of documents (including the target document) registered in the full-text search device 31.
- the index generation program 32 stores the index attribute stored in the index attribute column 26B of the row associated with the term on the index management table 26 (the row in which the term is stored in the term column 26A).
- the index management table 26 is updated so as to change from “back” to “front” (SP65).
- the index generation program 32 currently registers the document number list stored in the document number list field 26D of the line associated with the term on the index management table 26 in the full-text search device 31.
- a set of document numbers of all the existing documents is converted into a list of document numbers included in the difference set excluding the document numbers registered in the document number list.
- the index generation program 32 updates the index attribute stored in the index attribute column 26B of the row to “table”. Further, the index generation program 32 changes the number of document numbers stored in the document number number column 26C of the line to a value obtained by adding 1 to the current value.
- the index generation program 32 determines whether or not the above-described processing has been executed up to the last row of the index management table 26 (SP66). If the index generation program 32 obtains a negative result in this determination, it returns to step SP60, and thereafter, it sequentially switches the row on the index management table 26 selected in step SP60 to the next row, and then proceeds to steps SP60 to SP66. Repeat the process.
- step SP66 when the index generation program 32 eventually obtains a positive result in step SP66 by completing the execution of the above-described steps SP60 to SP66 for all the rows of the index management table 26, it ends this index maintenance process.
- FIG. 14 shows the state of the index management table 26 after such index maintenance processing is performed on the index management table 26 in the state of FIG. 11 (step SP50 to step SP57 of the index generation processing is completed). Show. Here, it is assumed that the document number of the registration target document is “12” and the term “patent” is not included in the registration target document.
- the index maintenance process after executing the index generation process, there is a document number list having the index attribute “back” on the index management table 26, and the document number list. Even when the term corresponding to is not included in the registration target document, the document number of the registration target document can be registered in the document number list.
- the document number “12” is not registered in the document number list corresponding to the term “patent” as shown in FIG. It is meant to include the term “patent”.
- the character string “Japanese patent” is given as a search keyword
- the document number “12” is extracted as the target of the scan-type search process, and the term “patent” is originally used.
- the scan type search process is executed even for a document that does not include. However, by executing such index maintenance processing, it is possible to avoid such unnecessary scan type search processing.
- the full-text search system 30 of this embodiment since the index maintenance process is executed after the index generation process, it is possible to effectively suppress the execution of the unnecessary scan type search process.
- a full-text search system that can improve the processing speed of the document search process can be realized.
- FIG. 15 shows the present embodiment as described above.
- a full-text search system 40 according to a third embodiment to which a hybrid search method is applied is shown.
- This full-text search system 40 is different from the full-text search systems 1 and 30 according to the first and second embodiments in the method for managing the index of registered documents in the full-text search device 41.
- the number of document numbers registered in the document number list corresponding to the terms registered in the index management table is 50% of the total number of documents registered in the full-text search device. If the index number of the document number list is exceeded, the index attribute of the document number list is converted to “back” to reduce the number of document numbers registered in the document number list.
- an index attribute of “mixed” is provided as an index attribute of the document number list.
- the index attribute of “mixed” indicates that the index attribute is “back” up to the document number registered immediately before a certain document number registered in the document number list (hereinafter referred to as a table index number). Yes, after the table index number, it represents the index attribute of “table”.
- a document including a term corresponding to the document number list is first stored in the full-text search device 41 after the index attribute of the document number list is converted to “back”. Apply the document number of the registered document. Therefore, when the index attribute of the document number list is converted to “mixed”, the index attribute of the document number list relating to the document number registered in the document number list thereafter becomes “table”.
- the index maintenance process performed in the second embodiment may be made unnecessary by converting the index attribute of the corresponding document number index to “mixed”.
- the information amount of the index management table 42 as a whole can be reduced.
- the index maintenance process performed in the second embodiment is not performed. Therefore, if the index attribute is “back”, the document number to be registered is registered. There will be no.
- the reverse index complementing process for complementing is performed at the time of the index type search process for the corresponding document number list, and the reverse index complementing process is periodically executed for all the document number lists having the index attribute “back”.
- the auxiliary storage device 12 of the full-text search device 41 has a document management table 27 and the full-text search device 41.
- a document management table 27 In addition to the document data 25 (document data 25) of each document registered in FIG. 16, an index management table 42 configured as shown in FIG. 16 and a document number management table 43 configured as shown in FIG. Has been.
- the index management table 42 includes a term column 42A, an index attribute column 42B, a document number number column 42C, a table index number column 42D, and a document number list column 42E.
- the term column 42A, the document number number column 42C, and the document number list column 42E the same information as the index management table 26 (FIG. 2) according to the first embodiment is stored.
- the index attribute column 42B stores the index attribute of the document number list stored in the document number list column 42E on the same line.
- an index attribute in this case in addition to “front” and “back”, there is an index attribute of “mixed” as described above. If the index attribute of the corresponding document number list is “mixed”, information to that effect (“mixed”) is stored in the index attribute column 42B.
- the index attribute of the corresponding document number list when the index attribute of the corresponding document number list is “mixed”, the index attribute is changed from “back” to “table” among the document numbers registered in the document number list.
- the document number to be switched is stored. If the index attribute of the corresponding document number list is “front” or “back”, information indicating that there is no value (“ ⁇ ”) is stored in the table index number column 42D.
- the index attribute of the document number list corresponding to the term “company” is “mixed”, and the document number “12” among a plurality of document numbers registered in the document number list. It is shown that the index attribute of the document number list is switched to “table”. Therefore, in this example, documents including the term “company” are assigned document numbers “1”, “3”, “5”, “7”, “9”, “11” or “12”, respectively. A total of 7 documents are obtained.
- the document number management table 43 is the largest document number among the document numbers assigned to the respective documents registered in the full-text search device 41 at the time when the periodic maintenance process described later with reference to FIG. (Hereinafter referred to as the maximum document number), and is configured from a maximum document number column 43A as shown in FIG. The maximum document number is stored in the maximum document number column 43A.
- FIG. 18 shows the index generation processing according to this embodiment executed by the index generation program 44 instead of the index generation processing according to the first embodiment described above with reference to FIG. Show the procedure.
- steps SP70 to SP73 are processed in the same manner as steps SP10 to SP13 of the index generation process according to the first embodiment, and steps SP75 to SP78 are index generation according to the first embodiment. Processing is performed in the same manner as step SP14 to step SP17.
- step SP73 when a negative result is obtained in step SP73, after the index generation program 44 converts the index attribute of the document number list corresponding to the registration target document to “mixed”, This is the same as the index generation process according to the first embodiment except that the index generation process is terminated.
- FIG. 19 shows specific processing contents of the hybrid index generation processing executed by the index generation program 44 in step SP73 of the index generation processing according to this embodiment.
- the index generation program 44 When the index generation program 44 proceeds to step SP73 of the index generation process, the index generation program 44 starts this hybrid index generation process, and the index attribute stored in the index attribute column 42B corresponding to the registration target document in the index management table 42 (FIG. 16). Change to “Hybrid”.
- the index generation program 44 stores the document number of the registration target document in the table index number column 42D corresponding to the registration target document, thereby setting the document number of the registration target document as the table index number. Further, the index generation program 44 adds the document number of the registration target document to the corresponding document number list (SP80).
- the index generation program 44 thereafter ends this hybrid index generation process.
- FIG. 20 shows a state of the index management table 42 after executing such a hybrid index process on the index management table 42 in the state of FIG.
- the document number of the registration target document is “12”, and this registration target document includes the terms “stock”, “ceremony” and “company”, but the term “patent” It shall not be included.
- the index attributes of the list are “table”, and even when the registration target document is registered in the full-text search device 41, the total number of document numbers registered in the document number list is registered in the full-text search device 41.
- the document number of the registration target document is registered in these document number lists without converting the index attribute of these document number lists.
- the index attribute of the document number list corresponding to the term “company” is “back”.
- the index attribute of this document number list is converted to “mixed” and the document number “12” is set as a table index number in the table index number field 42D.
- the document number “12” is added to the end of the document number list.
- FIGS. 21A and 21B show the processing procedure of the index type search process according to the present embodiment executed by the index search program 45 instead of the index type search process according to the first embodiment described above with reference to FIG. Show.
- the index type search process is characterized in that a process corresponding to this is executed in steps SP95 to SP98.
- the index search program 45 when the index search program 45 receives a search keyword from the client 2 in step SP20 of the document search process described above with reference to FIG. 7, the index search program 45 performs the index type search process according to the present embodiment shown in FIGS. 21A and 21B. Starting, steps SP90 to SP94 are processed in the same manner as steps SP30 to SP34 of the index type search process according to the first embodiment described above with reference to FIG.
- the index search program 45 determines whether or not the index attribute of the document number list 1 or the document number list 2 is “mixed” (SP95). If the index search program 45 obtains a negative result in this determination, it proceeds to step SP97, and if it obtains a positive result, it returns the index attribute of the document number list 1 or document number list 2 with the index attribute "mixed” to " A table index conversion process for conversion to “table” is executed (SP96).
- the index search program 45 determines whether or not the index attribute of the document number list 1 or the document number list 2 is “back” (SP97). If the index search program 45 obtains a negative result in this determination, it proceeds to step SP99, and if it obtains an affirmative result, it executes back index complement processing described later with reference to FIG. 23 (SP98).
- the index search program 45 performs the processing from step SP99 to step SP107 in the same manner as in step SP35 to step SP43 in FIG. 8, and thereafter the same processing (step (steps) for all search keyword terms cut out from the search keyword. Repeat steps SP33 to SP43).
- the index search program 45 ends this index type search processing.
- the index search program 45 proceeds to step SP96 in the above-described index type search process (FIGS. 21A and 21B), it starts the table index conversion process shown in FIG.
- the document number list 1 is selected (hereinafter referred to as a target document number list) (SP110).
- the index search program 45 refers to the index management table 42 to determine whether or not the index attribute of the target document number list is “mixed” (SP111). If a negative result is obtained, the process proceeds to step SP121. . On the other hand, if the index search program 45 obtains a positive result in this determination, it acquires the value of the maximum document number stored in the document number management table 43 (FIG. 17) (SP112).
- the index search program 45 acquires a set of document numbers equal to or smaller than the maximum document number as the temporary back index 1 (SP113). Therefore, the temporary back index 1 represents a set of document numbers of documents that do not include a term corresponding to the target document number list among documents registered in the full-text search device 41 before the regular maintenance process is executed last. .
- the index search program 45 acquires the value of the table index number related to the target document number list from the index management table 42 (SP114), and thereafter, among the document numbers registered in the document management table 27 (FIG. 15).
- a set of document numbers larger than the maximum document number value and smaller than the table index number value is acquired as the temporary back index 2 (SP115). Therefore, the temporary back index 2 was registered in the full-text search device 41 after the last periodic maintenance process and before the index attribute of the target document number list was changed to “mixed”. It represents a set of document numbers of documents that do not include terms corresponding to the document number list.
- the index search program 45 acquires the union of the document number included in the temporary back index 1 and the document number included in the temporary back index 2 as the temporary back index 3 (SP116).
- the index search program 45 removes the temporary back index 3 from the set of document numbers smaller than the table index number value of the target document number list among the document numbers registered in the document management table 27. And this is set as a temporary table index 1 (SP117).
- the index search program 45 acquires a set of document numbers equal to or higher than the table index number among the document numbers registered in the target document number list as the temporary table index 2 (SP118).
- the index search program 45 acquires the union of the temporary table index 1 and the temporary table index 2 as the temporary table index 3 (SP119), and then stores this temporary table index 3 in the target document number list (SP120). .
- the index search program 45 determines whether or not the processing of step SP111 to step SP120 is completed for both the document number list 1 and the document number list 2 (SP121). If the index search program 45 obtains a negative result in this determination, it selects the document number list 2 as the target document number list (SP122), and returns to step SP111. Then, the index search program 45 thereafter processes step SP111 to step SP120 in the same manner.
- step SP121 When the index search program 45 eventually obtains a positive result in step SP121 by completing the processing of step SP111 to step SP120 with respect to the document number list 1 and the document number list 2, it ends this table index conversion processing.
- FIG. 23 shows specific processing contents of the back index complementing process executed by the index search program 45 in step SP98 of the index type search process according to this embodiment described above with reference to FIGS. 21A and 21B.
- step SP98 of the index type search process it starts the back index complementing process shown in FIG. 23, and first selects the document number list 1 as the target document number list (SP130).
- the index search program 45 determines whether or not the index attribute of the target document number list is “back” (SP131), and if a negative result is obtained, proceeds to step SP139. On the other hand, when the index search program 45 obtains a positive result in this determination, it acquires the value of the maximum document number stored in the document number management table 43 (FIG. 17) (SP132).
- the index search program 45 acquires a set of document numbers equal to or smaller than the maximum document number as the temporary back index 1 (SP133). Further, the index search program 45 acquires the maximum value of the document number from the document management table 27 (SP134), and thereafter, the value of the maximum document number among the document numbers registered in the document management table 27 (FIG. 15). A set of document numbers that is larger than the maximum value of the document numbers acquired in step SP134 is acquired as the temporary back index 2 (SP135).
- the index search program 45 acquires the union of the document number included in the temporary back index 1 and the document number included in the temporary back index 2 as the temporary back index 3 (SP136), and acquires the acquired temporary back index. 3 is stored in the document number list (SP137).
- the index search program 45 determines whether or not the processing of step SP131 to step SP137 is completed for both the document number list 1 and the document number list 2 (SP138). If the index search program 45 obtains a negative result in this determination, it selects the document number list 2 as the target document number list (SP139), and returns to step SP131. Then, the index search program 45 thereafter processes step SP131 to step SP137 in the same manner.
- step SP138 when the index search program 45 eventually obtains a positive result in step SP138 by completing the processing of step SP131 to step SP137 with respect to the document number list 1 and the document number list 2, it ends this reverse index complementing processing.
- FIG. 24 shows a document number list supplement process (hereinafter referred to as a regular maintenance process) that is periodically executed by the index generation program 44 (FIG. 15). Show the procedure.
- the index generation program 44 periodically performs maintenance of the index management table 42 according to the processing procedure shown in FIG.
- the index maintenance program 44 starts this periodic maintenance process, first, it selects one unprocessed term from the terms registered in the index management table 42 (SP150), and the term (hereinafter referred to as “term”). It is determined whether or not the index attribute of the document number list corresponding to “this is called a target term” is “table” (SP151).
- index generation program 44 obtains a positive result in this determination, it proceeds to step SP162, and if it obtains a negative result, it determines whether or not the index attribute of the document number list corresponding to the target term is “back”. Is determined (SP152).
- the index generation program 44 When the index generation program 44 obtains an affirmative result in this determination, it creates a document number list that has been back-indexed by executing the back-index complement processing described above with reference to FIG. 23 for the document number list (SP153), It is determined whether the number of document numbers registered in the created document number list exceeds 50% of the total number of document numbers registered in the full-text search device 41 (SP154).
- the index generation program 44 If the index generation program 44 obtains a positive result in this determination, it executes the table index conversion process described above with reference to FIG. 22 on the document number list, thereby converting the document number list into a document whose index attribute is “table”. Conversion into a number list (SP156). At this time, the index generation program 44 changes the index attribute stored in the index attribute column 42B (FIG. 16) of the row corresponding to the target term on the index management table 42 to “table”, and the document of the row. The number of document numbers stored in the number-number column 42C is changed to the number of document numbers registered in the document number list after the index attribute is changed to “table”. Further, the index generation program 44 sets the table index number stored in the table index number column 42D corresponding to the target term on the index management table 42 to “ ⁇ ”. Then, the index generation program 44 proceeds to step SP162.
- the index generation program 44 when the index generation program 44 obtains a negative result in the determination at step SP154, it registers the document number list created at step SP153 so as to overwrite the corresponding document number list on the index management table 42. (SP155). At this time, the index generation program 44 sets the index attribute stored in the index attribute column 42B of the row corresponding to the target term on the index management table 42 to “back” and is registered in the document number list. Is set in the document number column 42C of that line. Further, the index generation program 44 changes the table index number stored in the table index number column 42D corresponding to the target term on the index management table 42 to “ ⁇ ”. Then, the index generation program 44 proceeds to step SP162.
- the index generation program 44 determines whether the index attribute of the document number list corresponding to the target term is “mixed” (SP157).
- the index generation program 44 When the index generation program 44 obtains a negative result in this determination, it proceeds to step SP162, and when it obtains a positive result, it performs the table index conversion processing described above with reference to FIG. 22 on the document number list of the target term. By executing this, the document number list is converted into a document number list having an index attribute of “table” (SP158).
- the index generation program 44 determines whether or not the number of document numbers registered in the document number list created by the table index conversion process in step SP158 exceeds 50% of the total number of document numbers registered in the full-text search device 41. Is determined (SP159).
- the index generation program 44 If the index generation program 44 obtains a negative result in this determination, it overwrites the corresponding document number list on the index management table 42 with the corresponding document number list converted to “table” in step SP158. Register (SP160). At this time, the index generation program 44 sets the index attribute stored in the index attribute column 42B of the row corresponding to the target term on the index management table 42 to “table” and is registered in the document number list. Is stored in the document number column 42C of that line. Further, the index generation program changes the table index number stored in the table index number column corresponding to the target term on the index management table to “ ⁇ ”. Thereafter, the process proceeds to step SP162.
- the index generation program 44 when it obtains a positive result in the determination at step SP159, it converts the document number list into a document number list whose index attribute is “back” (SP161). At this time, the index generation program 44 sets the index attribute stored in the index attribute column 42B of the row corresponding to the target term on the index management table 42 to “back”, and the document number number column 42C of the row. Is set to the number of document numbers registered in the document number list after the index attribute is changed to “back”. Further, the index generation program 44 sets the table index number stored in the table index number column 42D corresponding to the target term on the index management table 42 to “ ⁇ ”. Then, the index generation program 44 proceeds to step SP162.
- step SP162 it is determined whether or not the processing of the above-described steps SP150 to SP161 has been completed for all the rows of the index management table 42 (all the terms registered in the index management table 42). Is determined (SP162). If the index generation program 44 obtains a negative result in this determination, it returns to step SP150, and thereafter repeats the processing of step SP150 to step SP162 while sequentially selecting different unprocessed terms in step SP150.
- step SP162 When the index generation program 44 eventually obtains a positive result in step SP162 by completing the processing of steps SP150 to SP161 for all the terms registered in the index management table 42, the document management table 27 (FIG. 5). Is registered in the document number management table 43 (FIG. 17) as the maximum document number (SP163), and then the regular maintenance process is terminated.
- the index attribute “mixed” is provided as the index attribute of the document number list. It is possible to reduce the number of document numbers registered in the management table 42, thus realizing a full-text search system that can further suppress the increase in the amount of information in the index management table 42.
- FIG. 25 shows the full-text according to the fourth embodiment.
- a search system 50 is shown.
- the full-text search system 50 is configured by connecting a full-text search device 52 and one or a plurality of Web servers 55 via a network 54.
- the full-text search device 52 does not store the document data 25 of the registration target document given from the client 51, and the document data 25 is stored on the Web server via the network 54.
- the difference from the full-text search system 1 according to the first embodiment is that an index is generated from 55 and an index is generated.
- a URI Uniform Resource Identifier
- the full-text search device 52 that has received these document registration requests acquires the document data 25 from the Web server 55 associated with the URI specified in the document registration request.
- the full-text search device 52 registers the registration target document in the index management table 26 and the document management table 27 in the same manner as in the first embodiment. At this time, the full-text search device 52 registers the URI specified in the document registration request in the document management table 27 as the storage destination address of the registration target document, as shown in FIG.
- FIG. 27 shows the full-text search device when the client 51 gives a full-text search device 52 with a document registration request and the URI of the document to be registered.
- the processing procedure of the document registration process executed by the document registration program 53 (FIG. 25) in 52 is shown.
- the document registration program 53 When receiving the document registration request and the URI, the document registration program 53 first accepts the file name and URI of the file of the registration target document (SP170), and thereafter acquires the document data 25 from the corresponding Web server 55. (SP171).
- the document registration program 53 registers the registration target document in the document management table 27 (SP172). Specifically, the document registration program 53 assigns the smallest document number among the unused document numbers to the registration target document, creates a new line in the document management table 27, and assigns it to the registration target document. The document number is stored in the document number column 27A of that line. Further, the document registration program 53 stores the file name received in step SP170 in the file name column 27B of the line, and the URI to store the document received in step SP172 in the storage destination address column 27C of the line. Is stored. The document registration program 53 also registers the registration target document in the index management table 26 (SP172). Since this processing is the same as that in the first embodiment, description thereof is omitted here.
- the document registration program 53 starts the index generation program 172 (SP173), and thereafter ends this document registration processing.
- this is referred to as an index attribute conversion threshold
- the index attribute conversion threshold is fixed at 50% of the total document number.
- the present embodiment is characterized in that the user can freely set the index attribute conversion threshold.
- FIG. 28 shows a full-text search system 60 according to this embodiment equipped with such a function (hereinafter referred to as an index attribute conversion threshold value changing function).
- the full-text search system 60 is based on the point that the above-described index attribute conversion threshold value changing function is installed in the full-text search device 61 and the index attribute conversion threshold value set by the user using the index attribute conversion threshold value change function.
- the third embodiment except that the index generation program 62 installed in the full-text search device 61 determines whether or not to convert the index attribute of the document number list that is the target at that time into another index attribute.
- the full-text search device 61 displays an index attribute conversion threshold setting screen 70 as shown in FIG. 29 on the output device 14 after the regular maintenance process described above with reference to FIG. .
- the index attribute conversion threshold value setting screen 70 includes an index state display field 71, a threshold value setting field 72, an OK button 73, and a cancel button 74.
- the term whose index attribute is “table” in the document number list is in ascending order of the document number and the index attribute is “back”.
- a bar graph 75 having a length corresponding to the number of document numbers of the terms is displayed so as to correspond to the terms so that the terms are arranged in descending order.
- the bar graph 75 corresponding to the term “index” in the document number list is displayed with a solid line
- the bar graph 75 corresponding to the term whose index attribute in the document number list is “back”. Is displayed with a broken line.
- a two-dot chain line representing the currently set index attribute conversion threshold is displayed in association with these bar graphs.
- a character string “more than half” and a character string “more than a specified ratio”, and first and second selection buttons 76A and 76B associated with these character strings, respectively. Is displayed.
- the user can designate 50% of the fixed value as the value of the index attribute conversion threshold value by selecting the first selection button 76A, and also designates the second selection button 76B and the ratio designation field.
- the numerical value input in the ratio specifying field 77 at this time can be specified as the index attribute conversion threshold.
- the first selection button 76A is selected, and 50% of a fixed value is set as the index attribute conversion threshold.
- the user designates a desired numerical value as the index attribute conversion threshold value in the threshold setting field 72 as described above, and then clicks an OK button 73 to thereby set the index attribute conversion threshold value in the threshold setting field 72 at that time. Can be set to Then, the index attribute conversion threshold set at this time is stored in the threshold management table 63 (FIG. 28), and the threshold management table 63 is stored in the auxiliary storage device 12 of the full-text search device 61. The user can close the index attribute conversion threshold setting screen 70 by clicking the cancel button 74 without setting or changing the index attribute conversion threshold.
- FIG. 30 shows a processing procedure of index attribute conversion threshold setting screen display processing executed by the index generation program 62 with respect to the index attribute conversion threshold setting screen 70.
- the index generation program 62 (FIG. 28) displays the index attribute conversion threshold setting screen 70 on the output device 14 in accordance with the processing procedure shown in FIG.
- the index generation program 62 starts this index attribute conversion threshold value setting screen display process at a fixed interval or timing designated by the user.
- the corresponding document number list is retrieved from the index management table 42 (FIG. 16).
- a list in which all terms whose index attribute is “table” are extracted, and the extracted terms are arranged in ascending order of the number of document numbers registered in the corresponding document number list (the number of document numbers stored in the document number column 42C) Is created as list 1 (SP180).
- the index generation program 62 extracts all the terms whose index attribute is “back” in the corresponding document number list from the index management table 42, and extracts the extracted terms as the number of document numbers registered in the corresponding document number list.
- a list arranged in descending order is created as list 2 (SP181).
- the index generation program 62 creates a display list by linking the list 1 created in step SP180 and the list 2 created in step SP181 in the order of list 1 and list 2 (SP182). .
- the index generation program 62 displays the index attribute conversion threshold setting screen 70 on the output device 14 (SP183).
- the index generation program 62 as described above, in the index status display field 71 of the index attribute conversion threshold value setting screen 70, the document number list corresponding to each term in the order listed in the display list.
- the number of document numbers registered in is displayed as a bar graph 75.
- the index generation program 62 displays the bar graph 75 with a solid line for the term whose index attribute is “table” in the document number list and with a broken line for the term whose index attribute is “back”.
- FIG. 31 shows the processing procedure of the threshold setting process executed by the index generation program 62 when the OK button 73 is clicked after the index attribute conversion threshold is set on the index attribute conversion threshold setting screen 70. Show.
- the index generation program 62 sets the index attribute conversion threshold to a numerical value set on the index attribute conversion threshold setting screen 70 according to the processing procedure shown in FIG.
- the index generation program 62 starts this threshold setting processing. First, the index attribute set on the index attribute conversion threshold setting screen 70 is displayed. It is determined whether or not the conversion threshold is different from the numerical value currently registered in the threshold management table 63 (FIG. 28) (SP190).
- the index generation program 62 obtains a negative result in this determination, it ends this threshold value setting process.
- the index attribute conversion threshold stored in the threshold management table 63 is set as the index attribute conversion threshold on the index attribute conversion threshold setting screen 70.
- the updated value is updated (SP191), and then, one of the rows of the index management table 42, which has not yet been processed in steps SP192 to SP198 described later, is selected (SP192).
- the index generation program 62 determines whether or not the index attribute of the corresponding document number list stored in the index attribute column 42B (FIG. 16) of the row selected in step SP192 is “table” (see FIG. 16). SP193).
- the index generation program 62 obtains a negative result in this determination, the number of document numbers stored in the document number number column 42C (FIG. 16) of the line selected in step SP192 is stored in the document management table 27 (FIG. 28). It is determined whether or not the registered document number is greater than the maximum value ⁇ threshold value (SP194).
- step SP198 If the index generation program 62 obtains a negative result in this determination, it proceeds to step SP198, and if it obtains an affirmative result, the document number list stored in the document number list column 42E (FIG. 16) of that line.
- a conversion process for converting the index attribute of the table into “table” is executed (SP196), and then the process proceeds to step SP198.
- the index generation program 62 obtains a positive result in the determination at step SP193
- the number of document numbers stored in the document number number column 42C of the line selected at step SP192 is registered in the document management table 27. It is determined whether or not the document number is larger than the maximum value of the document number multiplied by the threshold value (SP196).
- step SP198 If the index generation program 62 obtains a negative result in this determination, it proceeds to step SP198, and if it obtains a positive result, it returns the index attribute of the document number list stored in the document number list column 42E of that line. Conversion processing for conversion to “back” is executed (SP197), and then the process proceeds to step SP198.
- the index generation program 62 determines whether or not the processing of step SP194 to step SP198 has been executed for all the rows of the index management table 42 (SP198). When the index generation program 62 obtains a negative result in this determination, it returns to step SP192, and thereafter repeats the processing of step SP192 to step SP197 while sequentially switching the row selected in step SP192 to another row.
- the index generation program 62 eventually obtains a positive result at step SP198 by completing the execution of the processing of step SP194 to step SP197 for all the rows of the index management table 42, it ends this threshold value setting processing.
- the document registration process executed by the document registration program 20 the index generation process executed by the index generation program 62, and the index search program 22, document search when a document search request from the client 51 is given. Since the processing contents of the various processes executed by the program 23 and the search result return program 24 are the same as those in the third embodiment, description thereof is omitted here.
- the index attribute conversion threshold can be freely set and changed by the user. Therefore, in addition to the effects obtained by the third embodiment, it is convenient for the user. A full-text search system that improves the performance can be realized.
- the present invention is applied to the full-text search devices 3, 31, 41, 52, 61 that execute the document search processing by the hybrid search method. Although the case where it is applied has been described, the present invention is not limited to this, and can also be applied to a search device that executes document search processing by an index type search method.
- the transposed index as the management information for managing the index of the document registered in the full-text search devices 3, 31, 41, 52, 61 is shown in FIG.
- the present invention is not limited to this, and various other configurations can be widely applied as the configuration of the inverted index.
- a number (document number) is applied as identification information to be given to a document registered in the full-text search devices 3, 31, 41, 52, 61.
- the present invention is not limited to this, and various other identification information capable of recognizing the registration order of documents, such as an ID combining alphabets, can be widely applied.
- the Web server 55 is applied as an external storage device that stores the document data 25 .
- the present invention is not limited to this, and for example, a disk array device or the like.
- the storage device may be applied.
- the present invention can be widely applied to search devices having various configurations that execute index-type search-type document search processing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
新たな文書から第1のタームを抽出し、抽出した第1のタームが管理情報に登録されているときには、対応するリストに当該新たな文書の識別情報を登録し、第1のタームが管理情報に登録されていないときには、その第1のタームを管理情報に新たに登録すると共に、対応するリストに当該新たな文書の識別情報を登録する一方、第1のタームに対応するリストに新たな文書の識別情報を登録する際、そのリストに登録された文書の識別情報の総数が既定の閾値を越えるときには、そのリストの属性を、そのリストに登録された文書が対応する第1のタームを含む第1の属性から、当該リストに登録された文書がその第1のタームを含まない第2の属性に変換し、管理情報に、リストの属性が第1又は第2の属性のいずれであるかを表すリストごとの属性情報を含ませるようにした。
Description
本発明は、検索装置及び検索方法に関し、例えばハイブリッド型検索方式による文書検索処理を実行する全文検索装置に適用して好適なものである。
近年、業務や日常生活のあらゆる場面で文書を検索することが行われており、これに伴い、全文検索装置の重要性が非常に高くなってきている。従来、全文検索装置において実行される文書検索方式として、スキャン型検索方式と、インデックス型検索方式とが存在する。
スキャン型検索方式は、検索対象となる文書群内の各文書を逐次全文スキャン検索することによって検索キーワードを含む文書を特定する方式である。またインデックス型検索方式は、検索対象となる文書群内の各文書から所定文字数の文字列(以下、これをタームと呼ぶ)を抽出(以下、これを切り出すと呼ぶ)し、切り出したタームをキーとして転置インデックスを予め作成し、この転置インデックスを利用した検索処理により、かかる検索対象となる文書群の中から検索キーワードを含む文書を特定する方式である。なお、転置インデックスとは、各キーと、そのキーを含む文書の文書番号のリスト(以下、これを文書番号リストと呼ぶ)とを対応付けた管理情報を指す。
また近年では、かかるスキャン型検索方式及びインデックス型検索方式を組み合わせたハイブリッド検索方式も提案されている(特許文献1参照)。
ところが、上述のインデックス型検索方式やハイブリッド検索方式によると、検索対象の文書番号数が増加した場合に、個々のタームを含む文書番号数も増えることとなり、転置インデックスを構成する個々の文書番号リストのデータ容量が増大化する問題があった。
本発明は以上の点を考慮してなされたもので、管理情報の情報量の増大化を抑制し得る検索装置及び検索方法を提案しようとするものである。
かかる課題を解決するため本発明においては、登録された文書群から検索キーワードを含む文書を検索する検索装置において、上位装置からの登録要求に応じて、新たな文書を前記文書群に登録する文書登録部と、前記新たな文書から前記第1のタームを抽出し、抽出した前記第1のタームが前記管理情報に登録されているときには、当該第1のタームに対応する前記リストに当該新たな文書の識別情報を登録し、抽出した前記第1のタームが前記管理情報に登録されていないときには、当該第1のタームを前記管理情報に新たに登録し、当該第1のタームに対応するリストに当該新たな文書の識別情報を登録するインデックス生成処理を実行するインデックス生成部と、指定された検索キーワードから前記第1のタームと同じ文字数の第2のタームを抽出し、抽出した前記第2のタームと、前記管理情報とに基づいて、前記検索キーワードを含む文書を特定するインデックス検索部とを設け、前記インデックス生成部が、前記第1のタームに対応する前記リストに前記新たな文書の識別情報を登録する際、当該リストに登録された前記文書の識別情報の総数が既定の閾値を越えるときには、当該リストの属性を、当該リストに登録された文書が対応する前記第1のタームを含む第1の属性から、当該リストに登録された文書が対応する前記第1のタームを含まない第2の属性に変換する属性変換処理を実行し、前記管理情報に、前記リストの属性が前記第1又は第2の属性のいずれであるかを表す前記リストごとの属性情報を含ませるようにした。
また本発明においては、登録された文書群から検索キーワードを含む文書を検索する検索方法において、上位装置からの登録要求に応じて、新たな文書を前記文書群に登録する第1のステップと、前記新たな文書から前記第1のタームを抽出し、抽出した前記第1のタームが前記管理情報に登録されているときには、当該第1のタームに対応する前記リストに当該新たな文書の識別情報を登録し、抽出した前記第1のタームが前記管理情報に登録されていないときには、当該第1のタームを前記管理情報に新たに登録し、当該第1のタームに対応するリストに当該新たな文書の識別情報を登録するインデックス生成処理を実行する第2のステップと、指定された検索キーワードから前記第1のタームと同じ文字数の第2のタームを抽出し、抽出した前記第2のタームと、前記管理情報とに基づいて、前記検索キーワードを含む文書を特定する第3のステップとを設け、前記第2のステップでは、前記第1のタームに対応する前記リストに前記新たな文書の識別情報を登録する際、当該リストに登録された前記文書の識別情報の総数が既定の閾値を越えるときには、当該リストの属性を、当該リストに登録された文書が対応する前記第1のタームを含む第1の属性から、当該リストに登録された文書が対応する前記第1のタームを含まない第2の属性に変換する属性変換処理を実行し、前記管理情報に、前記リストの属性が前記第1又は第2の属性のいずれであるかを表す前記リストごとの属性情報を含ませるようにした。
本発明によれば、既定の閾値の設定により、リストに登録される文書の識別情報の数を削減することができ、かくして管理情報の情報量の増大化を抑制することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1-1)本実施の形態による全文検索システムの構成
図1において、1は全体として本実施の形態による全文検索システムを示す。この全文検索システム1は、クライアント2及び全文検索装置3を備えて構成される。そしてこれらクライアント2及び全文検索装置3はネットワーク4を介して接続されている。
(1-1)本実施の形態による全文検索システムの構成
図1において、1は全体として本実施の形態による全文検索システムを示す。この全文検索システム1は、クライアント2及び全文検索装置3を備えて構成される。そしてこれらクライアント2及び全文検索装置3はネットワーク4を介して接続されている。
クライアント2は、CPU(Central Processing Unit)及び記憶装置(例えばメモリやハードディスク装置)等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ等により構成される。クライアント2は、全文検索装置3に登録されている文書の中からユーザにより指定された検索キーワードを含む文書の検索を全文検索装置3に要求することができ、全文検索装置3から送信されるこの要求に従った文書検索処理の処理結果を表示することができる。
全文検索装置3は、CPU10、主記憶装置11、補助記憶装置12、入力装置13及び出力装置14を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。
CPU10は、全文検索装置3全体の動作制御を司るプロセッサである。また主記憶装置11は、例えばDRAM(Dynamic Random Access Memory)などの半導体メモリから構成され、各種制御プログラムや各種制御情報などを記憶するために利用されるほか、CPU10のワークメモリとしても利用される。後述する文書登録プログラム20、インデックス生成プログラム21、インデックス検索プログラム22、文書検索プログラム23及び検索結果返却プログラム24もこの主記憶装置11に格納されて保持される。主記憶装置11に格納された制御プログラムをCPU10が実行することにより、全文検索装置3全体としての各種処理が実行される。
補助記憶装置12は、ハードディスク装置や光ディスク装置などの大容量の記憶デバイスから構成される。上述した各種制御プログラムは、初期時にはこの補助記憶装置12に保存されており、全文検索装置3の起動時やその制御プログラムの実行時に補助記憶装置12から読み出されて主記憶装置11に格納される。また補助記憶装置12には、全文検索装置3に登録された各文書のファイルデータ(以下、これを文書データ25と呼ぶ)25が格納されるほか、後述するインデックス管理テーブル26及び文書管理テーブル27もこの補助記憶装置に格納されて保持される。
入力装置13は、キーボード及びマウスなどから構成され、ユーザが各種操作を入力するために用いられる。また出力装置14は、ディスプレイ及びスピーカなどから構成され、CPUの制御のもとに各種のGUI(Graphical User Interface)や各種情報を表示する。
(1-2)本実施の形態によるハイブリッド型検索方式
次に、かかる全文検索システム1において採用されている本実施の形態のハイブリッド型検索方式について説明する。これに際して、まず、上述の特許文献1において提案されている従来のハイブリッド型検索方式について説明する。
次に、かかる全文検索システム1において採用されている本実施の形態のハイブリッド型検索方式について説明する。これに際して、まず、上述の特許文献1において提案されている従来のハイブリッド型検索方式について説明する。
かかる従来のハイブリッド型検索方式では、検索対象となる文書を検索装置に登録する際、その登録対象の文書(以下、これを登録対象文書と呼ぶ)の文書番号やその登録対象文書に含まれるタームを「N-gram」方式により転置インデックスに登録する文書登録処理が行われる。
ここで、「N-gram」方式とは、登録対象文書から所定文字数の文字列を順次切り出し、切り出した文字列(以下、これをタームと呼ぶ)を転置インデックスのキーとする方式である。「N-gram」の「N」は、登録対象文書から切り出すタームの文字数を表す。従って、N=2の場合、登録対象文書の先頭から順次2文字単位で文字列を切り出すことによりタームを作成することを意味し、例えば「株式会社」という文字列からは、「株式」、「式会」及び「会社」というタームが順次切り出されることになる。
上述の文書登録処理では、登録対象文書から切り出したタームが既に転置インデックスに登録されている場合、当該タームと対応付けられた文書番号リストの末尾にその登録対象文書の文書番号を追加し、登録対象文書から切り出したタームが転置インデックスに登録されていない場合には、当該タームを転置インデックスに新規に登録すると共に、そのタームと対応付けられた文書番号リストにその登録対象文書の文書番号を登録する。なお、各文書の文書番号は、その文書を全文検索装置に登録する際に全文検索装置内で一意となるように全文検索装置が割り当てる。また文書番号は、後に登録される文書の方が必ず大きい番号となるように割り当てられる。
一方、かかるハイブリッド型検索方式による文書検索処理では、まず、インデックス型検索処理が実行される。具体的に、ユーザ等により指定された検索キーワードから、タームの文字数(上述の「N」)と同じ文字数の文字列(以下、これを検索キーワードタームと呼ぶ)を順次切り出す。また切り出した検索キーワードタームごとに、その検索キーワードタームを含む文書の文書番号リストを転置インデックスからそれぞれ取得し、取得したすべての文書番号リストに存在する文書番号を求める。このようにして求めた文書番号が付与された文書に、検索キーワードが含まれている可能性がある。
ただし、このようなインデックス型検索処理だけでは、その文書中にすべての検索キーワードタームが含まれていることが分かるだけで、検索キーワード自体が含まれていることは確定できない。例えば、検索キーワードが「株式会社」である場合、この「株式会社」を含む文書を転置インデックスを利用して検索すると、「株式」、「式会」及び「会社」という3つの検索キーワードタームをすべて含む文書を特定できるが、検出した文書が「株式会社」という検索キーワード自体を含んでいるかは分からない。これは、「株式会社」という文字列を含まない文書であっても、「株式会員の会社」という文字列を含む場合には、その文書がインデックス型検索処理により検出されてしまうからである。
そこで、かかるハイブリッド型検索方式では、上述のようにすべての検索キーワードタームを含むすべての文書(上の例では、「株式」、「式会」及び「会社」の3つのタームを含むすべての文書)を特定した後、特定した各文書について、それぞれ検索キーワードを含むか否かをスキャン型検索方式により全文検索を行うことにより判定する。そして、検索キーワードを含む文書を検出した場合に、その文書の文書番号を要求元に返却する。
ところで、以上のようなハイブリッド型検索方式について開示された上述の特許文献1では、転置インデックスの文書番号リストに登録される文書番号数が膨大になった場合については何ら考慮されていない。このため、文書に頻繁に登場するタームが転置インデックスに登録されている場合、そのタームと対応付けられた文書番号リストに登録される文書番号の数が多くなり、これに伴って転置インデックスのデータ容量が大きくなる問題がある。
そこで、本実施の形態の全文検索装置3では、上述のハイブリッド型検索方式において、容量が大きくなる可能性がある文書番号リスト(登録される文書番号が多くなる文書番号リスト)については、その容量が小さくなるようにリスト構造を変更する点を特徴とする。具体的には、転置インデックスに新たな文書を登録する際に、その文書の文書番号を追加すべき文書番号リストに登録されている文書番号の総数が、その新たな文書の文書番号を追加したときに全文検索装置3に登録されている総文書番号数の所定割合(以下においては50パーセントとする)を越える場合には、その文書番号リストを、その文書番号リストに対応するタームを含まない文書の文書番号が登録されたリストに変換すると共に、その旨を表す情報(以下、これをインデックス属性情報と呼ぶ)を転置インデックスに登録する。
例えば、図2の例では、「会社」というタームに対応する文書番号リストには、「1」、「3」、「5」、「7」及び「9」という5つの文書番号が登録されており、この文書番号数は全文検索装置3に登録されている総文書番号数の50パーセントを越えている。よって、このような場合には、文書番号リストに登録されている文書番号が、「会社」というタームを含まない文書の文書番号(具体的には、「2」、「4」、「6」及び「8」)が登録された文書番号リストに変換されることになる。
また本実施の形態の全文検索装置で3は、このような変換を行った場合、その文書番号リストについて上述のような変換を行った旨の情報を転置インデックスに登録しておく。そして、文書検索処理時には、この情報に基づいて、かかる変換を行ったタームを含む文書を検索する際には、対応する文書番号リストに登録されていない文書番号が付与された文書を検索する。
以上のような本実施の形態による全文検索処理を実行するための手段として、図1に示すように、全文検索装置3の主記憶装置11には、文書登録プログラム20、インデックス生成プログラム21、インデックス検索プログラム22、文書検索プログラム23及び検索結果返却プログラム24が格納され、補助記憶装置12には、インデックス管理テーブル26及び文書管理テーブル27が格納されている。
このうち文書登録プログラム20は、ユーザ操作に応じてクライアント2から文書データ25が送信される登録対象文書を全文検索装置3に登録するための各種処理を実行するためのプログラムであり、インデックス生成プログラム21は、転置インデックスを作成するためのプログラムである。
またインデックス検索プログラム22は、全文検索装置3に登録された全文書の中から検索キーワードを含む文書をインデックス型検索方式の検索処理により特定するプログラムであり、文書検索プログラムは、インデックス検索プログラム22により特定された各文書の中から検索キーワードを含む文書をスキャン型検索方式の検索処理により特定するプログラムである。さらに検索結果返却プログラム24は、文書検索プログラム23により特定された各文書の文書番号を、要求元のクライアント2に返却(送信)するプログラムである。
一方、インデックス管理テーブル26は、上述の転置インデックスに相当するものであり、図2に示すように、ターム欄26A、インデックス属性欄26B、文書番号数欄26C及び文書番号リスト欄26Dから構成される。
そしてターム欄26Aには、全文検索装置3に登録された各文書から切り出された各タームがそれぞれ格納され、文書番号リスト欄26Dには、対応するタームを含むすべての文書の文書番号が登録された文書番号リストが格納される。また文書番号数欄26Cには、対応する文書番号リストに登録されている文書番号の総数(以下、これを文書番号数と呼ぶ)が格納される。
さらにインデックス属性欄26Bには、対応する文書番号リストが対応するタームを含む文書のリストであるか否かを表すインデックス属性情報が格納される。具体的には、対応する文書番号リストが、対応するタームを含む文書のリスト(以下、適宜、これを表インデックスと呼ぶ)である場合には、インデックス属性欄26Bに「表」という情報が格納され、対応する文書番号リストが、対応するタームを含まない文書のリスト(以下、適宜、これを裏インデックスと呼ぶ)である場合には、インデックス属性欄26Bに「裏」という情報が格納される。
よって図2の例では、全文検索装置3に登録された文書のうち、「株式」というタームを含む文書は、「1」、「7」又は「8」という文書番号がそれぞれ付与された「3」つの文書のみであり、対応する文書番号リスト欄26Dに格納されている文書番号リストのインデックス属性は「表」であることが示されている。
他方、文書管理テーブル27は、全文検索装置3に登録された文書を管理するために利用されるテーブルであり、図3に示すように、文書番号欄27A、ファイル名欄27B及び格納先アドレス欄27Cから構成される。
そして文書番号欄27Aには、全文検索装置3に登録されている各文書にそれぞれ付与されている文書番号が格納され、ファイル名欄27Bには、対応する文書番号が付与された文書の文書ファイルのファイル名(拡張子も含む)が格納される。また格納先アドレス欄27Cには、対応する文書の文書ファイルの格納先のアドレスが格納される。
(1-3)本実施の形態によるハイブリッド型検索方式に関する各種処理の内容
次に、上述のような本実施の形態によるハイブリッド型検索方式に関する各種処理の具体的な内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、その「プログラム」に基づいてCPU10がその処理を実行することは言うまでもない。
(1-3-1)文書登録処理
図4は、クライアント2から全文検索装置3に対して文書の登録要求(以下、これを文書登録要求と呼ぶ)及び登録対象文書の文書データ25が与えられたときに、当該全文検索装置3の文書登録プログラム20により実行される文書登録処理の処理手順を示す。文書登録プログラム20は、クライアント2から文書登録要求が与えられた時点で、インデックス管理テーブル26に登録されている各タームとそれぞれ対応付けられた文書管理リストのインデックス属性がすべて「表」である場合に、この図4に示す処理手順に従って、登録対象文書に関する必要な情報を文書管理テーブル27に登録する。
次に、上述のような本実施の形態によるハイブリッド型検索方式に関する各種処理の具体的な内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、その「プログラム」に基づいてCPU10がその処理を実行することは言うまでもない。
(1-3-1)文書登録処理
図4は、クライアント2から全文検索装置3に対して文書の登録要求(以下、これを文書登録要求と呼ぶ)及び登録対象文書の文書データ25が与えられたときに、当該全文検索装置3の文書登録プログラム20により実行される文書登録処理の処理手順を示す。文書登録プログラム20は、クライアント2から文書登録要求が与えられた時点で、インデックス管理テーブル26に登録されている各タームとそれぞれ対応付けられた文書管理リストのインデックス属性がすべて「表」である場合に、この図4に示す処理手順に従って、登録対象文書に関する必要な情報を文書管理テーブル27に登録する。
実際上、文書登録プログラム20は、かかる文書登録要求及びかかる文書データ25を受信すると、この文書登録処理を開始し、まず、その登録対象文書のファイルのファイル名及び文書データ25を受け付け(SP1)、この後、その文書データ25を補助記憶装置12に格納する(SP2)。これにより、その登録対象文書が、この後実行される文書検索処理において、検索対象となる文書群に登録される。
続いて、文書登録プログラム20は、登録対象文書を文書管理テーブル27に登録する(SP3)。具体的に、文書登録プログラム20は、登録対象文書に対して未使用の文書番号のうちの最も小さい文書番号を付与すると共に、文書管理テーブル27に新たな行を作成し、登録対象文書に付与した文書番号をその行の文書番号欄27Aに格納する。また文書登録プログラム20は、その行のファイル名欄27Bに、ステップSP1において受け付けたファイル名を格納すると共に、当該行の格納先アドレス欄27Cに、ステップSP2でその登録対象文書を格納した補助記憶装置12内のアドレスを格納する。
次いで、文書登録プログラム20は、インデックス生成プログラム21を起動し(SP4)、この後、この文書登録処理を終了する。
なお、上述の文書登録処理のステップSP4において文書登録プログラム20により起動されたインデックス生成プログラム21により実行されるインデックス生成処理の処理手順を図5に示す。インデックス生成プログラム21は、この図5に示す処理手順に従って、そのとき文書登録プログラム20により文書管理テーブル27に登録された登録対象文書についてのインデックスを生成する。
実際上、インデックス生成プログラム21は、文書登録プログラム20により起動されると、このインデックス生成処理を開始し、まず、文書管理テーブル27を参照して、登録対象文書の文書データ25を補助記憶装置12から読み出し、読み出した文書データ25に基づいて、予め定められた文字数の文字列(ターム)をその登録対象文書の先頭から1つ切り出す(SP10)。
続いてインデックス生成プログラム21は、インデックス管理テーブル26を参照して、ステップSP10で切り出したタームが既にインデックス管理テーブル26に登録されているか否かを判断する(SP11)。
インデックス生成プログラム21は、この判断で否定結果を得ると、そのタームをインデックス管理テーブル26に新規に登録する(SP12)。具体的に、インデックス生成プログラム21は、インデックス管理テーブル26に新しい行を作成し、その行のターム欄21Aにそのタームを格納する。またインデックス生成プログラム21は、その行の文書番号リスト欄26Dに、その登録対象文書に付与された文書番号を格納し、さらにその行のインデックス属性欄26Bに、その文書番号リスト欄26Dに格納された文書番号リストのインデックス属性(ここでは「表」)を格納する。そして、インデックス生成プログラム21は、この後、ステップSP17に進む。
これに対してインデックス生成プログラム21は、ステップSP11の判断で肯定結果を得ると、インデックス管理テーブル26においてそのタームと対応付けられた文書番号リストのインデックス属性が「表」であるか否かを判断する(SP13)。
インデックス生成プログラム21は、この判断で否定結果を得るとステップSP17に進み、これに対して肯定結果を得ると、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リストに登録されている文書の総数に1を加えた値が、現在の文書番号の最大値の半分の値よりも大きいか否かを判断する(SP14)。
この判断で否定結果を得ることは、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リストにその登録対象文書の文書番号を追加したとしても、その文書番号リストに登録された文書番号の総数が、全文検索装置3に登録されている文書(登録対象文書を含む)の総数の50パーセント以下であることを意味する。
かくして、このときインデックス生成プログラム21は、インデックス管理テーブル26上でそのタームと対応付けられている文書番号リストに、登録対象文書の文書番号を追加すると共に、インデックス管理テーブル26における同じそのタームに対応する文書番号数欄26Cに格納されている文書番号数を、現在の値に1を加えた値に変更する(SP15)。そして、インデックス生成プログラムは、この後、ステップSP17に進む。
これに対して、ステップSP14の判断で肯定結果を得ることは、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リストにその登録対象文書の文書番号を追加した場合に、その文書番号リストに登録された文書番号の総数が、全文検索装置3に登録されている文書(登録対象文書を含む)の総数の50パーセントよりも大きくなることを意味する。
かくして、このときインデックス生成プログラム21は、インデックス管理テーブル26上のそのタームと対応付けられた行(そのタームがターム欄26Aに格納されている行)のインデックス属性欄26Bに格納されているインデックス属性を「裏」に変更するようインデックス管理テーブル26を更新する(SP16)。
具体的に、インデックス生成プログラム21は、インデックス管理テーブル26上のそのタームと対応付けられた行の文書番号リスト欄26Dに格納されている文書番号リストを、現在、全文検索装置3に登録されているすべての文書の文書番号の集合から、その文書番号リストに登録された文書番号を除いた差集合に含まれる文書番号のリストに変換する。またインデックス生成プログラム21は、その行のインデックス属性欄26Bに格納されているインデックス属性を、同じ行の文書番号リスト欄26Dに格納された文書番号リストのインデックス属性が「裏」であることを表す「裏」に更新する。さらにインデックス生成プログラム21は、その行の文書番号数欄26Cに格納されている文書番号数を、差集合に含まれる文書番号のリストのリスト数に変更する。
続いて、インデックス生成プログラム21は、登録対象文書からタームを切り出す処理がその登録対象文書の最後まで完了したか否かを判断する(SP17)。そしてインデックス生成プログラム21は、この判断で否定結果を得るとステップSP10に戻り、この後、ステップSP10において切り出すタームの位置を順次1文字ずつ登録対象文書の最後に向けて順次ずらしながら、ステップSP10~ステップSP17の処理を繰り返す。
そしてインデックス生成プログラム21は、やがて登録対象文書からすべてのタームを切り出し終えることによりステップSP17で肯定結果を得ると、このインデックス生成処理を終了する。
図6は、図3のように全文検索装置3に10個の文書が登録され、インデックス管理テーブル26が図2のように生成されている状態から、「株式」、「式会」及び「特許」というタームは含まず、「会社」というタームを含む文書が全文検索装置3に登録された後のインデックス管理テーブル26の様子を示す。
この例の場合、「会社」というタームを含む文書が登録されたことにより対応する文書番号リストに登録される文書番号数が全文書番号数の50パーセントを越えるため、当該文書番号リストのインデックス属性が表インデックスから裏インデックスに変更されている。この結果、「会社」というタームに対応する文書番号リストに登録されている文書番号の数が「5」となっているが、当該文書番号リストのインデックス属性を変更しない場合、この文書番号リストに登録される文書番号の数が「6」であることを考慮すると、上述のようにかかる文書番号リストのインデックス属性を変更することにより文書番号リストに登録される文書番号数を低減できたことが分かる。
また、今後、「会社」を含む文書が登録されればされるほど、かかる文書番号インデックスのインデックス属性を変更しない場合に比べて、より少ない容量で文書番号リストを構築することが可能となる。
(1-3-3)文書検索処理
他方、図7は、クライアント2から送信された文書検索要求と、当該文書検索要求と共にクライアント2から送信されたユーザ等により指定された検索キーワードとを受信した全文検索装置3において実行される文書検索処理の処理手順を示す。全文検索装置3は、この図7に示す処理手順に従って、ハイブリッド型検索方式による文書検索処理を実行する。
他方、図7は、クライアント2から送信された文書検索要求と、当該文書検索要求と共にクライアント2から送信されたユーザ等により指定された検索キーワードとを受信した全文検索装置3において実行される文書検索処理の処理手順を示す。全文検索装置3は、この図7に示す処理手順に従って、ハイブリッド型検索方式による文書検索処理を実行する。
実際上、本全文検索装置3の場合、クライアント2から文書検索要求及び検索キーワードを受信すると、インデックス検索プログラム22がその検索キーワードを受け付ける(SP20)。またインデックス検索プログラム22は、インデックス管理テーブル26を用いて、この検索キーワードを用いたインデックス型検索処理を実行することによりその検索キーワードを含む可能性があるすべての文書の文書番号が登録された図示しないリスト(以下、これを検索結果リストと呼ぶ)を作成する(SP21)。そしてインデックス検索プログラム22は、この後、文書検索プログラム23を起動する。
文書検索プログラム23は、インデックス検索プログラム22により起動されると、かかる検索結果リストに文書番号が登録されているすべての文書について、その文書の文書データ25を補助記憶装置12から読み出し、読み出した文書データ25に対してスキャン型検索処理を実行する(SP20)。これにより、検索結果リストに登録されているすべての文書の中から、検索キーワードを含む文書が検出される。そして文書検索プログラム23は、検索結果リストに文書番号が登録されている各文書に対する上述の検索処理(スキャン型検索処理)を完了すると、検索結果返却プログラム24を起動する。
検索結果返却プログラム24は、文書検索プログラム23により起動されると、ステップSP22の処理により検出された、検索キーワードを含むすべての文書の文書番号を、上述の文書検索要求の送信元のクライアントに送信する(SP23)。そして全文検索装置3は、この後、この文書検索処理を終了する。
図8は、上述した文書検索処理(図7)のステップSP21において、インデックス検索プログラム22により実行されるインデックス型検索処理の具体的な処理内容を示す。インデックス検索プログラム22は、この図8に示す手順に従って、インデックス型検索処理を実行して検索結果リストを作成する。
実際上、インデックス検索プログラム22は、文書検索処理のステップSP21に進むと、このインデックス型検索処理を開始し、まず、インデックス管理テーブル26に登録されているタームと同じ文字数の検索キーワードタームを検索キーワードから順次切り出す(SP30)。従って、検索キーワードが「株式会社」で、タームの文字数が「2」の場合には、「株式」、「式会」及び「会社」という3つの検索キーワードタームが検索キーワードから切り出されることになる。
続いて、インデックス検索プログラム22は、文書番号が登録されていない空の(初期状態の)検索結果リストを作成し(SP31)、この後、検索キーワードから切り出した検索キーワードタームのうちの先頭の検索キーワードタームをキーとしてインデックス管理テーブル26を検索することにより、その検索キーワードタームを含む文書の文書番号が登録された文書番号リストを「文書番号リスト1」として取得する(SP32)。例えば、そのときの検索キーワードタームが「株式」であり、インデックス管理テーブル26が図2の状態であるときには、文書番号リストとして、「1」、「7」及び「8」という3つの文書番号が登録された文書番号リスト(図2の一番上の文書番号リスト)が「文書番号リスト1」として取得されることになる。
次いで、インデックス検索プログラム22は、未処理の検索キーワードタームのうち、最も早い段階で切り出された検索キーワードターム(この段階では2番目に切り出された「式会」という検索キーワードターム)を選択し(SP33)、選択した検索キーワードタームをキーとしてインデックス管理テーブル26を検索することにより、その検索キーワードタームを含む文書の文書番号が登録された文書番号リストを「文書番号リスト2」として取得する(SP34)。上述の例では、検索キーワードタームが「式会」であるため、「文書番号リスト2」として、「1」、「7」、「8」及び「9」という4つの文書番号が登録された文書番号リスト(図2の上から2番目の文書番号リスト)が「文書番号リスト1」として取得されることになる。
この後、インデックス検索プログラム22は、インデックス管理テーブル26を参照して、「文書番号リスト1」及び「文書番号リスト2」のインデックス属性が共に「表」であるか否かを判断する(SP35)。そしてインデックス検索プログラム22は、この判断で肯定結果を得ると、「文書番号リスト1」に登録されている文書番号と、「文書番号リスト2」に登録されている文書番号との積集合を求め、対応するすべての文書番号を検索結果リストに格納し(SP36)、この後ステップSP42に進む。
一方、インデックス検索プログラム22は、ステップSP35の判断で否定結果を得ると、インデックス管理テーブル26を参照して、「文書番号リスト1」のインデックス属性が「表」で、「文書番号リスト2」のインデックス属性が「裏」であるか否かを判断する(SP37)。そしてインデックス検索プログラム22は、この判断で肯定結果を得ると、「文書番号リスト1」に登録されている文書番号から、「文書番号リスト2」に登録されている文書番号をすべて取り除いた差集合を求め、対応するすべての文書番号を検索結果リストに格納し(SP38)、この後ステップSP42に進む。
他方、インデックス検索プログラム22は、ステップSP37の判断で否定結果を得ると、インデックス管理テーブル26を参照して、「文書番号リスト1」のインデックス属性が「裏」で、「文書番号リスト2」のインデックス属性が「表」であるか否かを判断する(SP39)。そしてインデックス検索プログラム22は、この判断で肯定結果を得ると、「文書番号リスト2」に登録されている文書番号から、「文書番号リスト1」に登録されている文書番号をすべて取り除いた差集合を求め、対応するすべての文書番号を検索結果リストに格納し(SP40)、この後ステップSP42に進む。
これに対して、インデックス検索プログラム22は、ステップSP39の判断で否定結果を得ると、「文書番号リスト1」に登録されている文書番号と、「文書番号リスト2」に登録されている文書番号との和集合の補集合を求め、対応するすべての文書番号を検索結果リストに格納し(SP41)、この後ステップSP42に進む。
そしてインデックス検索プログラム22は、ステップSP42に進むと、検索結果リストを「文書番号リスト1」にコピーし(SP42)、この後、すべての検索キーワードタームについてステップSP33~ステップSP42の処理を実行し終えたか否かを判断する(SP43)。
インデックス検索プログラム22は、この判断で否定結果を得るとステップSP33に戻り、この後ステップSP33において選択する検索キーワードタームを順次他の検索キーワードタームに切り替えながら、ステップSP33~ステップSP43の処理を繰り返す。そしてインデックス検索プログラムは、やがて、すべての検索キーワードタームについてステップSP33~ステップSP43の処理を実行し終えることによりステップSP43で肯定結果を得ると、このインデックス型検索処理を終了する。
(1-4)本実施の形態の効果
以上のように本実施の形態の全文検索システム1によれば、インデックス管理テーブル26に新たな文書を登録する際、その文書の文書番号を追加すべき文書番号リストに登録されている文書番号の総数が、その新たな文書の文書番号を追加したときに全文検索装置3に登録されている総文書番号数の50パーセントを越える場合には、その文書番号リストを、当該文書番号リストに対応するタームを含まない文書の文書番号が登録されたリストに変換するようにしているため、このような場合にその文書番号リストに登録される文書番号の総数を抑えることができる。かくするにつき、インデックス管理テーブル26の情報量の増大化を抑制し得る全文検索システムを実現できる。
以上のように本実施の形態の全文検索システム1によれば、インデックス管理テーブル26に新たな文書を登録する際、その文書の文書番号を追加すべき文書番号リストに登録されている文書番号の総数が、その新たな文書の文書番号を追加したときに全文検索装置3に登録されている総文書番号数の50パーセントを越える場合には、その文書番号リストを、当該文書番号リストに対応するタームを含まない文書の文書番号が登録されたリストに変換するようにしているため、このような場合にその文書番号リストに登録される文書番号の総数を抑えることができる。かくするにつき、インデックス管理テーブル26の情報量の増大化を抑制し得る全文検索システムを実現できる。
(2)第2の実施の形態
図1において30は全体として第2の実施の形態による全文検索システムを示す。この全文検索システム30は、新たな文書を全文検索装置31に登録する際に全文検索装置31のインデックス生成プログラム32により実行されるインデックス生成処理の処理内容が異なる点を除いて、第1の実施の形態による全文検索システム1と同様に構成されている。
図1において30は全体として第2の実施の形態による全文検索システムを示す。この全文検索システム30は、新たな文書を全文検索装置31に登録する際に全文検索装置31のインデックス生成プログラム32により実行されるインデックス生成処理の処理内容が異なる点を除いて、第1の実施の形態による全文検索システム1と同様に構成されている。
すなわち、図4について上述した第1の実施の形態によるインデックス生成処理は、クライアントからの文書登録要求が全文検索装置3に与えられた時点で、インデックス管理テーブル26に登録されているすべての文書番号リストのインデックス属性が「表」であることが前提となっている。
しかしながら、全文検索装置3に登録される文書が増えれば、いずれかはインデックス管理テーブル26に格納されている文書番号リストの中からインデックス属性が「裏」に変換される文書番号リストが登場することになる。そしてこのようなインデックス属性が「裏」の文書番号リストがインデックス管理テーブル26内に存在する状態で、新たな登録対象文書をインデックス管理テーブル26に登録する場合、当該登録対象文書がその文書番号リストに対応するタームを含まないときには、その文書番号リストにその登録対象文書の文書番号を登録する必要がある。
例えば、文書管理テーブル27が図9のような状態(つまり11個の文書が登録されている状態)にあり、現在のインデックス管理テーブル26が図10のような状態にあるものとする。この状態から「株式会社」という文字列は含むが「特許」という文字列は含まない文書を新たに全文検索装置31に登録する場合を考える。
この場合、新たに登録される文書の文書番号は「12」となり、この文書には「株式」、「式会」及び「会社」というタームが含まれるため、図4について上述した第1の実施の形態による文書登録処理の終了後のインデックス管理テーブル26は図11のような状態になる。
この図11からも明らかなように、第1の実施の形態の文書検索処理によると、新たに登録する文書に含まれるタームに対応する文書番号リストのうちのインデックス属性が「表」の文書番号リスト(「株式」や「式会」に対応する文書番号リスト)には、その新たな文書の文書番号が登録され、新たに登録する文書に含まれるタームに対応する文書番号リストのうちのインデックス属性が「裏」の文書番号リスト(「会社」に対応する文書番号リスト)には、その新たな文書の文書番号が登録されないため問題はない。
ところが、新たに登録する文書に含まれないタームに対応する文書番号リストのうちのインデックス属性が「裏」の文書番号リスト(「特許」に対応する文書番号リスト)については、「特許」というタームがその文書には含まれないにも係わらず、そのタームに対応する文書番号リストには、その文書の文書番号が登録されないままとなる。
そこで、本実施の形態の全文検索システム30においては、インデックス生成プログラム32が、新たな文書をインデックス管理テーブル26に登録した後に、インデックス管理テーブル26上において、その文書に含まれない各タームとそれぞれ対応付けられた文書番号リストのうち、インデックス属性が「裏」の文書番号リストが存在する場合には、その文書番号リストに対して、その新たな文書の文書番号を追加登録する処理(以下、これをインデックスメンテナンス処理と呼ぶ)を実行することを特徴の1つとする。
図12は、図5について上述した第1の実施の形態によるインデックス生成処理に代えてインデックス生成プログラム32により実行される本実施の形態によるインデックス生成及びインデックスメンテナンス処理の具体的な処理内容を示す。インデックス生成プログラム32は、文書登録プログラム20により実行される図4について上述した文書登録処理のステップSP4において起動されると、この図12に示す処理手順に従って、登録対象文書をインデックス管理テーブル26に登録した後に、上述のインデックスメンテナンス処理を実行する。
実際上、インデックス生成プログラム32は、文書登録プログラム20により起動されると、このインデックス生成及びインデックスメンテナンス処理を開始し、ステップSP50~ステップSP57(インデックス生成処理)を図5について上述した第1の実施の形態によるインデックス生成処理のステップSP10~ステップSP17と同様に処理する。
続いて、インデックス生成プログラム32は、上述のインデックスメンテナンス処理を実行し(SP58)、この後、このインデックス生成及びインデックスメンテナンス処理を終了する。
図13は、かかるインデックス生成及びインデックスメンテナンス処理(図12)のステップSP58においてインデックス生成プログラム32により実行されるインデックスメンテナンス処理の具体的な処理内容を示す。
インデックス生成プログラム32は、上述のインデックス生成処理(図12)のステップSP58に進むと、このインデックスメンテナンス処理を開始し、まず、インデックス管理テーブル26の行のうち、後述するステップSP60~ステップSP66の処理を未実行の行を1つ選択する(SP60)。
続いて、インデックス生成プログラム32は、ステップSP60において選択した行のターム欄26Aに格納されているタームが、そのとき実行されたインデックス生成及びインデックスメンテナンス処理(図12)のステップSP52及びステップ55においてインデックス管理テーブル26に対して処理したタームであるか否かを判断する(SP61)。
インデックス生成プログラム32は、この判断で肯定結果を得るとステップSP66に進み、これに対して否定結果を得ると、インデックス管理テーブル26を参照して、そのタームに対応する文書番号リストのインデックス属性が「表」であるか否かを判断する(SP62)。
インデックス生成プログラム32は、この判断で否定結果を得るとステップSP66に進み、これに対して肯定結果を得ると、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リストに登録されている文書の総数に1を加えた値が、現在の文書番号の最大値の半分の値よりも大きいか否かを判断する(SP63)。
この判断で否定結果を得ることは、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リスト(インデックス属性は「裏」)にその対象文書の文書番号を追加したとしても、その文書番号リストに登録された文書番号の総数が、全文検索装置31に登録されている文書(対象文書を含む)の総数の50パーセント以下であることを意味する。
かくして、このときインデックス生成プログラム32は、ステップSP60において選択した行のタームに対応する文書番号リストにそのとき対象としている文書の文書番号を追加登録し(SP64)、この後ステップSP66に進む。
これに対して、ステップSP63の判断で肯定結果を得ることは、インデックス管理テーブル26上でそのタームと対応付けられた文書番号リスト(インデックス属性は「裏」)にその対象文書の文書番号を追加した場合に、その文書番号リストに登録された文書番号の総数が、全文検索装置31に登録されている文書(対象文書を含む)の総数の50パーセントよりも大きくなることを意味する。
かくして、このときインデックス生成プログラム32は、インデックス管理テーブル26上のそのタームと対応付けられた行(そのタームがターム欄26Aに格納されている行)のインデックス属性欄26Bに格納されているインデックス属性を「裏」から「表」に変更するようインデックス管理テーブル26を更新する(SP65)。
具体的に、インデックス生成プログラム32は、インデックス管理テーブル26上のそのタームと対応付けられた行の文書番号リスト欄26Dに格納されている文書番号リストを、現在、全文検索装置31に登録されているすべての文書の文書番号の集合から、その文書番号リストに登録された文書番号を除いた差集合に含まれる文書番号のリストに変換する。またインデックス生成プログラムは32、その行のインデックス属性欄26Bに格納されているインデックス属性を「表」に更新する。さらにインデックス生成プログラム32は、その行の文書番号数欄26Cに格納されている文書番号数を、現在の値に1を加えた値に変更する。
続いて、インデックス生成プログラム32は、上述の処理をインデックス管理テーブル26の最後の行まで実行し終えたか否かを判断する(SP66)。そしてインデックス生成プログラム32は、この判断で否定結果を得るとステップSP60に戻り、この後、ステップSP60において選択するインデックス管理テーブル26上の行を順次次の行に切り替えながら、ステップSP60~ステップSP66の処理を繰り返す。
そしてインデックス生成プログラム32は、やがてインデックス管理テーブル26のすべての行について上述のステップSP60~ステップSP66の処理を実行し終えることによりステップSP66で肯定結果を得ると、このインデックスメンテナンス処理を終了する。
ここで、図11の状態(インデックス生成処理のステップSP50~ステップSP57を終えた状態)のインデックス管理テーブル26に対して、かかるインデックスメンテナンス処理を実行した後のインデックス管理テーブル26の様子を図14に示す。ここでは、登録対象文書の文書番号が「12」であり、この登録対象文書に「特許」というタームが含まれていないものとする。
この図14からも明らかなように、インデックスメンテナンス処理前のインデックス管理テーブル26では、「特許」というタームに対応する文書番号リストには、登録対象文書の文書番号である「12」が登録されていないが、インデックスメンテナンス処理後のインデックス管理テーブル26では、「特許」というタームに対応する文書番号リストに「12」という文書番号が登録されている。
このように、インデックス生成処理を実行した後に、かかるインデックスメンテナンス処理を実行することによって、インデックス管理テーブル26上にインデックス属性が「裏」の文書番号リストが存在する場合であって、その文書番号リストに対応するタームが登録対象文書に含まれないときにも、その登録対象文書の文書番号をかかる文書番号リストに登録することができる。
この場合において、例えば上述の例において、図11のように「特許」というタームに対応する文書番号リストに「12」という文書番号が登録されないままの場合、「12」という文書番号の文書が「特許」というタームを含むことを意味することになる。このため、例えば検索キーワードとして「株式会社特許」という文字列が与えられた場合に、文書番号「12」までがスキャン型検索処理の対象として抽出されてしまうことになり、本来「特許」というタームを含まない文書に対してまでもスキャン型検索処理を実行することになる。しかしながら、かかるインデックスメンテナンス処理を実行することによって、このような無駄なスキャン型検索処理の手間を未然に回避することが可能となる。
以上のように本実施の形態の全文検索システム30によれば、インデックス生成処理の後にインデックスメンテナンス処理を実行するため、不要なスキャン型検索処理の実行を未然かつ有効に抑えることができる。かくするにつき、第1の実施の形態により得られる効果に加えて、文書検索処理の処理速度も向上させ得る全文検索システムを実現できる。
(3)第3の実施の形態
(3-1)本実施の形態による全文検索システムの構成
図1との対応部分に同一符号を付して示す図15は、以上のような本実施の形態によるハイブリッド型検索方式を適用した第3の実施の形態による全文検索システム40を示す。この全文検索システム40は、全文検索装置41における登録文書のインデックスの管理方法が第1及び第2の実施の形態による全文検索システム1,30と相違する。
(3-1)本実施の形態による全文検索システムの構成
図1との対応部分に同一符号を付して示す図15は、以上のような本実施の形態によるハイブリッド型検索方式を適用した第3の実施の形態による全文検索システム40を示す。この全文検索システム40は、全文検索装置41における登録文書のインデックスの管理方法が第1及び第2の実施の形態による全文検索システム1,30と相違する。
すなわち第1及び第2の実施の形態においては、インデックス管理テーブルに登録されたタームに対応する文書番号リストに登録されている文書番号の数が全文検索装置に登録された文書の総数の50パーセントを越える場合に、その文書番号リストのインデックス属性を「裏」に変換することにより、当該文書番号リストに登録される文書番号数の削減を図っている。
このようなインデックス管理方法によると、新たな登録対象文書を全文検索装置に登録する際、インデックス管理テーブルに登録されているタームのうちのその登録対象文書に含まれないタームであって、文書番号リストのインデックス属性が「裏」のタームについては対応する文書番号リストにその登録対象文書の文書番号を登録する必要がある。このようなタームが数多く存在する場合、かかる新たな文書の文書番号を登録すべき文書番号リストの数も多くなり、インデックス管理テーブル26全体としての情報量が多くなる問題がある。
そこで、本実施の形態においては、文書番号リストのインデックス属性として「混成」というインデックス属性を設ける。この「混成」というインデックス属性は、文書番号リストに登録されたある文書番号(以下、これを表インデックス番号と呼ぶ)の1つ前に登録された文書番号までは、インデックス属性が「裏」であり、表インデックス番号以降は「表」のインデックス属性を表す。
そして本実施の形態の場合、かかる表インデックス番号としては、その文書番号リストのインデックス属性を「裏」に変換してから最初にその文書番号リストに対応するタームを含む文書が全文検索装置41に登録された場合のその文書の文書番号を適用する。従って、文書番号リストのインデックス属性を「混成」に変換した場合、その後その文書番号リストに登録される文書番号に関する当該文書番号リストのインデックス属性は「表」となる。
これにより本実施の形態においては、新たな文書を全文検索装置41に登録する際、インデックス管理テーブル42(図15)に登録されているタームのうちのその文書に含まれるタームであって、文書番号リストのインデックス属性が「裏」のタームについては、対応する文書番号インデックスのインデックス属性を「混成」に変換することによって、第2の実施形態で実施したインデックスメンテナンスの処理を不要にすることができ、インデックス管理テーブル42全体としての情報量を低減することができる。
ただし、「混成」というインデックス属性を設けた場合、そのままでは例えば図8について上述したインデックス型検索処理の際に文書番号リスト同士の集合演算を行うことができない。そこで、本実施の形態においては、インデックス型検索処理時、インデックス属性が「混成」の文書番号リストについては、インデックス属性を「表」に変換してから集合演算を実行する。
またインデックス属性が「裏」の文書番号リストについては、第2の実施形態で実施したインデックスメンテナンスの処理を実施しないため、インデックス属性が「裏」であれば登録されるべき文書番号が登録されていないことになる。
そこで、本実施の形態においては、インデックス属性が「裏」の文書番号リストについては、インデックス属性が「裏」に変換された後もそのままインデックス属性が「裏」であれば登録されるべき文書番号を補完する裏インデックス補完処理を、対応する文書番号リストについてインデックス型検索処理時に実行すると共に、インデックス属性が「裏」のすべての文書番号リストについて、定期的にかかる裏インデックス補完処理を実行する。
以上のような本実施の形態によるインデックス管理方法を適用したハイブリッド型検索方式を実現するための手段として、全文検索装置41の補助記憶装置12には、文書管理テーブル27と、当該全文検索装置41に登録された各文書の文書データ25(文書データ25)とに加えて、図16のように構成されたインデックス管理テーブル42と、図17のように構成された文書番号管理テーブル43とが格納されている。
このうちインデックス管理テーブル42は、図16からも明らかなように、ターム欄42A、インデックス属性欄42B、文書番号数欄42C、表インデックス番号欄42D及び文書番号リスト欄42Eから構成されている。そしてターム欄42A、文書番号数欄42C及び文書番号リスト欄42Eには、それぞれ第1の実施の形態によるインデックス管理テーブル26(図2)と同様の情報が格納される。
またインデックス属性欄42Bには、同じ行の文書番号リスト欄42Eに格納された文書番号リストのインデックス属性が格納される。この場合におけるインデックス属性としては、「表」及び「裏」に加えて、上述のように「混成」というインデックス属性が存在する。そして対応する文書番号リストのインデックス属性が「混成」である場合には、その旨の情報(「混成」)がそのインデックス属性欄42Bに格納される。
さらに表インデックス番号欄42Dには、対応する文書番号リストのインデックス属性が「混成」である場合に、その文書番号リストに登録された文書番号のうち、インデックス属性が「裏」から「表」に切り替わる文書番号が格納される。なお、対応する文書番号リストのインデックス属性が「表」又は「裏」である場合には、表インデックス番号欄42Dには、値がないことを表す情報(「-」)が格納される。
従って、図20の例では、「会社」というタームに対応する文書番号リストのインデックス属性は「混成」であり、当該文書番号リストに登録された複数の文書番号のうち、「12」という文書番号からその文書番号リストのインデックス属性が「表」に切り替わることが示されている。よって、この例の場合、「会社」というタームを含む文書は、それぞれ「1」、「3」、「5」、「7」、「9」、「11」又は「12」という文書番号が付与された合計7個の文書となる。
一方、文書番号管理テーブル43は、図24について後述する定期メンテナンス処理が最後に実行された時点における、全文検索装置41に登録された各文書にそれぞれ付与された文書番号のうちの最大の文書番号(以下、これを最大文書番号と呼ぶ)を管理するためのテーブルであり、図27に示すように、最大文書番号欄43Aから構成される。そして最大文書番号欄43Aに、上述の最大文書番号が格納される。
(3-2)本実施の形態によるハイブリッド型検索方式に関する各種処理の内容
次に、上述のような本実施の形態によるハイブリッド型検索方式に関する各種処理の具体的な内容について説明する。
(3-2-1)文書登録処理
図18は、図5について上述した第1の実施の形態によるインデックス生成処理に代えてインデックス生成プログラム44により実行される本実施の形態によるインデックス生成処理の処理手順を示す。
次に、上述のような本実施の形態によるハイブリッド型検索方式に関する各種処理の具体的な内容について説明する。
(3-2-1)文書登録処理
図18は、図5について上述した第1の実施の形態によるインデックス生成処理に代えてインデックス生成プログラム44により実行される本実施の形態によるインデックス生成処理の処理手順を示す。
このインデックス生成処理では、ステップSP70~ステップSP73が第1の実施の形態によるインデックス生成処理のステップSP10~ステップSP13と同様に処理され、ステップSP75~ステップSP78が当該第1の実施の形態によるインデックス生成処理のステップSP14~ステップSP17と同様に処理される。
つまり本実施の形態のインデックス生成処理は、ステップSP73で否定結果が得られた場合に、インデックス生成プログラム44が、登録対象文書に対応する文書番号リストのインデックス属性を「混成」に変換した後、インデックス生成処理を終了する点を除いて第1の実施の形態によるインデックス生成処理と同様である。
図19は、かかる本実施の形態によるインデックス生成処理のステップSP73においてインデックス生成プログラム44により実行される混成インデックス生成処理の具体的な処理内容を示す。
インデックス生成プログラム44は、インデックス生成処理のステップSP73に進むとこの混成インデックス生成処理を開始し、インデックス管理テーブル42(図16)における登録対象文書に対応するインデックス属性欄42Bに格納されているインデックス属性を「混成」に変更する。またインデックス生成プログラム44は、登録対象文書に対応する表インデックス番号欄42Dに、その登録対象文書の文書番号を格納することにより、その登録対象文書の文書番号を表インデックス番号に設定する。さらにインデックス生成プログラム44は、対応する文書番号リストにその登録対象文書の文書番号を追加する(SP80)。
そして、インデックス生成プログラム44は、この後、この混成インデックス生成処理を終了する。
ここで、図16の状態のインデックス管理テーブル42に対して、かかる混成インデックス処理を実行した後のインデックス管理テーブル42の様子を図20に示す。ここでは、登録対象文書の文書番号が「12」であり、この登録対象文書には、「株式」、「式会」及び「会社」というタームは含まれているが、「特許」というタームは含まれていないものとする。
この場合、図16及び図20からも明らかなように、登録対象文書を全文検索装置41に登録する前のインデックス管理テーブル42では、「株式」及び「式会」というタームにそれぞれ対応する文書番号リストのインデックス属性はいずれも「表」であり、登録対象文書を全文検索装置41に登録した場合においても、これら文書番号リストに登録されている文書番号の総数が全文検索装置41に登録されている文書の総数(「12」)の50パーセントを越えなかったため、これら文書番号リストのインデックス属性が変換されることなく、これらの文書番号リストに登録対象文書の文書番号が登録されている。
これに対して、登録対象文書を全文検索装置41に登録する前のインデックス管理テーブル42では、「会社」というタームに対応する文書番号リストのインデックス属性が「裏」であったため、インデックス管理テーブル42への登録対象文書の登録に伴い、図20に示すように、この文書番号リストのインデックス属性が「混成」に変換されると共に、「12」という文書番号が表インデックス番号として表インデックス番号欄42Dに格納され、その文書番号リストの末尾に「12」という文書番号が追加されている。
一方、図21A及び図21Bは、図8について上述した第1の実施の形態によるインデックス型検索処理に代えて、インデックス検索プログラム45により実行される本実施の形態によるインデックス型検索処理の処理手順を示す。
上述のように、本全文検索システム40では、文書番号リストのインデックス属性として「混成」が存在するため、インデックス型検索処理において文書番号リストに登録された文書番号の集合演算を行うことができない。そこで、本実施の形態によるインデックス型検索処理は、これに対応するための処理をステップSP95~ステップSP98において実行する点を特徴とする。
実際上、インデックス検索プログラム45は、図7について上述した文書検索処理のステップSP20において、クライアント2からの検索キーワードを受け付けると、この図21A及び図21Bに示す本実施の形態によるインデックス型検索処理を開始し、ステップSP90~ステップSP94を図8について上述した第1の実施の形態によるインデックス型検索処理のステップSP30~ステップSP34と同様に処理する。
続いて、インデックス検索プログラム45は、文書番号リスト1又は文書番号リスト2のインデックス属性が「混成」であるか否かを判断する(SP95)。インデックス検索プログラム45は、この判断で否定結果を得るとステップSP97に進み、これに対して肯定結果を得ると、インデックス属性が「混成」の文書番号リスト1又は文書番号リスト2のインデックス属性を「表」に変換する表インデックス変換処理を実行する(SP96)。
次いで、インデックス検索プログラム45は、文書番号リスト1又は文書番号リスト2のインデックス属性が「裏」であるか否かを判断する(SP97)。インデックス検索プログラム45は、この判断で否定結果を得るとステップSP99に進み、これに対して肯定結果を得ると図23について後述する裏インデックス補完処理を実行する(SP98)。
そしてインデックス検索プログラム45は、この後ステップSP99~ステップSP107の処理を図8のステップSP35~ステップSP43と同様に処理し、この後、検索キーワードから切り出したすべての検索キーワードタームについて同様の処理(ステップSP33~ステップSP43)を繰り返す。
そしてインデックス検索プログラム45は、やがて検索キーワードから切り出したすべての検索キーワードタームについてステップSP33~ステップSP43の処理を実行し終えることによりステップSP43で肯定結果を得ると、このインデックス型検索処理を終了する。
なお、かかるインデックス型検索処理のステップSP96において実行される表インデックス変換処理の具体的な処理内容を図22に示す。
インデックス検索プログラム45は、上述のインデックス型検索処理(図21A及び図21B)のステップSP96に進むと、この図22に示す表インデックス変換処理を開始し、まず、そのとき対象とすべき文書番号リスト(以下、これを対象文書番号リストと呼ぶ)として文書番号リスト1を選択する(SP110)。
続いて、インデックス検索プログラム45は、インデックス管理テーブル42を参照して、対象文書番号リストのインデックス属性が「混成」であるか否かを判断し(SP111)、否定結果を得るとステップSP121に進む。これに対してインデックス検索プログラム45は、この判断で肯定結果を得ると、文書番号管理テーブル43(図17)に格納されている最大文書番号の値を取得する(SP112)。
次いで、インデックス検索プログラム45は、最大文書番号の値以下の文書番号の集合を一時裏インデックス1として取得する(SP113)。よって、一時裏インデックス1は、最後に定期メンテナンス処理が実行される前に全文検索装置41に登録された文書のうち、対象文書番号リストに対応するタームを含まない文書の文書番号の集合を表す。
またインデックス検索プログラム45は、インデックス管理テーブル42から、対象文書番号リストに関する表インデックス番号の値を取得し(SP114)、この後、文書管理テーブル27(図15)に登録されている文書番号のうち、最大文書番号の値よりも大きく、かつ表インデックス番号の値よりも小さい文書番号の集合を一時裏インデックス2として取得する(SP115)。よって、一時裏インデックス2は、最後に定期メンテナンス処理が実行された後、そのとき対象としている文書番号リストのインデックス属性が「混成」に変更されるまでの間に全文検索装置41に登録された文書であって、当該文書番号リストに対応するタームを含まない文書の文書番号の集合を表す。
続いて、インデックス検索プログラム45は、一時裏インデックス1に含まれる文書番号と、一時裏インデックス2に含まれる文書番号との和集合を一時裏インデックス3として取得する(SP116)。
次いで、インデックス検索プログラム45は、文書管理テーブル27に登録されている文書番号のうち、対象文書番号リストの表インデックス番号の値よりも小さな文書番号の集合から、一時裏インデックス3を除いた差集合を求め、これを一時表インデックス1とする(SP117)。
またインデックス検索プログラム45は、対象文書番号リストに登録された文書番号のうち、表インデックス番号以上の文書番号の集合を一時表インデックス2として取得する(SP118)。
さらにインデックス検索プログラム45は、一時表インデックス1及び一時表インデックス2の和集合を一時表インデックス3として取得し(SP119)、この後、この一時表インデックス3を対象文書番号リストに格納する(SP120)。
続いて、インデックス検索プログラム45は、文書番号リスト1及び文書番号リスト2の双方について上述のステップSP111~ステップSP120の処理を実行し終えたか否かを判断する(SP121)。そしてインデックス検索プログラム45は、この判断で否定結果を得ると、対象文書番号リストとして文書番号リスト2を選択し(SP122)、ステップSP111に戻る。そしてインデックス検索プログラム45は、この後、ステップSP111~ステップSP120を同様に処理する。
そしてインデックス検索プログラム45は、やがて文書番号リスト1及び文書番号リスト2に対するステップSP111~ステップSP120の処理を実行し終えることによりステップSP121で肯定結果を得ると、この表インデックス変換処理を終了する。
一方、図23は、図21A及び図21Bについて上述した本実施の形態によるインデックス型検索処理のステップSP98においてインデックス検索プログラム45により実行される裏インデックス補完処理の具体的な処理内容を示す。
インデックス検索プログラム45は、インデックス型検索処理のステップSP98に進むと、この図23に示す裏インデックス補完処理を開始し、まず、対象文書番号リストとして文書番号リスト1を選択する(SP130)。
続いて、インデックス検索プログラム45は、対象文書番号リストのインデックス属性が「裏」であるか否かを判断し(SP131)、否定結果を得るとステップSP139に進む。これに対してインデックス検索プログラム45は、この判断で肯定結果を得ると、文書番号管理テーブル43(図17)に格納されている最大文書番号の値を取得する(SP132)。
次いで、インデックス検索プログラム45は、最大文書番号の値以下の文書番号の集合を一時裏インデックス1として取得する(SP133)。またインデックス検索プログラム45は、文書管理テーブル27から文書番号の最大値を取得し(SP134)、この後、文書管理テーブル27(図15)に登録されている文書番号のうち、最大文書番号の値よりも大きく、かつステップSP134で取得した文書番号の最大値以下の文書番号の集合を一時裏インデックス2として取得する(SP135)。
続いて、インデックス検索プログラム45は、一時裏インデックス1に含まれる文書番号と、一時裏インデックス2に含まれる文書番号との和集合を一時裏インデックス3として取得し(SP136)、取得した一時裏インデックス3を文書番号リストに格納する(SP137)。
続いて、インデックス検索プログラム45は、文書番号リスト1及び文書番号リスト2の双方について上述のステップSP131~ステップSP137の処理を実行し終えたか否かを判断する(SP138)。そしてインデックス検索プログラム45は、この判断で否定結果を得ると、対象文書番号リストとして文書番号リスト2を選択し(SP139)、ステップSP131に戻る。そしてインデックス検索プログラム45は、この後、ステップSP131~ステップSP137を同様に処理する。
そしてインデックス検索プログラム45は、やがて文書番号リスト1及び文書番号リスト2に対するステップSP131~ステップSP137の処理を実行し終えることによりステップSP138で肯定結果を得ると、この裏インデックス補完処理を終了する。
(3-2-2)定期メンテナンス処理
他方、図24は、インデックス生成プログラム44(図15)により定期的に実行される文書番号リストの補完処理(以下、これを定期メンテナンス処理と呼ぶ)の処理手順を示す。インデックス生成プログラム44は、この図24に示す処理手順に従って、定期的にインデックス管理テーブル42のメンテナンスを実行する。
他方、図24は、インデックス生成プログラム44(図15)により定期的に実行される文書番号リストの補完処理(以下、これを定期メンテナンス処理と呼ぶ)の処理手順を示す。インデックス生成プログラム44は、この図24に示す処理手順に従って、定期的にインデックス管理テーブル42のメンテナンスを実行する。
実際上、インデックス生成プログラム44は、この定期メンテナンス処理を開始すると、まず、インデックス管理テーブル42に登録されているタームのうち、未処理のタームを1つ選択し(SP150)、そのターム(以下、これを対象タームと呼ぶ)に対応する文書番号リストのインデックス属性が「表」であるか否かを判断する(SP151)。
そしてインデックス生成プログラム44は、この判断で肯定結果を得るとステップSP162に進み、これに対して否定結果を得ると、対象タームに対応する文書番号リストのインデックス属性が「裏」であるか否かを判断する(SP152)。
インデックス生成プログラム44は、この判断で肯定結果を得ると、その文書番号リストについて図23について上述した裏インデックス補完処理を実行することにより裏インデックス補完を行った文書番号リストを作成し(SP153)、作成した文書番号リストに登録されている文書番号数が全文検索装置41に登録されている全文書番号数の50パーセントを越えているか否かを判断する(SP154)。
インデックス生成プログラム44は、この判断で肯定結果を得ると、その文書番号リストに対して図22について上述した表インデックス変換処理を実行することにより、当該文書番号リストをインデックス属性を「表」の文書番号リストに変換する(SP156)。この際、インデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する行のインデックス属性欄42B(図16)に格納されているインデックス属性を「表」に変更すると共に、当該行の文書番号数欄42Cに格納されている文書番号数を、インデックス属性を「表」に変更した後の文書番号リストに登録されている文書番号数に変更する。さらにインデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する表インデックス番号欄42Dに格納されている表インデックス番号を「-」に設定する。そしてインデックス生成プログラム44は、この後、ステップSP162に進む。
これに対して、インデックス生成プログラム44は、ステップSP154の判断で否定結果を得ると、ステップSP153において作成した文書番号リストを、インデックス管理テーブル42上の対応する文書番号リストに上書きするように登録する(SP155)。この際、インデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する行のインデックス属性欄42Bに格納されているインデックス属性を「裏」に設定すると共に、その文書番号リストに登録されている文書番号数をその行の文書番号数欄42Cに設定する。さらにインデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する表インデックス番号欄42Dに格納されている表インデックス番号を「-」に変更する。そしてインデックス生成プログラム44は、この後、ステップSP162に進む。
一方、インデックス生成プログラム44は、ステップSP152の判断で否定結果を得ると、対象タームに対応する文書番号リストのインデックス属性が「混成」であるか否かを判断する(SP157)。
そして、インデックス生成プログラム44は、この判断で否定結果を得るとステップSP162に進み、これに対して肯定結果を得ると、対象タームの文書番号リストに対して図22について上述した表インデックス変換処理を実行することにより、当該文書番号リストをインデックス属性が「表」の文書番号リストに変換する(SP158)。
次いで、インデックス生成プログラム44は、ステップSP158の表インデックス変換処理により作成した文書番号リストに登録された文書番号数が全文検索装置41に登録されている全文書番号数の50パーセントを越えているか否かを判断する(SP159)。
インデックス生成プログラム44は、この判断で否定結果を得ると、ステップSP158においてインデックス属性を「表」に変換した対応する文書番号リストを、インデックス管理テーブル42上の対応する文書番号リストに上書きするように登録する(SP160)。この際、インデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する行のインデックス属性欄42Bに格納されているインデックス属性を「表」に設定すると共に、その文書番号リストに登録されている文書番号数をその行の文書番号数欄42Cに格納する。さらにインデックス生成プログラムは、インデックス管理テーブル上の対象タームに対応する表インデックス番号欄に格納されている表インデックス番号を「-」に変更する。この後、ステップSP162に進む。
これに対して、インデックス生成プログラム44は、ステップSP159の判断で肯定結果を得ると、その文書番号リストを、インデックス属性が「裏」の文書番号リストに変換する(SP161)。この際、インデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する行のインデックス属性欄42Bに格納されているインデックス属性を「裏」に設定すると共に、当該行の文書番号数欄42Cに格納されている文書番号数を、インデックス属性を「裏」に変更した後の文書番号リストに登録されている文書番号数に設定する。さらにインデックス生成プログラム44は、インデックス管理テーブル42上の対象タームに対応する表インデックス番号欄42Dに格納されている表インデックス番号を「-」に設定する。そしてインデックス生成プログラム44は、この後、ステップSP162に進む。
インデックス生成プログラム44は、ステップSP162に進むと、インデックス管理テーブル42のすべての行(インデックス管理テーブル42に登録されたすべてのターム)について上述のステップSP150~ステップSP161の処理を実行し終えたか否かを判断する(SP162)。そしてインデックス生成プログラム44は、この判断で否定結果を得るとステップSP150に戻り、この後、ステップSP150において順次異なる未処理のタームを選択しながら、ステップSP150~ステップSP162の処理を繰り返す。
またインデックス生成プログラム44は、やがてインデックス管理テーブル42に登録されたすべてのタームについてステップSP150~ステップSP161の処理を実行し終えることによりステップSP162で肯定結果を得ると、文書管理テーブル27(図5)に登録されている文書番号の最大値を最大文書番号として文書番号管理テーブル43(図17)に登録し(SP163)、この後、この定期メンテナンス処理を終了する。
(3-3)本実施の形態の効果
以上のように本実施の形態の全文検索システム40によれば、文書番号リストのインデックス属性として「混成」というインデックス属性を設けるようにしたことにより、インデックス管理テーブル42に対する文書番号の登録数を抑えることができ、かくしてインデックス管理テーブル42の情報量が増加化をより一層と抑制し得る全文検索システムを実現できる。
以上のように本実施の形態の全文検索システム40によれば、文書番号リストのインデックス属性として「混成」というインデックス属性を設けるようにしたことにより、インデックス管理テーブル42に対する文書番号の登録数を抑えることができ、かくしてインデックス管理テーブル42の情報量が増加化をより一層と抑制し得る全文検索システムを実現できる。
(4)第4の実施の形態
(4-1)本実施の形態による全文検索システムの構成
図1との対応部分に同一符号を付して示す図25は、第4の実施の形態による全文検索システム50を示す。この全文検索システム50は、全文検索装置52と、1又は複数のWebサーバ55とがネットワーク54を介して接続されることにより構成されている。
(4-1)本実施の形態による全文検索システムの構成
図1との対応部分に同一符号を付して示す図25は、第4の実施の形態による全文検索システム50を示す。この全文検索システム50は、全文検索装置52と、1又は複数のWebサーバ55とがネットワーク54を介して接続されることにより構成されている。
そして本実施の形態による全文検索システム50の場合、全文検索装置52には、クライアント51から与えられた登録対象文書の文書データ25が格納されず、当該文書データ25がネットワーク54を介してWebサーバ55から取得されインデックスが生成される点が第1の実施の形態による全文検索システム1と相違する。
このため本全文検索システム50の場合、クライアント51は、全文検索装置52に文書を登録する際には、その登録対象文書の文書ファイル名と共に、当該登録対象文書を取得するURI(Uniform Resource Identifier)を指定した文書登録要求を全文検索装置52に送信する。
一方、これら文書登録要求受信した全文検索装置52は、その文書登録要求において指定されたURIと対応付けられたWebサーバ55から文書データ25を取得する。
また全文検索装置52は、第1の実施の形態と同様にして、その登録対象文書をインデックス管理テーブル26及び文書管理テーブル27に登録する。この際、全文検索装置52は、図26に示すように、その登録対象文書の格納先アドレスとして、文書登録要求において指定されたURIを文書管理テーブル27に登録する。
(4-2)本実施の形態による文書登録処理
ここで、図27は、クライアント51から全文検索装置52に対して文書登録要求及び登録対象文書のURIが与えられたときに、当該全文検索装置52内の文書登録プログラム53(図25)により実行される文書登録処理の処理手順を示す。
ここで、図27は、クライアント51から全文検索装置52に対して文書登録要求及び登録対象文書のURIが与えられたときに、当該全文検索装置52内の文書登録プログラム53(図25)により実行される文書登録処理の処理手順を示す。
文書登録プログラム53は、かかる文書登録要求及びURIを受信すると、まず、その登録対象文書のファイルのファイル名及びURIを受け付け(SP170)、この後、その文書データ25を対応するWebサーバ55から取得する(SP171)。
続いて、文書登録プログラム53は、登録対象文書を文書管理テーブル27に登録する(SP172)。具体的に、文書登録プログラム53は、登録対象文書に対して未使用の文書番号のうちの最も小さい文書番号を付与すると共に、文書管理テーブル27に新たな行を作成し、登録対象文書に付与した文書番号をその行の文書番号欄27Aに格納する。また文書登録プログラム53は、その行のファイル名欄27Bに、ステップSP170において受け付けたファイル名を格納すると共に、当該行の格納先アドレス欄27Cに、ステップSP172で受け付けたその文書を格納すべきURIを格納する。また文書登録プログラム53は、登録対象文書をインデックス管理テーブル26にも登録するが(SP172)、この処理は第1の実施の形態と同様であるため、ここでの説明は省略する。
次いで、文書登録プログラム53は、インデックス生成プログラム172を起動し(SP173)、この後、この文書登録処理を終了する。
なお、この後、インデックス生成プログラム21により実行されるインデックス生成処理や、さらにこの後、クライアント51からの文書検索要求が与えられたときにインデックス検索プログラム22、文書検索プログラム23及び検索結果返却プログラム24により実行される各種処理の処理内容は、第1の実施の形態と同様であるため、ここでの説明は省略する。
(4-3)本実施の形態の効果
以上のように本実施の形態の全文検索システム50によれば、全文検索装置52に登録された文書の文書データ25を外部のWebサーバ55から取得する場合においても、第1の実施の形態と同様の効果を得ることができる。
以上のように本実施の形態の全文検索システム50によれば、全文検索装置52に登録された文書の文書データ25を外部のWebサーバ55から取得する場合においても、第1の実施の形態と同様の効果を得ることができる。
(5)第5の実施の形態
例えば、第3の実施の形態においては、図5について上述したインデックス生成処理のステップSP14において、文書番号リストのインデックス属性を変更するか否かの判断基準値(以下、これをインデックス属性変換閾値と呼ぶ)が、文書番号リストに対象とする文書の文書番号を追加した場合に、その文書番号リストに登録された文書番号の総数が、全文検索装置41に登録されている総文書番号数の50パーセントと予め定められており、このインデックス属性変換閾値は固定であった。
例えば、第3の実施の形態においては、図5について上述したインデックス生成処理のステップSP14において、文書番号リストのインデックス属性を変更するか否かの判断基準値(以下、これをインデックス属性変換閾値と呼ぶ)が、文書番号リストに対象とする文書の文書番号を追加した場合に、その文書番号リストに登録された文書番号の総数が、全文検索装置41に登録されている総文書番号数の50パーセントと予め定められており、このインデックス属性変換閾値は固定であった。
しかしながら、このインデックス属性変換閾値をユーザが自在に設定できれば、ユーザにとっての利便性を向上させることができるものと考えられる。そこで、本実施の形態においては、このインデックス属性変換閾値をユーザが自在に設定できる点を特徴としている。
図28は、このような機能(以下、これをインデックス属性変換閾値変更機能と呼ぶ)が搭載された本実施の形態による全文検索システム60を示す。本全文検索システム60は、全文検索装置61に上述のインデックス属性変換閾値変更機能が搭載されている点と、当該インデックス属性変換閾値変更機能を用いてユーザにより設定されたインデックス属性変換閾値に基づいて、全文検索装置61に実装されたインデックス生成プログラム62が、そのとき対象としている文書番号リストのインデックス属性を他のインデックス属性に変換するか否かを判断する点を除いて第3の実施の形態による全文検索システム30(図1)と同様に構成されている。
実際上、本全文検索システム60の場合、全文検索装置61は、図24について上述した定期メンテナンス処理の終了後に、例えば図29に示すようなインデックス属性変換閾値設定画面70を出力装置14に表示する。
このインデックス属性変換閾値設定画面70は、インデックス状態表示フィールド71と、閾値設定フィールド72と、OKボタン73及びキャンセルボタン74とから構成される。
そしてインデックス状態表示フィールド71には、インデックス管理テーブル42に登録された各タームのうち、文書番号リストのインデックス属性が「表」のタームについては文書番号数の昇順で、インデックス属性が「裏」のタームについては文書番号の降順で並ぶように、各タームにそれぞれ対応させて、そのタームの文書番号数に応じた長さの棒グラフ75が表示される。この場合、これら棒グラフ75のうち、文書番号リストのインデックス属性が「表」のタームに対応する棒グラフ75ついては実線で表示され、文書番号リストのインデックス属性が「裏」のタームに対応する棒グラフ75については破線で表示される。また、インデックス状態表示フィールド71には、これらの棒グラフと対応付けて、現在設定されているインデックス属性変換閾値を表す二点鎖線が表示される。
一方、閾値設定フィールド72には、「半数より多い」という文字列及び「指定した割合より多い」という文字列と、これら文字列にそれぞれ対応付けられた第1及び第2の選択ボタン76A,76Bとが表示される。そしてユーザは、第1の選択ボタン76Aを選択することによって、インデックス属性変換閾値の値として固定値の50パーセントを指定することができ、また第2の選択ボタン76Bを指定すると共に、割合指定欄77に所望の割合を入力することによって、このとき割合指定欄77に入力した数値をインデックス属性変換閾値に指定することができる。なお本実施の形態においては、初期状態では、第1の選択ボタン76Aが選択され、インデックス属性変換閾値として固定値の50パーセントが設定されているものとする。
かくしてユーザは、上述のように閾値設定フィールド72においてインデックス属性変換閾値として所望の数値を指定した後、OKボタン73をクリックすることによって、インデックス属性変換閾値をそのとき閾値設定フィールド72において指定した数値に設定することができる。そして、このとき設定されたインデックス属性変換閾値が閾値管理テーブル63(図28)に格納され、当該閾値管理テーブル63が全文検索装置61の補助記憶装置12内に格納される。またユーザは、キャンセルボタン74をクリックすることによって、インデックス属性変換閾値を設定又は変更することなく、インデックス属性変換閾値設定画面70を閉じることができる。
図30は、かかるインデックス属性変換閾値設定画面70に関してインデックス生成プログラム62により実行されるインデックス属性変換閾値設定画面表示処理の処理手順を示す。インデックス生成プログラム62(図28)は、この図30に示す処理手順に従って、インデックス属性変換閾値設定画面70を出力装置14に表示させる。
実際上、インデックス生成プログラム62は、一定の間隔あるいはユーザから指定されたタイミングにおいてこのインデックス属性変換閾値設定画面表示処理を開始し、まず、インデックス管理テーブル42(図16)から、対応する文書番号リストのインデックス属性が「表」のタームをすべて抽出し、抽出したタームを対応する文書番号リストに登録された文書番号数(文書番号数欄42Cに格納された文書番号数)の昇順に並べたリストをリスト1として作成する(SP180)。
次いで、インデックス生成プログラム62は、インデックス管理テーブル42から、対応する文書番号リストのインデックス属性が「裏」のタームをすべて抽出し、抽出したタームを、対応する文書番号リストに登録された文書番号数の降順に並べたリストをリスト2として作成する(SP181)。
この後、インデックス生成プログラム62は、ステップSP180において作成したリスト1と、ステップSP181において作成したリスト2とを、リスト1及びリスト2の順で連結することにより、表示用リストを作成する(SP182)。
続いて、インデックス生成プログラム62は、インデックス属性変換閾値設定画面70を出力装置14に表示させる(SP183)。この際、インデックス生成プログラム62は、上述のように、そのインデックス属性変換閾値設定画面70のインデックス状態表示フィールド71に、表示用リストにリストアップされた順番で、各タームにそれぞれ対応する文書番号リストに登録された文書番号の数を棒グラフ75で表示する。また、この際、インデックス生成プログラム62は、文書番号リストのインデックス属性が「表」のタームについては実線、当該インデックス属性が「裏」のタームについては破線で棒グラフ75を表示させる。
一方、図31は、かかるインデックス属性変換閾値設定画面70上でインデックス属性変換閾値が設定された後にOKボタン73がクリックされたときに、インデックス生成プログラム62により実行される閾値設定処理の処理手順を示す。インデックス生成プログラム62は、この図31に示す処理手順に従って、インデックス属性変換閾値をインデックス属性変換閾値設定画面70上で設定された数値に設定する。
実際上、インデックス生成プログラム62は、インデックス属性変換閾値設定画面70のOKボタン73がクリックされると、この閾値設定処理を開始し、まず、インデックス属性変換閾値設定画面70上で設定されたインデックス属性変換閾値が、現在、閾値管理テーブル63(図28)に登録されている数値と異なるか否かを判断する(SP190)。
そして、インデックス生成プログラム62は、この判断で否定結果を得ると、この閾値設定処理を終了する。
これに対して、インデックス生成プログラム62は、この判断で肯定結果を得ると、閾値管理テーブル63に格納されているインデックス属性変換閾値を、インデックス属性変換閾値設定画面70上でインデックス属性変換閾値として設定された数値に更新し(SP191)、この後、インデックス管理テーブル42の各行のうち、後述するステップSP192~ステップSP198の処理を未だ実行していない行を1つ選択する(SP192)。
続いて、インデックス生成プログラム62は、ステップSP192において選択した行のインデックス属性欄42B(図16)に格納されている対応する文書番号リストのインデックス属性が「表」であるか否かを判断する(SP193)。
インデックス生成プログラム62は、この判断で否定結果を得ると、ステップSP192において選択した行の文書番号数欄42C(図16)に格納されている文書番号数が、文書管理テーブル27(図28)に登録されている文書番号の最大値×閾値よりも大きいか否かを判断する(SP194)。
そしてインデックス生成プログラム62は、この判断で否定結果を得るとステップSP198に進み、これに対して肯定結果を得ると、その行の文書番号リスト欄42E(図16)に格納されている文書番号リストのインデックス属性を「表」に変換する変換処理を実行し(SP196)、この後、ステップSP198に進む。
これに対して、インデックス生成プログラム62は、ステップSP193の判断で肯定結果を得ると、ステップSP192において選択した行の文書番号数欄42Cに格納されている文書番号数が、文書管理テーブル27に登録されている文書番号の最大値×閾値よりも大きいか否かを判断する(SP196)。
そしてインデックス生成プログラム62は、この判断で否定結果を得るとステップSP198に進み、これに対して肯定結果を得ると、その行の文書番号リスト欄42Eに格納されている文書番号リストのインデックス属性を「裏」に変換する変換処理を実行し(SP197)、この後、ステップSP198に進む。
続いて、インデックス生成プログラム62は、インデックス管理テーブル42のすべての行についてステップSP194~ステップSP198の処理を実行し終えたか否かを判断する(SP198)。そしてインデックス生成プログラム62は、この判断で否定結果を得るとステップSP192に戻り、この後、ステップSP192において選択する行を順次他の行に切り替えながら、ステップSP192~ステップSP197の処理を繰り返す。
そしてインデックス生成プログラム62は、やがてインデックス管理テーブル42のすべての行についてステップSP194~ステップSP197の処理を実行し終えることによりステップSP198で肯定結果を得ると、この閾値設定処理を終了する。
なお、この後、文書登録プログラム20により実行される文書登録処理や、インデックス生成プログラム62により実行されるインデックス生成処理、クライアント51からの文書検索要求が与えられたときにインデックス検索プログラム22、文書検索プログラム23及び検索結果返却プログラム24により実行される各種処理の処理内容は、第3の実施の形態と同様であるため、ここでの説明は省略する。
以上のように本実施の形態による全文検索システム60によれば、インデックス属性変換閾値をユーザが自在に設定及び変更できるため、第3の実施の形態により得られる効果に加えて、ユーザにとっての利便性を向上させる全文検索システムを実現できる。
(5)他の実施の形態
なお上述の第1~第5の実施の形態においては、本発明をハイブリッド型検索方式による文書検索処理を実行する全文検索装置3,31,41,52,61に適用するようにした場合について述べたが、本発明はこれに限らず、インデックス型検索方式による文書検索処理を実行する検索装置にも適用することができる。
なお上述の第1~第5の実施の形態においては、本発明をハイブリッド型検索方式による文書検索処理を実行する全文検索装置3,31,41,52,61に適用するようにした場合について述べたが、本発明はこれに限らず、インデックス型検索方式による文書検索処理を実行する検索装置にも適用することができる。
また上述の第1~第5の実施の形態においては、全文検索装置3,31,41,52,61に登録された文書のインデックスを管理する管理情報としての転置インデックスを図2又は図16のように構成する場合について述べたが、本発明はこれに限らず、転置インデックスの構成としては、この他種々の構成を広く適用することができる。
さらに上述の第1~第5の実施の形態においては、全文検索装置3,31,41,52,61に登録された文書に付与する識別情報として番号(文書番号)を適用するようにした場合について述べたが、本発明はこれに限らず、例えばアルファベットを組み合わせたIDなど、文書の登録順番を認識可能なこの他種々の識別情報を広く適用することができる。
さらに上述の第4の実施の形態においては、文書データ25を保存する外部記憶装置としてWebサーバ55を適用するようにした場合について述べたが、本発明はこれに限らず、例えばディスクアレイ装置等の記憶装置を適用するようにしても良い。
本発明は、インデックス型検索方式の文書検索処理を実行する種々の構成の検索装置に広く適用することができる。
1,30,40,50,60……全文検索システム、2,51……クライアント、3,31,41,52,61……全文検索装置、10……CPU、20,53……文書登録プログラム、21,44,62……インデックス生成プログラム、22,45……インデックス検索プログラム、23……文書検索プログラム、24……検索結果返却プログラム、25……文書データ25、26,42……インデックス管理テーブル、27……文書管理テーブル、43……文書番号管理テーブル、55……Webサーバ、63……閾値管理テーブル、70……インデックス属性変換閾値設定画面。
Claims (12)
- 登録された文書群から検索キーワードを含む文書を検索する検索装置において、
上位装置からの登録要求に応じて、新たな文書を前記文書群に登録する文書登録部と、
前記新たな文書から前記第1のタームを抽出し、抽出した前記第1のタームが前記管理情報に登録されているときには、当該第1のタームに対応する前記リストに当該新たな文書の識別情報を登録し、抽出した前記第1のタームが前記管理情報に登録されていないときには、当該第1のタームを前記管理情報に新たに登録し、当該第1のタームに対応するリストに当該新たな文書の識別情報を登録するインデックス生成処理を実行するインデックス生成部と、
指定された検索キーワードから前記第1のタームと同じ文字数の第2のタームを抽出し、抽出した前記第2のタームと、前記管理情報とに基づいて、前記検索キーワードを含む文書を特定するインデックス検索部と
を備え、
前記インデックス生成部は、
前記第1のタームに対応する前記リストに前記新たな文書の識別情報を登録する際、当該リストに登録された前記文書の識別情報の総数が既定の閾値を越えるときには、当該リストの属性を、当該リストに登録された文書が対応する前記第1のタームを含む第1の属性から、当該リストに登録された文書が対応する前記第1のタームを含まない第2の属性に変換する属性変換処理を実行し、
前記管理情報は、
前記リストの属性が前記第1又は第2の属性のいずれであるかを表す前記リストごとの属性情報を含む
ことを特徴とする検索装置。 - 前記インデックス検索部により特定された個々の文書をそれぞれ全文検索することにより、前記検索キーワードを含む文書を特定する文書検索部を備える
ことを特徴とする請求項1に記載の検索装置。 - 前記インデックス生成部は、
前記インデックス生成処理の終了後に、前記管理情報に含まれる前記リストのうち、属性が第2の属性の各前記リストであって、当該インデックス生成処理により前記新たな文書の文書番号が登録された前記リスト以外の前記リストに対して、当該新たな文書の識別情報を登録する
ことを特徴とする請求項1に記載の検索装置。 - 前記リストの属性として、属性が前記第2の属性から前記第1の属性に切り替わる第3の属性が設けられ、
前記インデックス生成部は、
前記管理情報に含まれる前記リストの属性が前記第2の属性である場合に、当該リストに対応する前記第1のタームを含む新たな文書が前記文書群に登録されたときには、当該新たな文書の識別情報を当該リストに登録すると共に、当該リストの属性を、当該識別情報よりも前を前記第1の属性とし、当該識別情報以降を前記第2の属性とする前記第3の属性に設定する
ことを特徴とする請求項1に記載の検索装置。 - 前記文書登録部は、
登録された各前記文書の文書データを、外部記憶装置に転送して当該外部記憶装置に格納する
ことを特徴とする請求項1に記載の検索装置。 - 前記閾値を設定するための所定の設定画面を表示する出力装置を備え、
前記インデックス生成部は、
当該設定画面を用いて設定された前記閾値を用いて前記属性変換処理を実行する
ことを特徴とする請求項1に記載の検索装置。 - 登録された文書群から検索キーワードを含む文書を検索する検索方法において、
上位装置からの登録要求に応じて、新たな文書を前記文書群に登録する第1のステップと、
前記新たな文書から前記第1のタームを抽出し、抽出した前記第1のタームが前記管理情報に登録されているときには、当該第1のタームに対応する前記リストに当該新たな文書の識別情報を登録し、抽出した前記第1のタームが前記管理情報に登録されていないときには、当該第1のタームを前記管理情報に新たに登録し、当該第1のタームに対応するリストに当該新たな文書の識別情報を登録するインデックス生成処理を実行する第2のステップと、
指定された検索キーワードから前記第1のタームと同じ文字数の第2のタームを抽出し、抽出した前記第2のタームと、前記管理情報とに基づいて、前記検索キーワードを含む文書を特定する第3のステップと
を備え、
前記第2のステップでは、
前記第1のタームに対応する前記リストに前記新たな文書の識別情報を登録する際、当該リストに登録された前記文書の識別情報の総数が既定の閾値を越えるときには、当該リストの属性を、当該リストに登録された文書が対応する前記第1のタームを含む第1の属性から、当該リストに登録された文書が対応する前記第1のタームを含まない第2の属性に変換する属性変換処理を実行し、
前記管理情報は、
前記リストの属性が前記第1又は第2の属性のいずれであるかを表す前記リストごとの属性情報を含む
ことを特徴とする検索方法。 - 前記第3のステップで特定された個々の文書をそれぞれ全文検索することにより、前記検索キーワードを含む文書を特定する第4のステップを備える
ことを特徴とする請求項7に記載の検索方法。 - 前記第2のステップでは、
前記インデックス生成処理の終了後に、前記管理情報に含まれる前記リストのうち、属性が第2の属性の各前記リストであって、当該インデックス生成処理により前記新たな文書の文書番号が登録された前記リスト以外の前記リストに対して、当該新たな文書の識別情報を登録する
ことを特徴とする請求項7に記載の検索方法。 - 前記リストの属性として、属性が前記第2の属性から前記第1の属性に切り替わる第3の属性が設けられ、
前記第2のステップでは、
前記管理情報に含まれる前記リストの属性が前記第2の属性である場合に、当該リストに対応する前記第1のタームを含む新たな文書が前記文書群に登録されたときには、当該新たな文書の識別情報を当該リストに登録すると共に、当該リストの属性を、当該識別情報よりも前を前記第1の属性とし、当該識別情報以降を前記第2の属性とする前記第3の属性に設定する
ことを特徴とする請求項7に記載の検索方法。 - 前記第1のステップでは、
登録された各前記文書の文書データを、外部記憶装置に転送して当該外部記憶装置に格納する
ことを特徴とする請求項7に記載の検索方法。 - 前記第2のステップでは、
前記閾値を設定するための所定の設定画面を用いて設定された前記閾値を用いて前記属性変換処理を実行する
ことを特徴とする請求項7に記載の検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/001336 WO2012120560A1 (ja) | 2011-03-07 | 2011-03-07 | 検索装置及び検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/001336 WO2012120560A1 (ja) | 2011-03-07 | 2011-03-07 | 検索装置及び検索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012120560A1 true WO2012120560A1 (ja) | 2012-09-13 |
Family
ID=46797575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/001336 WO2012120560A1 (ja) | 2011-03-07 | 2011-03-07 | 検索装置及び検索方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012120560A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230096705A1 (en) * | 2021-09-28 | 2023-03-30 | Yohsuke Utoh | Information processing apparatus, data management method, and non-transitory recording medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338883A (ja) * | 1998-05-29 | 1999-12-10 | Hitachi Ltd | 特徴文字列抽出方法および装置とこれを用いた類似文書検索方法および装置並びに特徴文字列抽出プログラムを格納した記憶媒体および類似文書検索プログラムを格納した記憶媒体 |
JP2003208433A (ja) * | 2002-01-10 | 2003-07-25 | Mitsubishi Electric Corp | 電子ファイリングシステム及びその検索インデックス作成方法 |
JP2007219620A (ja) * | 2006-02-14 | 2007-08-30 | Fuji Xerox Co Ltd | テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法 |
JP2008209996A (ja) * | 2007-02-23 | 2008-09-11 | Mitsubishi Electric Corp | 検索索引作成装置・検索索引作成方法及び検索索引作成プログラム |
JP2008305175A (ja) * | 2007-06-07 | 2008-12-18 | Hitachi Ltd | 文書検索方法 |
JP2009140302A (ja) * | 2007-12-07 | 2009-06-25 | Hitachi Ltd | 転置インデックス作成装置及びフォワードインデックス作成装置 |
-
2011
- 2011-03-07 WO PCT/JP2011/001336 patent/WO2012120560A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338883A (ja) * | 1998-05-29 | 1999-12-10 | Hitachi Ltd | 特徴文字列抽出方法および装置とこれを用いた類似文書検索方法および装置並びに特徴文字列抽出プログラムを格納した記憶媒体および類似文書検索プログラムを格納した記憶媒体 |
JP2003208433A (ja) * | 2002-01-10 | 2003-07-25 | Mitsubishi Electric Corp | 電子ファイリングシステム及びその検索インデックス作成方法 |
JP2007219620A (ja) * | 2006-02-14 | 2007-08-30 | Fuji Xerox Co Ltd | テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法 |
JP2008209996A (ja) * | 2007-02-23 | 2008-09-11 | Mitsubishi Electric Corp | 検索索引作成装置・検索索引作成方法及び検索索引作成プログラム |
JP2008305175A (ja) * | 2007-06-07 | 2008-12-18 | Hitachi Ltd | 文書検索方法 |
JP2009140302A (ja) * | 2007-12-07 | 2009-06-25 | Hitachi Ltd | 転置インデックス作成装置及びフォワードインデックス作成装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230096705A1 (en) * | 2021-09-28 | 2023-03-30 | Yohsuke Utoh | Information processing apparatus, data management method, and non-transitory recording medium |
US12235906B2 (en) * | 2021-09-28 | 2025-02-25 | Ricoh Company, Ltd. | Information processing apparatus, data management method, and non-transitory recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4879580B2 (ja) | ユーザ・インタフェースに自動探索メニューを与えるシステムおよび方法 | |
JP6626211B2 (ja) | ショートリンクを処理する方法及び装置並びにショートリンクサーバ | |
JP5606659B2 (ja) | ユーザの振る舞いに基づいたデジタルメディアの転送 | |
JP6028567B2 (ja) | データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法 | |
RU2701124C2 (ru) | Составные функции разбиения | |
US9952940B2 (en) | Method of operating a shared nothing cluster system | |
US20110264668A1 (en) | Methods and Systems for Providing Secondary Indexing in a Multi-Tenant Database Environment | |
EP3432157B1 (en) | Data table joining mode processing method and apparatus | |
CN107545071B (zh) | 一种字符串匹配的方法和装置 | |
JP2017521778A (ja) | データ品質例外を処理するための方法、コンピュータ・プログラム、および例外エンジン | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
US9749378B2 (en) | System and method for early media buffering using prediction of user behavior | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
CN104462158A (zh) | 数据抓取方法和数据抓取系统 | |
US20130275992A1 (en) | Distributed processing system, distributed processing method, and distributed processing program | |
WO2015001596A1 (ja) | 系列データ並列分析基盤およびその並列分散処理方法 | |
WO2012120560A1 (ja) | 検索装置及び検索方法 | |
CN112988457A (zh) | 一种数据备份方法、装置、系统及计算机设备 | |
JP2011154496A (ja) | アクセス権設定プログラム、アクセス権設定装置及びアクセス権管理システム | |
TWI866729B (zh) | 幾何形狀流資料處理方法、計算設備和電腦可讀儲存媒體 | |
EP2856354B1 (en) | Method and system for deleting obsolete files from a file system | |
CN104572638A (zh) | 数据读写方法及装置 | |
US20110239217A1 (en) | Performing a wait operation to wait for one or more tasks to complete | |
US11080028B1 (en) | Condenser for user interface changes | |
US10606939B2 (en) | Applying matching data transformation information based on a user's editing of data within a document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11860650 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11860650 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |