KR101737246B1 - Index configuration for searchable data in network - Google Patents
Index configuration for searchable data in network Download PDFInfo
- Publication number
- KR101737246B1 KR101737246B1 KR1020157012030A KR20157012030A KR101737246B1 KR 101737246 B1 KR101737246 B1 KR 101737246B1 KR 1020157012030 A KR1020157012030 A KR 1020157012030A KR 20157012030 A KR20157012030 A KR 20157012030A KR 101737246 B1 KR101737246 B1 KR 101737246B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage quota
- size
- partition
- partitions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 claims description 137
- 238000005192 partition Methods 0.000 claims description 101
- 238000000034 method Methods 0.000 claims description 55
- 230000004048 modification Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000007792 addition Methods 0.000 claims 1
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G06F17/30312—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G06F17/302—
-
- G06F17/30321—
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
컴퓨팅 디바이스를 사용하는 엔티티는 검색가능 데이터를 인덱싱되어 저장되도록 네트워크 서비스로 업로드할 수 있다. 데이터는 복수의 데이터 필드들을 포함할 수 있고, 각각의 데이터 필드는 하나 이상의 연관된 값들을 가진다. 네트워크 서비스는, 데이터 필드들에 대한 데이터 필드 유형들 및 데이터 필드들에 대해 인에이블될 검색 옵션들을 결정하기 위해, 데이터 필드들 및 그들 각자의 연관된 값들을 분석할 수 있다. 데이터 필드 유형들 및 검색 옵션들에 적어도 부분적으로 기초하여, 네트워크 서비스는 검색 인덱스 구성/스키마를 생성할 수 있다. 생성된 검색 인덱스 구성/스키마에 적어도 부분적으로 기초하여, 네트워크 서비스는 데이터에 대한 검색 인덱스를 생성할 수 있다. 일부 실시예들에서, 네트워크 서비스는 또한 데이터를 검색 인덱스와 호환되는 포맷으로 변환시킬 수 있다.An entity using the computing device may upload searchable data to the network service to be indexed and stored. The data may comprise a plurality of data fields, each data field having one or more associated values. The network service may analyze the data fields and their respective associated values to determine data field types for the data fields and search options to be enabled for the data fields. Based at least in part on data field types and search options, the network service may generate a search index configuration / schema. Based at least in part on the generated search index configuration / schema, the network service can generate a search index for the data. In some embodiments, the network service may also convert the data into a format compatible with the search index.
Description
인터넷과 같은 네트워크를 거쳐 통신하기 위해 컴퓨팅 디바이스들이 종종 사용된다. 서비스 제공자에 의해 제공되는 네트워크 기반 서비스들이 점점 더 보편화되고 있다. 컴퓨팅 디바이스들에 의해 사용/검색될 검색가능 데이터를 저장하는 것 또는 컴퓨팅 디바이스들에 부가의 처리 능력을 제공하는 것과 같은 서비스들을 제공할 수 있는 네트워크 기반 서비스에 연결하기 위해 컴퓨팅 디바이스들이 빈번히 사용된다. 검색가능 데이터의 네트워크 기반 저장과 관련하여, 컴퓨팅 디바이스들의 사용자들은, 그들의 데이터가 네트워크 기반 서비스에 의해 인덱싱되어 저장될 수 있도록, 통상적으로 그들의 데이터에 대한 구성 및/또는 포맷을 선택할 필요가 있다. 종래의 접근 방법들은 통상적으로 사용자들에게 그들의 데이터에 대한 적절한 구성을 결정할 것을 요구한다. 종래의 접근 방법들은 또한 사용자의 데이터가 따라야만 하는 포맷을 요구할 수 있고, 그에 의해 사용자들에게 그들의 데이터를 그 포맷으로 변환시킬 것을 요구한다. 이것은 저장 및 검색을 위해 네트워크 기반 서비스를 사용하고자 하는 사용자들에게 불편하거나, 번거롭거나 어려울 수 있고, 그에 의해 전반적인 사용자 경험을 떨어뜨린다.Computing devices are often used to communicate across a network, such as the Internet. Network-based services provided by service providers are becoming increasingly popular. Computing devices are frequently used to connect to network-based services that can provide services such as storing searchable data to be used / retrieved by computing devices or providing additional processing capabilities to computing devices. With regard to network-based storage of discoverable data, users of computing devices typically need to select the configuration and / or format for their data so that their data can be indexed and stored by network-based services. Conventional approaches typically require users to determine an appropriate configuration for their data. Conventional approaches may also require a format that the user's data must follow, thereby requiring users to convert their data into that format. This can be inconvenient, cumbersome, or difficult for users who want to use network based services for storage and retrieval, thereby degrading the overall user experience.
본 개시 내용에 따른 다양한 실시예들이 도면을 참조하여 기술될 것이다.
도 1은 다양한 실시예들의 양태들이 이용될 수 있는 예시적인 환경을 나타낸 도면.
도 2는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 시스템 실시예를 나타낸 도면.
도 3은 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성이 이용될 수 있는 예시적인 웹 브라우징 환경을 나타낸 도면.
도 4는 다양한 실시예들에 따라 생성될 수 있는 예시적인 검색 인덱스를 나타낸 도면.
도 5는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 방법 실시예를 나타낸 도면.
도 6은 다양한 실시예들의 양태들을 구현하는 데 사용될 수 있는 예시적인 디바이스를 나타낸 도면.
도 7은 도 6에 예시된 것과 같은 클라이언트 디바이스의 예시적인 구성요소들을 나타낸 도면.
도 8은 다양한 실시예들이 구현될 수 있는 환경을 나타낸 도면.Various embodiments according to the present disclosure will be described with reference to the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 illustrates an exemplary environment in which aspects of various embodiments may be utilized.
Figure 2 illustrates an exemplary system embodiment of an index configuration for searchable data in a networked environment;
Figure 3 illustrates an exemplary web browsing environment in which an index configuration for searchable data in a networked environment can be used.
4 illustrates an exemplary search index that may be generated in accordance with various embodiments;
5 illustrates an exemplary method embodiment of an index configuration for searchable data in a networked environment;
Figure 6 illustrates an exemplary device that may be used to implement aspects of various embodiments.
Figure 7 illustrates exemplary components of a client device as illustrated in Figure 6;
Figure 8 illustrates an environment in which various embodiments may be implemented;
적어도 하나의 네트워크를 거쳐 수신된 데이터에 대한 검색 인덱스를 생성하는 데 사용될 수 있는 인덱스 구성을 생성하는 시스템들 및 방법들이 기술된다. 적어도 일부 실시예들은 컴퓨팅 디바이스가 데이터를 네트워크(예컨대, 인터넷)를 거쳐 네트워크 서비스(즉, 네트워크 서비스 제공자)에 의해 제공된 저장소 할당량(storage allocation)에 업로드할 수 있게 한다. 네트워크 서비스는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 업로드된 데이터를 분석할 수 있다. 네트워크 서비스는 업로드된 데이터에 포함된 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해 업로드된 데이터를 분석할 수 있다.Systems and methods for generating an index configuration that can be used to generate a search index for data received over at least one network are described. At least some embodiments allow a computing device to upload data to a storage allocation provided by a network service (i.e., a network service provider) over a network (e.g., the Internet). The network service may analyze the uploaded data to determine the type of data field (i. E., The data field type) for each data field in the plurality of data fields. The network service may analyze the uploaded data to determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data.
적어도 일부 실시예들은 컴퓨팅 디바이스가 데이터를 네트워크(예컨대, 인터넷)를 거쳐 네트워크 서비스(즉, 네트워크 서비스 제공자, 네트워크 기반 서비스, 기타)에 의해 제공된 저장소 할당량에 업로드할 수 있게 한다. 하나 이상의 사용자들/엔티티들은 (예컨대, 하나 이상의 컴퓨팅 디바이스들을 사용하여) 네트워크 서비스에 의해 제공될 수 있는 검색 인덱스를 이용하여 네트워크를 거쳐 업로드된 데이터를 검색할 수 있다.At least some embodiments allow a computing device to upload data to a storage quota provided by network services (i.e., network service providers, network-based services, etc.) over a network (e.g., the Internet). One or more users / entities may retrieve the uploaded data across the network using a search index that may be provided by the network service (e.g., using one or more computing devices).
일부 실시예들에서, 업로드된 데이터는 복수의 데이터 필드들을 포함할 수 있다. 네트워크 서비스는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 업로드된 데이터를 분석할 수 있다. 예를 들어, 각각의 데이터 필드는 정수 유형, 텍스트 유형, 또는 리터럴 유형(literal type)을 비롯한 유형일 수 있다.In some embodiments, the uploaded data may include a plurality of data fields. The network service may analyze the uploaded data to determine the type of data field (i. E., The data field type) for each data field in the plurality of data fields. For example, each data field may be of an integer type, a text type, or a type, including a literal type.
더욱이, 네트워크 서비스는 업로드된 데이터에 포함된 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해 업로드된 데이터를 분석할 수 있다. 예를 들어, 네트워크 서비스는, 각자의 데이터 필드 각각에 대해, 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키게 될 옵션을 인에이블시킬지 여부를 결정할 수 있다. 네트워크 서비스는 또한, 각자의 데이터 필드 각각에 대해, 각자의 데이터 필드에 대한 패싯 카운트(facet count)를 계산하게 될 옵션을 인에이블시킬지를 결정할 수 있다. 게다가, 네트워크 서비스는, 각자의 데이터 필드 각각에 대해, 검색 질의에 응답하여 각자의 데이터 필드와 연관된 값을 반환/제공하게 될 옵션을 인에이블시킬지를 결정할 수 있다.Moreover, the network service may analyze the uploaded data to determine whether to enable one or more search options for each data field in the plurality of data fields included in the uploaded data. For example, the network service may determine, for each of its data fields, whether to enable the option to include its data field in the search index to be generated. The network service may also determine, for each of its data fields, whether to enable the option to calculate a facet count for each data field. In addition, the network service may determine, for each of its data fields, whether to enable the option to return / provide a value associated with the respective data field in response to the search query.
일부 실시예들에서, 네트워크 서비스는, 결정된 데이터 필드 유형(들) 및 인에이블될 검색 옵션(들)에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성[즉, 검색 인덱스 구성, 스키마(schema), 인덱스 설정(index setting), 기타]을 생성할 수 있다. 네트워크 서비스는, 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다.In some embodiments, the network service is configured to determine the index configuration (i. E., Search index configuration, schema, < RTI ID = 0.0 > Index setting, etc.] can be generated. The network service may generate a search index for the data based at least in part on the index configuration.
다양한 실시예들에 따라 제공될 수 있는 바와 같이, 다양한 다른 기능들 및 장점들이 이하에서 기술되고 제안되어 있다.As can be provided in accordance with various embodiments, various other functions and advantages are described and suggested below.
도 1은 다양한 실시예들의 양태들이 이용될 수 있는 예시적인 환경(100)을 나타낸 것이다. 예시적인 환경(100)은 적어도 하나의 컴퓨팅 디바이스(102), 네트워크(104)[예컨대, 인터넷, 인트라넷, 로컬 네트워크, LAN(local area network), 기타], 및 네트워크 서비스(106)(즉, 네트워크 서비스 제공자, 네트워크 기반 서비스, 기타)를 포함할 수 있다. 적어도 하나의 컴퓨팅 디바이스(102)는 네트워크(104)를 거쳐 네트워크 서비스(106)에 통신 연결(communicatively connected)될 수 있다. 일부 실시예들에서, 컴퓨팅 디바이스(102)는 인터넷과 같은 네트워크(104) 없이 네트워크 서비스(106)를 전달할 수 있다. 도 1에 도시된 바와 같이, 적어도 하나의 컴퓨팅 디바이스(102)의 사용자(108) 또는 기타 엔티티(예컨대, 개인, 회사, 조직, 그룹, 기타)(108)가 또한 있을 수 있다. 사용자 또는 엔티티(108)는 적어도 하나의 컴퓨팅 디바이스(102)로부터 네트워크(104)를 거쳐 네트워크 서비스(106)로(그리고 그 반대로) 데이터(110)를 전달할 수 있다.FIG. 1 illustrates an
일부 실시예들에서, 네트워크 서비스(106)는 네트워크(104)에 연결된 하나 이상의 호스트들 또는 서버들을 포함하고 그리고/또는 이용할 수 있다. 예를 들어, 네트워크 서비스(106)는 디바이스(102)의 사용자 또는 다른 엔티티(들)(예컨대, 회사, 조직, 그룹, 개인, 기타)(108)와 같은 고객들에게 저장 공간을 임대할 수 있다. 그에 따라, 컴퓨팅 디바이스(102)의 사용자/엔티티(108)는 디바이스(102)로부터의 데이터를 네트워크(104)를 사용하여 네트워크 서비스(106)에 저장할 수 있다. 환언하면, 사용자/엔티티(108) 및/또는 디바이스(102)는 네트워크 서비스(106)를 통해 네트워크 기반 컴퓨팅 저장소를 이용할 수 있다.In some embodiments, the
하나의 예에서, 컴퓨팅 디바이스(102)는, 도 1에 도시된 바와 같이, 네트워크 서비스(106)에 저장될 데이터(110)를 네트워크(104)를 거쳐 전송할 수 있다. 데이터(110)는 예를 들어, 검색, 데이터베이스 저장, 애플리케이션을 실행하는 것, 가상 기계를 실행하는 것, 운영 체제를 실행하는 것 등을 위해서 네트워크 기반 컴퓨팅에서 이용되는 임의의 데이터일 수 있다. 컴퓨팅 디바이스(102)는 서비스(106)에 의해 제공된 저장소 할당량에 저장될 데이터(110)를 전송할 수 있다. 예를 들어, 사용자/엔티티(108)는 서비스(106) 상의 저장 공간을 구입 또는 임대할 수 있고, 저장소 할당량이 사용자/엔티티(108)에 할당 및 배정될 수 있다. 일부 실시예들에서, 사용자/엔티티(108)는 서비스(106) 상에 특정의 계정 및/또는 저장소 할당량을 가질 수 있고; 엔티티(108)에 할당 및 배정된 저장 공간(예컨대, 저장소 할당량)은 엔티티(108)의 계정과 연관되어 있을 수 있다.In one example, the
엔티티(108)는 또한 네트워크 서비스(106)가 데이터(110)에 대한 검색 인덱스를 제공하기를 원할 수 있다. 종래의 접근 방법들은 통상적으로 엔티티(108)가 먼저 인덱싱될 데이터(110)에 대한 구성(즉, 인덱스 구성, 스키마, 인덱스 설정, 기타)을 제공할 것을 요구하거나, 종래의 접근 방법들은 엔티티의 데이터(110)가 따라야만 하는 구성/포맷[예컨대, SDF(Search Data Format)]을 요구할 수 있고, 따라서 엔티티(110)에게 그의 데이터(110)를 요구된 구성으로 변환시킬 것을 요구한다. 그렇지만, 이것이 엔티티(108)에게 불편하거나, 번거롭거나 어려울 수 있다.The
일부 실시예들에서, 엔티티(108)는 데이터(110)를 네트워크 서비스(106)로 전송할 수 있고, 네트워크 서비스(106)는 데이터(110)를 자동으로[즉, 엔티티(108)로부터의 지시 또는 요청 없이] 분석하고 데이터(110)에 대한 인덱스 구성(예컨대, 검색 인덱스 구성, 검색 인덱스 스키마, 기타)을 생성할 수 있다. 예를 들어, 일부 실시예들에서, 네트워크 서비스(106)는, 데이터(110)에 포함된 하나 이상의 데이터 필드들에 대한 데이터 필드 유형(112)을 결정하는 것 및 데이터(110)에 포함된 하나 이상의 데이터 필드들에 대해 인에이블될 검색 옵션(114)을 결정하는 것에 의해, 데이터(110)를 분석할 수 있다.In some embodiments, the
데이터 필드 유형(112)을 결정하는 것과 관련하여, 데이터(110)(예컨대, 문서, 파일, 기타)가 연관될 수 있는 복수의 데이터 필드 유형들(예를 들어, 정수 데이터 필드 유형, 리터럴 데이터 필드 유형, 또는 텍스트 데이터 필드 유형, 기타 등등)이 있을 수 있다. 일부 실시예들에서, 데이터(110)는 복수의 데이터 필드들을 포함할 수 있고, 각각의 데이터 필드는 값을 포함한다(예컨대, 데이터 필드 "이름"은 "ABCD-브랜드 셔츠"의 값을 가질 수 있고; 데이터 필드 "가격"은 "$20"의 값을 가질 수 있으며; 기타가 있다). 네트워크 서비스(106)는 복수의 데이터 필드들에서의 각각의 데이터 필드에 대한 데이터 필드 유형을 결정하기 위해 데이터(110)에 포함된 복수의 데이터 필드들을 분석할 수 있다.With regard to determining the
예를 들어, 각각의 데이터 필드에 대해, 네트워크 서비스(106)는 각자의 데이터 필드 각각의 값이 지정된 정수 양 임계치(integer amount threshold) 초과의 양의 정수들을 포함하는지를 결정할 수 있고(예컨대, 데이터 필드 "가격"의 값이 모두 정수임); 그러한 경우, 그 각자의 데이터 필드가 정수 데이터 필드 유형인 것으로 결정될 수 있다. 네트워크 서비스(106)는 또한, 예를 들어, 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치(lower literal amount threshold) 초과이지만 지정된 상부 리터럴 양 임계치(upper literal amount threshold) 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치(literal distinct amount threshold) 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 의해 데이터 필드가 리터럴 데이터 필드 유형인지를 결정할 수 있다. 일부 실시예들에서, 네트워크 서비스(106)는, 예를 들어, 데이터 필드를 텍스트 유형인 것으로 식별하기 위해, 데이터 필드 값의 길이 및 데이터 필드 값에서의 개별 값들의 빈도수 및/또는 퍼센트를 고려할 수 있고; 데이터 필드 값에 많은 개별 값들이 있고 데이터 필드 값이 아주 긴 경우(예컨대, 임계치 초과의 개수의 영숫자 문자들을 가짐), 데이터 필드는 텍스트 유형일 가능성이 있다. 일부 실시예들에서, 데이터 필드가 정수 유형 또는 리터럴 유형이 아닌 경우, 그 데이터 필드는 텍스트 유형일 수 있다.For example, for each data field, the
검색 옵션(114)을 결정하는 것과 관련하여, 네트워크 서비스(106)는 데이터(110)(의 데이터 필드들)에 대해 인에이블될 하나 이상의 검색 옵션들(114)을 결정할 수 있다. 예를 들어, 데이터(110)에 포함된 데이터 필드에 대한 데이터 필드 유형을 결정했으면, 네트워크 서비스(106)는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시킬지 여부, 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬지 여부, 및/또는 데이터 유형에 대한 검색 값을 반환/제공하는 옵션을 인에이블시킬지 여부를 결정할 수 있다.With regard to determining the
예를 들어, 데이터 필드에 대한 데이터 필드 유형이 텍스트인 것으로 결정되는 경우(예컨대, 데이터 필드가 "제품 설명"이고 값이 긴 단락임), 네트워크 서비스(106)는 데이터 필드(및 값)를 검색 인덱스에 포함시키지 않는 옵션을 선택할 수 있다. 다른 예에서, 정수 데이터 필드 유형을 갖는 데이터 필드에 대해(예컨대, 데이터 필드가 "생산 연도"이고 값이 연도임), 네트워크 서비스(106)는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 선택할 수 있고, 서비스(106)는 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬 수 있다. 패싯 카운트는 몇개의 검색 결과들이 데이터 필드에 대한 특정한 카테고리에 속하는지의 카운트일 수 있다. 예를 들어, 데이터 필드가 "생산 연도"인 경우, 네트워크 서비스(106)는 몇개의 검색 결과들이 특정한 카테고리와 연관되어 있는지를 나타내는 패싯 카운트를 제공하는 것이 타당한 것으로 결정할 수 있고; 예컨대, "1984 (23), 2002 (12), 2010 (18)"은, "생산 연도" 데이터 필드와 관련하여, 23개의 검색 결과들이 "1984"와 연관되어 있고, 12개의 검색 결과들이 "2002"와 연관되어 있으며, 18개의 검색 결과들이 "2010"과 연관되어 있는 패싯 카운트들의 한 예를 나타낸다.For example, if it is determined that the data field type for the data field is text (e.g., the data field is a "product description" and the value is a long paragraph), the
일부 실시예들에서, 네트워크 서비스(106)는 또한 데이터 필드에 대한 값의 반환을 인에이블시키기로 결정할 수 있다. 예를 들어, 검색 요청에 응답하여, 검색가능 데이터 필드들(및 값들) 전부가 반환(예컨대, 검색되어 제시)될 필요는 없다. 네트워크 서비스(106)는 데이터 필드에 대한 값을 반환할지 여부를 결정할 수 있다.In some embodiments, the
이제부터 데이터(110)에 대한 구성의 생성을 살펴보면, 네트워크 서비스는 데이터(110)에 대한 구성(예컨대, 검색 인덱스 구성, 스키마, 기타)을 자동으로[즉, 엔티티(108)로부터의 지시 없이] 생성할 수 있다. 일부 실시예들에서, 구성이, 적어도 부분적으로, 데이터(110)를 어떻게 인덱싱할지를 결정하는 데 도움을 줄 수 있고; 인덱스 구성이, 적어도 부분적으로, 데이터(110)가 어떻게 인덱싱될 것인지를 좌우할 수 있다. 구성 또는 스키마는 데이터(110)에 포함된 각각의 데이터 필드에 대한 데이터 필드 유형을 지정하고, 각각의 데이터 필드가 검색가능한지를 나타내며, 각각의 데이터 필드가 순위부여가능(rankable)[예컨대, 분류가능(sortable)]한지, 및 인덱스를 구축하는 데 유용한 기타 유사한 정보를 나타낼 수 있다. 인덱싱될 데이터(110)에 대한 구성을 생성한 후에, 네트워크 서비스(106)는, 생성된 구성에 적어도 부분적으로 기초하여, 데이터(110)에 대한 검색 인덱스를 생성할 수 있다.Now, looking at the creation of a configuration for
도 2는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성이 이용될 수 있는 예시적인 웹 브라우징 환경(200)을 나타낸 것이다. 예시적인 웹 브라우징 환경(200)은 웹 브라우저와 같은 애플리케이션에 의해 렌더링되고 있는 예시적인 웹 페이지(202)를 포함할 수 있다. 이 예에서, 웹 페이지(202)는 도메인 ABCD.com과 연관되어 있는 네트워크 서비스에 의해 제공될 수 있다.2 illustrates an exemplary
사용자/엔티티(예컨대, 네트워크 서비스의 고객)는 소매업자일 수 있고, 예를 들어, 셔츠의 판매와 관련되어 있는 데이터를 업로드할 수 있다. 데이터가 네트워크 서비스에 의해 인덱싱되어 저장되고 사용자/엔티티의 잠재적인 고객들과 같은 다른 사람들에 의해 검색가능하게 될 수 있다. 네트워크 서비스는 데이터에 포함된 데이터 필드들 각각에 대한 데이터 필드의 유형(즉, 데이터 필드 유형)을 결정하기 위해 데이터를 분석할 수 있다. 예를 들어, 셔츠의 판매와 관련된 데이터는 "색상"(206), "크기"(208), "가격"(210), "설명", 및 기타 필드들과 같은 데이터 필드들을 포함할 수 있다. 네트워크 서비스는 각자의 데이터 필드 각각에 대한 유형을 결정하기 위해 각각의 데이터 필드에 대한 값을 분석할 수 있다. 네트워크 서비스는 또한 각각의 데이터 필드에 대해 인에이블시킬 하나 이상의 옵션들(예컨대, 검색 옵션들)을 결정할 수 있다. 네트워크 서비스는 이어서 인덱싱될 데이터에 대한 구성/스키마를 생성할 수 있다. 그러면, 네트워크 서비스는, 구성/스키마에 기초하여, 데이터에 대한 인덱스를 생성할 수 있다.The user / entity (e.g., a customer of the network service) may be a retailer and may upload data associated with, for example, sales of the shirt. Data may be indexed and stored by the network service and made discoverable by others, such as potential customers of the user / entity. The network service may analyze the data to determine the type of data field (i. E., The data field type) for each of the data fields included in the data. For example, data relating to the sale of a shirt may include data fields such as "color" 206, "size" 208, "price" 210, " The network service may analyze the values for each data field to determine the type for each of the data fields. The network service may also determine one or more options (e.g., search options) to enable for each data field. The network service can then create a configuration / schema for the data to be indexed. The network service may then create an index for the data based on the configuration / schema.
예를 들어, 네트워크 서비스는 데이터 필드 "색상"을 식별하고, 그의 값(예컨대, "적색", "청색", "백색", "녹색", 기타)이 알파벳/리터럴인 것으로 결정할 수 있으며, "색상" 데이터 필드의 유형을 리터럴 유형인 것으로 식별할 수 있다. [이 예에서, "색상" 데이터 필드와 연관된 데이터 및 값들(예컨대, "적색", "청색", "백색", "녹색", 기타)은 엔티티에 의해 업로드될 수 있다.] 다른 예에서, 네트워크 서비스는 업로드된 데이터의 적어도 일부분에서 "크기" 데이터 필드를 식별하고 "크기" 데이터 필드에 포함된 값들이 숫자 값인 것으로 결정할 수 있다. 이 경우에, 네트워크 서비스는 "크기" 데이터 필드가 정수 유형인 것으로 결정할 수 있다. 추가의 예에서, 네트워크 서비스는 업로드된 데이터의 적어도 일부분에서 "설명" 데이터 필드들에 대한 값들을 식별하고 값들이 숫자 및 알파벳 문자 둘 다를 포함하는 것으로 그리고/또는 값들이 문자들의 개수의 면에서 긴 것으로 그리고/또는 값들이 개별 용어들/문구들/심볼들을 가지는 것으로 결정할 수 있다. 이 경우에, 네트워크 서비스는 "설명" 데이터 필드가 텍스트 유형인 것으로 결정할 수 있다.For example, the network service may identify the data field "color " and may determine that its value (e.g.," red "," blue "," white "," green " Quot; color "data field as a literal type. In this example, data and values associated with a "color" data field (e.g., "red", "blue", "white", "green", etc.) may be uploaded by an entity. The network service may identify a "size" data field in at least a portion of the uploaded data and determine that the values contained in the "size" data field are numeric values. In this case, the network service may determine that the "size" data field is of integer type. In a further example, the network service identifies values for "description" data fields in at least a portion of the uploaded data and the values include both numeric and alphabetic characters and / And / or that the values have individual terms / phrases / symbols. In this case, the network service may determine that the "description" data field is a text type.
검색 옵션들과 관련하여, 네트워크 서비스는, 데이터 필드들 각각에 대해, 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 예를 들어, 일부 실시예들에서, "설명" 데이터 필드들(및 대응하는 값들)이 검색 인덱스로부터 생략될 수 있다. 그러한 경우, 검색 인덱스와 관련하여 질의가 실행될 때, 질의는 "설명" 데이터 필드를 검색하지 않을 것이다. 그렇지만, 일부 실시예들은 "설명" 데이터 필드들 및 값들을 검색 인덱스에 포함시킬 수 있고 그리고 정말로 포함시킨다.With respect to the search options, the network service may determine, for each of the data fields, whether to enable the option of including their data field in the search index to be generated. For example, in some embodiments, "description" data fields (and corresponding values) may be omitted from the search index. In such a case, when the query is executed with respect to the search index, the query will not search for the "Description" data field. However, some embodiments may and may indeed include "description" data fields and values in the search index.
더욱이, 네트워크 서비스는 각각의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 앞서 언급한 바와 같이, 패싯 카운트는 검색 질의와 일치하는 결과들 중 몇개가 특정의 데이터 필드에 대한 특정의 값(또는 값들의 범위)을 가지는지를 나타낸다. 예를 들어, 도 2에 도시된 바와 같이, "적색"의 값을 갖는 "색상" 데이터 필드는 23의 패싯 카운트(즉, "적색" 셔츠에 대한 23개의 검색 결과들)를 갖는 반면, "색상" 데이터 필드의 "청색" 값은 28의 패싯 카운트(즉, "청색" 셔츠에 대한 28개의 검색 결과들)를 가지며, 기타이다. 일부 실시예들에서, 값들이 겹칠 수 있다(즉, 정확한 일치일 필요는 없다). 예를 들어, 청색 및 적색 줄무늬를 갖는 셔츠는 "청색" 값 및 "적색" 값 둘 다, 및/또는 다른 값들과 연관될 수 있다. 일부 실시예들에서, 네트워크 서비스는 데이터 필드들 중 일부(꼭 데이터 필드들 전부일 필요는 없음)에 대해 패싯 카운트들이 계산되어야만 하는 것으로 결정할 수 있다. 예를 들어, 네트워크 서비스는 "설명"에 대해서가 아니라 "색상", "크기", 및 "가격"에 대한 패싯 카운트들이 있어야만 하는 것으로 결정할 수 있다.Moreover, the network service may determine whether to enable the option to calculate the facet count for each data field. As noted above, facet counts indicate which of the results that match the search query have a particular value (or range of values) for a particular data field. For example, as shown in FIG. 2, a "color" data field having a value of "red" has 23 facet counts (ie, 23 search results for a "red" shirt) The "blue" value of the data field has a facet count of 28 (i.e., 28 search results for a "blue" shirt) and the like. In some embodiments, the values may overlap (i. E., Need not be an exact match). For example, a shirt with blue and red stripes may be associated with both a "blue" value and a "red" value, and / or other values. In some embodiments, the network service may determine that facet counts should be calculated for some of the data fields (not necessarily all of the data fields). For example, a network service may decide that there must be facet counts for "color", "size", and "price", not for "description"
게다가, 네트워크 서비스는 데이터 필드에 대한 값의 반환을 인에이블시킬지 여부를 결정할 수 있다. 예를 들어, 데이터에 포함된 데이터 필드 "내부 제품 식별 번호" - 데이터 필드의 값은 엔티티 내부의 제품 식별 번호이고 엔티티의 고객에게 보여지도록 의도되어 있지 않음 - 가 있을 수 있고; 그에 따라, 네트워크 서비스는 이러한 데이터 필드에 대한 값의 반환을 인에이블시키지 않기로 결정할 수 있다.In addition, the network service may determine whether to enable the return of values for the data field. For example, the data field "internal product identification number" contained in the data - the value of the data field may be the product identification number within the entity and is not intended to be seen by the entity's customer; Accordingly, the network service may decide not to enable the return of values for this data field.
통상의 기술자라면 잘 알 것인 다른 항목들에 관련된 데이터 뿐만 아니라 부가의 옵션들이 있을 수 있는 것이 생각되고 있다. 예를 들어, 네트워크 서비스는 데이터 필드를 순위부여가능(예컨대, 분류가능)하게 만드는 옵션을 인에이블시킬지 여부를 결정할 수 있다. 도 2를 참조하면, 일부 실시예들에서, "가격" 데이터 필드는 그의 값에 의해(예컨대, 최저 가격으로부터 최고 가격으로, 최고 가격으로부터 최저 가격으로, 기타로) 순위 부여/분류될 수 있고, "색상" 데이터 필드는 알파벳순으로 분류될 수 있으며(도 2에 예시되지 않음), 기타이다. 다른 예(예시되지 않음)에서, 음악, 비디오, 책, 사진 등과 같은 미디어 파일에 관련된 데이터가 있을 수 있다. 미디어 파일에 대한 예시적인 데이터 필드는 "제목", "예술가/저자", "제작 연도", "가격", "등급", 기타(이들로 제한되지 않음)를 포함할 수 있다.It is contemplated that there may be additional options as well as data relating to other items that the ordinarily skilled artisan would be familiar with. For example, the network service may determine whether to enable the option to make data fields rankable (e.g., classifiable). Referring to Figure 2, in some embodiments, the "Price" data field may be ranked / sorted by its value (e.g., from lowest price to highest price, from highest price to lowest price, The "color" data fields can be sorted alphabetically (not illustrated in FIG. 2) and others. In another example (not illustrated), there may be data related to media files such as music, video, books, photos, and the like. Exemplary data fields for a media file may include "title", "artist / author", "production year", "price", "rating", and the like, including but not limited to.
데이터에 포함된 데이터 필드들의 유형들 및 데이터에 포함된 데이터 필드들에 대한 하나 이상의 검색 옵션들을 결정하면, 네트워크 서비스는 데이터에 대한 구성(즉, 검색 인덱스 구성, 스키마, 기타)을 생성할 수 있고, 구성의 생성은 결정된 데이터 필드 유형들 및 검색 옵션들에 적어도 부분적으로 기초하고 있다.Upon determining one or more search options for the types of data fields included in the data and the data fields contained in the data, the network service may generate a configuration for the data (i.e., search index configuration, schema, etc.) , The creation of the configuration is based at least in part on the determined data field types and search options.
구성을 생성한 후에, 네트워크 서비스는, 생성된 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다. 그에 따라, 엔티티에 의해 제공된 데이터가 네트워크 서비스에 저장될 수 있고, 데이터에 대한 검색 인덱스가 네트워크 서비스에 의해 생성될 수 있다.After creating the configuration, the network service may generate a search index for the data based at least in part on the generated configuration. Accordingly, the data provided by the entity may be stored in the network service, and a search index for the data may be generated by the network service.
도 3은 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 시스템 실시예(300)를 나타낸 것이다. 예시적인 시스템 실시예(300)는 시스템 제어기(302), 적어도 하나의 통신 송수신기(304), 데이터 필드 유형 분석기(306), 검색 옵션 분석기(308), 인덱스 구성 생성기(310), 인덱스 생성기(312), 및 적어도 하나의 저장소 할당량(314)을 포함할 수 있다.3 illustrates an
시스템 제어기(302)는 시스템이 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성을 위한 다양한 동작들을 수행하는 것을 용이하게 할 수 있다. 시스템 제어기(302)는 시스템 내부에서의 데이터 통신을 용이하게 하기 위해서 뿐만 아니라, 시스템(300)의 외부에 있는 하나 이상의 소스들로의 데이터 전송 및/또는 그로부터의 데이터 수신을 용이하게 하기 위해 적어도 하나의 통신 송수신기(304)와 통신할 수 있다.The
통신 송수신기(304)를 통해 시스템(300)에 의해 (예컨대, 엔티티로부터) 수신된 데이터가, 데이터에 포함된 데이터 필드들 각각과 연관된 유형을 결정하기 위해, 데이터 필드 유형 분석기(306)에 의해 분석될 수 있다. 데이터가 또한, 데이터에 포함된 데이터 필드들 각각과 관련하여 하나 이상의 검색 옵션들을 인에이블시킬지 여부를 결정하기 위해, 검색 옵션 분석기(308)에 의해 분석될 수 있다. 결정된 데이터 필드 유형들 및 하나 이상의 결정된 검색 옵션들에 적어도 부분적으로 기초하여, 인덱스 구성 생성기(310)는 검색 인덱스 구성/스키마를 생성할 수 있다. 이어서, 생성된 검색 인덱스 구성/스키마에 적어도 부분적으로 기초하여, 인덱스 생성기(312)는 데이터에 대한 검색 인덱스를 생성할 수 있다. 데이터 및 데이터에 대해 생성된 검색 인덱스는 하나 이상의 저장소 할당량들(314)에 저장될 수 있다.Data received by system 300 (e.g., from an entity) via
예시적인 시스템(300)의 다양한 구성요소들 및/또는 부분들이 하드웨어, 소프트웨어, 또는 이 둘의 조합으로서 구현될 수 있는 것이 생각되고 있다. 예를 들어, 시스템(300)의 다양한 부분들이 회로, 프로세서, 애플리케이션, 프로그래밍 코드의 일부분, 알고리즘, 또는 이들의 임의의 조합, 기타를 통해 구현될 수 있다. 도 3이 한 예이고 단지 예시를 위해 사용되기 위한 것임이 또한 생각되고 있다. 예를 들어, 다양한 구성요소들이 도 3에 따라 구성될 필요는 없다. 일부 실시예들에서, 다양한 구성요소들이 서로 밀접하게 결합될 필요는 없고, 그 대신에, 보다 분산된 시스템에 걸쳐 확산되어 있을 수 있다. 예를 들어, 인덱스 생성기와 같은 구성요소가 별개의/상이한 네트워크 및/또는 시스템 상에 존재할 수 있지만, 여전히 다른 구성요소들과의 통신 연결(들)을 유지하고 있다.It is contemplated that various components and / or portions of the
도 4는 본 개시 내용의 다양한 실시예들에 따라 생성될 수 있는 예시적인 검색 인덱스(400)를 나타낸 것이다. 도 4를 참조하면, 검색 인덱스에 루트 노드(402)가 있을 수 있다. 도 4의 예에서, T-셔츠 소매업자와 같은 엔티티에 의해 데이터가 업로드될 수 있다. 데이터는 엔티티가 판매하고 있는 T-셔츠[루트 노드(402)]에 관한 정보에 대응할 수 있다. T-셔츠에 관련된 데이터에 대한 데이터 필드들을 나타내는 부모 노드들(예컨대, 404, 406, 408)이 있을 수 있다. 예를 들어, T-셔츠는 색상 데이터 필드(404), 크기 데이터 필드(406), 및 가격 데이터 필드(408)를 가질 수 있다.FIG. 4 illustrates an
도 4의 예를 계속하여, 데이터 필드들은 각자의 데이터 필드 각각 내의 값들을 나타내는 자식 노드들(예컨대, 410, 412, 414, 416, 418)을 가질 수 있다. 예를 들어, 적어도 2개의 색상[적색(410) 및 청색(412)], 하나의 크기[중간(414)], 및 2개의 가격 범위[(<$10(416) 및 $10-$20(418)]가 있을 수 있다. 또한 데이터 필드들 및 값들 중 하나 이상에 대응할 수 있는 한 세트의 검색 결과들/항목들[예컨대, T-셔츠들(420, 422, 424, 426, 428, 430)]이 있을 수 있다.Continuing with the example of FIG. 4, the data fields may have child nodes (e.g., 410, 412, 414, 416, 418) that represent values within each of their respective data fields. For example, at least two colors (
이 예에서, 3개의 데이터 필드[색상(404), 크기(406), 및 가격(408)] 모두가 검색 인덱스에 포함되어야 하고, 패싯 카운트들을 가질 수 있으며, 관련 검색 질의들에 응답하여 값들을 제공/반환할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 색상:적색(410)은 3의 패싯 카운트를 가질 수 있고, 색상:청색(412)은 2의 패싯 카운트를 가질 수 있다. 크기:중간(414)은 2의 패싯 카운트를 가질 수 있다. 가격:<$10(416)은 1의 패싯 카운트를 가질 수 있고, 가격:$10-$20(418)은 2의 패싯 카운트를 가질 수 있다. 더욱이, 예를 들어, 색상:적색(410)의 검색 질의는 T-셔츠들(422, 424, 및 428)을 반환할 것이고; 예를 들어, 적색(410) 및 청색(412)에 대한 검색은 T-셔츠(422)를 반환할 것이며; 기타이다. 예시적인 검색 인덱스(400)가 트리 구조인 것으로서 도시되어 있지만, 검색 인덱스가 많은 다른 방법들로 및/또는 다른 구조들로 생성될 수 있는 것이 생각되고 있다.In this example, all three data fields (
도 5는 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성의 예시적인 방법 실시예(500)를 나타낸 것이다. 다시 말하지만, 달리 언급하지 않는 한, 다양한 실시예들의 범주 내에서, 유사한 또는 대안의 순서로 또는 병렬로 수행되는 부가의, 보다 적은, 또는 대안의 단계들이 있을 수 있다는 것을 잘 알 것이다. 단계(502)에서, 예시적인 방법 실시예(500)는 인덱싱될 데이터를 수신할 수 있다. 예를 들어, 방법(500)은 인덱싱될 (엔티티에 의해 업로드된) 데이터를 수신할 수 있고, 데이터는 복수의 데이터 필드들(또는 적어도 하나의 데이터 필드)을 포함할 수 있다. 일부 실시예들에서, 예시적인 방법은 또한 데이터와 연관된 데이터 필드에 대한 이름을 결정할 수 있다. 단계(504)에서, 예시적인 방법(500)은 데이터와 연관된 데이터 필드의 유형을 결정할 수 있다. 예를 들어, 방법은 복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 (복수의 필드 유형들 중의) 필드 유형을 결정할 수 있다. 복수의 필드 유형들은 정수 유형, 리터럴 유형, 또는 텍스트 유형 중 적어도 하나(이들로 제한되지 않음)를 포함할 수 있다. 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정될 수 있다. 일부 실시예들에서, 복수의 데이터 필드들 및 그들의 유형들 및/또는 이름들이 태그들, 신호들, 또는 다른 표시들에 기초하여 식별될 수 있다. 방법(500)은, 단계(506)에서, 데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정할 수 있다. 예를 들어, 하나 이상의 검색 옵션들은 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 각자의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 각자의 데이터 필드와 연관된 하나 이상의 값들을 제공하는 옵션 중 적어도 하나를 포함할 수 있다. 단계(508)는, 데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하는 것을 포함할 수 있다. 이어서, 단계(510)에서, 방법(500)은, 데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성할 수 있다. 일부 실시예들에서, 데이터가 구조화된 데이터(structured data)인지, 자유 형식 텍스트 데이터(free text data)인지, 또는 이 둘의 조합인지에 기초하여, 검색 인덱스가 생성될 수 있다. 일부 실시예들에서, 예시적인 방법은 또한 데이터, 인덱스 구성, 또는 하나 이상의 검색 질의들에 의해 검색가능하게 될 인덱스 중 적어도 하나를 제공할 수 있다.5 shows an
인덱스 구성에 포함된 다양한 다른 정보가 있을 수 있다. 예를 들어, 구성은 데이터 필드가 패시팅가능(facetable)한지 여부(즉, 데이터 필드에 대해 패싯 카운트가 계산되어야만 하는지 여부), 데이터 필드가 순위부여가능한지 여부(즉, 데이터 필드를 가지는 검색 결과들의 값들이 분류되어야만 하는지 여부), 기타에 관한 정보를 보유할 수 있다.There can be various other information included in the index configuration. For example, the configuration may include whether the data field is facetable (i. E. Whether the facet count should be calculated for the data field), whether the data field is rankable (i. E. Whether the values should be sorted, etc.), and other information.
일부 실시예들에서, 네트워크 서비스는 제1 포맷으로 수신/업로드된 데이터를 검색 인덱스와 호환되는 제2 포맷으로 변환시킬 수 있고, 제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장할 수 있다. 예를 들어, 네트워크 서비스는 .PDF, .DOC, .DOCX, .CSV, JSON, .XML 등과 같은 몇가지 다양한 포맷들 중 임의의 하나 이상을 가질 수 있는 데이터를 엔티티로부터 수신할 수 있다. 네트워크 서비스는 데이터를 SDF(Search Data Format)와 같은 네트워크 서비스와 호환되는(예컨대, 네트워크 서비스에 의해 인식가능한, 네트워크 서비스에서 이용가능한(workable), 기타의) 포맷으로 자동으로 변환시킬 수 있다.In some embodiments, the network service may convert the data received / uploaded in the first format into a second format compatible with the search index and store the converted data in the second format in one or more storage quotas . For example, a network service may receive data from an entity that may have any one or more of several different formats, such as .PDF, .DOC, .DOCX, .CSV, JSON, .XML, The network service may automatically convert the data into a format compatible with the network service (e.g., recognizable by the network service, workable in the network service, etc.) such as SDF (Search Data Format).
일부 실시예들에서, 네트워크 서비스는, 제1 포맷과 제2 포맷을 비교하고 제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 것에 기초하여, 데이터를 변환시킬 수 있다. 예를 들어, 네트워크 서비스는 엔티티로부터 수신된 데이터의 포맷(들)을 비교하고, 포맷이 네트워크 서비스와 호환되도록, 포맷을 수정/업데이트할 수 있다. 이것은 포맷에서의 하나 이상의 데이터 필드들이 추가, 제거, 또는 변경되어야만 하는지를 식별하는 것을 포함할 수 있다.In some embodiments, the network service is configured to compare the first format and the second format and modify at least one data field associated with the first format to correspond to at least one data field associated with the second format, Data can be converted. For example, the network service may compare the format (s) of data received from the entity and modify / update the format so that the format is compatible with the network service. This may include identifying if one or more data fields in the format should be added, removed, or modified.
일부 실시예들에서, 네트워크 서비스는, 데이터 필드와 연관된 값이 지정된 정수 양 임계치 초과의 양의 정수 문자들을 가지는 것으로 결정하는 것에 기초하여, 데이터 필드의 유형이 정수 유형인 것으로 결정할 수 있다. 또한 네트워크 서비스는 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치 초과이지만 지정된 리터럴 양 임계치 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 의해 데이터 필드의 유형을 리터럴 유형인 것으로 결정할 수 있다. 게다가, 네트워크 서비스는, 데이터 필드와 연관된 값이 지정된 텍스트 양 임계치 초과의 양의 정수 및 알파벳 문자들, 지정된 텍스트 개별 양 임계치 초과의 개수의 개별 문자들, 지정된 텍스트 개별 퍼센트 임계치 초과의 퍼센트의 개별 문자들, 또는 지정된 텍스트 길이 임계치 초과의 길이의 문자들 중 적어도 하나를 가지는 것으로 결정하는 것에 기초하여, 데이터 필드의 유형이 텍스트 유형인 것으로 결정할 수 있다.In some embodiments, the network service may determine that the type of the data field is an integer type, based on determining that the value associated with the data field has a positive integer greater than the specified positive integer threshold. The network service may also be configured such that a value associated with a data field has positive alphanumeric characters that are greater than a specified lower literals amount threshold but less than a specified literal amount threshold, that the number of distinct values associated with the data field is less than the specified literal individual amount threshold, The type of the data field can be determined to be a literal type by determining at least one of the percentages being less than the specified literal individual percent threshold, or the length of the values being less than the specified literal length threshold. In addition, the network service may be configured so that the value associated with the data field is a positive integer and alphanumeric characters greater than the specified text amount threshold, a number of individual characters exceeding the specified text individual amount threshold, Based on determining that the type of the data field is a text type based on determining that the data field has at least one of the characters of length greater than the specified text length threshold.
일부 실시예들에서, 네트워크 서비스는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 결정할 수 있고, 이 결정은 데이터 필드가 검색 인덱스에 포함되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것에 적어도 부분적으로 기초한다. 네트워크 서비스는 또한 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키로 결정할 수 있고, 이 결정은 데이터 필드와 연관된 적어도 하나의 값의 분량(quantity)이 지정된 패싯 카운트 하부 임계치 초과이고 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초한다. 네트워크 서비스는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션을 인에이블시키기로 추가로 결정할 수 있고, 이 결정은 데이터 필드와 연관된 값이 제공되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것에 적어도 부분적으로 기초한다.In some embodiments, the network service may decide to enable an option to include a data field in the search index to be generated, the determination being made based on a signal contained in the data field indicating that the data field should be included in the search index At least partially. The network service may also determine to enable an option to calculate a facet count for a data field, the determination being such that the quantity of at least one value associated with the data field exceeds a specified facet count lower threshold, Is less than the upper threshold. The network service may further determine to enable an option to provide a value associated with the data field in response to the associated search query, the determination being based on a signal At least partially.
일부 실시예들에서, 하나 이상의 검색 질의들(예컨대, 검색 질의에서의 용어들)이 네트워크 서비스에 의해 이용될 수 있다. 예를 들어, 네트워크 서비스는 검색자가 특정의 데이터 필드에 관해 패시팅하고 있다는 것을 검색 질의들로부터 추론할 수 있다. 그 결과, 네트워크 서비스는 데이터 필드가, 예를 들어, 리터럴 유형이어야만 하는 것으로 결정할 수 있다.In some embodiments, one or more search queries (e.g., terms in a search query) may be used by the network service. For example, a network service may infer from search queries that a searcher is overlooking a particular data field. As a result, the network service can determine that the data field must be, for example, a literal type.
일부 실시예들에서, 검색자가 질의 용어들을 입력하고 검색을 요청할 때, 하나 이상의 검색 결과들이, 관련성 등에 의해, 특정의 순위 표현(예컨대, 결과들의 순서)으로 제시될 수 있다. 본 개시 내용은 질의에 독립적인 인자들(예컨대, 데이터 내에 포함된 인기도 데이터 필드 등이 있을 수 있음)과 같은 다른 인자들을 고려하는 보다 복잡한 순위 표현들의 생성을 가능하게 할 수 있다. 본 개시 내용은 또한, 데이터를 살펴보고 데이터 필드가 인기도의 면에서 의미있는 것으로 결정하는 것에 의해, 사용될 수 있는 순위 표현들을 제안하기 위한 분석을 가능하게 할 수 있다. 예를 들어, 텍스트 본문 데이터 필드 유형이 있을 수 있고, 그의 길이(예컨대, 또는 그의 길이의 역수)가 고려될 수 있으며 순위 표현들에 대한 유용한 정보를 제공할 수 있다.In some embodiments, when a searcher enters query terms and requests a search, one or more search results may be presented in a particular ranking expression (e.g., order of results), by relevance or the like. The present disclosure may enable the generation of more complex ranking expressions that take into account other factors such as query independent factors (e.g., there may be popularity data fields included in the data, etc.). The present disclosure may also enable analysis to suggest ranking expressions that can be used by looking at the data and determining that the data field is meaningful in terms of popularity. For example, there may be a text body data field type and its length (e.g., the inverse of its length) may be considered and may provide useful information about the rankings.
일부 실시예들에서, 데이터 필드 유형들은 또한 지리적 위치(geolocation) 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수(floating point number) 유형을 포함할 수 있다.In some embodiments, the data field types may also include a geolocation type, a time type, a date type, or a floating point number type.
본 개시 내용에 따른 다양한 실시예들은 또한 샘플 데이터를 이용할 수 있다. 예를 들어, 사용자/엔티티는 먼저 샘플 데이터를 네트워크 서비스에 제공할 수 있다. 네트워크 서비스는 데이터 필드들의 유형들 및 검색 옵션들을 결정하기 위해 샘플 데이터를 분석할 수 있다. 샘플 데이터에 대한 데이터 필드 유형들 및 검색 옵션들에 기초하여, 네트워크 서비스는 인덱스 구성을 생성하고, 이어서 생성된 인덱스 구성에 기초하여 검색 인덱스를 생성할 수 있다.Various embodiments in accordance with the present disclosure may also utilize sample data. For example, the user / entity may first provide sample data to the network service. The network service may analyze the sample data to determine the types of data fields and search options. Based on the data field types and search options for the sample data, the network service may create an index configuration and then generate a search index based on the generated index configuration.
도 6은 다양한 실시예들에 따라 사용될 수 있는 예시적인 전자 사용자 디바이스(600)를 나타낸 것이다. 휴대용 컴퓨팅 디바이스(예컨대, 전자 책 리더 또는 태블릿 컴퓨터)가 도시되어 있지만, 입력을 수신하고, 결정하며, 그리고/또는 처리할 수 있는 임의의 전자 디바이스가 본 명세서에 논의된 다양한 실시예들에 따라 사용될 수 있고, 여기서 디바이스들이, 예를 들어, 데스크톱 컴퓨터, 노트북 컴퓨터, PDA(personal data assistant), 스마트폰, 비디오 게임 콘솔, 텔레비전 셋톱 박스, 및 휴대용 미디어 플레이어를 포함할 수 있다는 것을 잘 알 것이다. 일부 실시예들에서, 컴퓨팅 디바이스(600)는 연산 증폭기를 사용하여 신호 처리를 수행할 수 있는 디바이스와 같은 아날로그 디바이스일 수 있다. 이 예에서, 컴퓨팅 디바이스(600)는 정상 동작 하에서 디스플레이 화면과 마주하고 있는(예컨대, 컴퓨팅 디바이스의 디스플레이 화면과 동일한 측면에 있는) 사용자에게 정보를 디스플레이하게 될 디스플레이 화면(602)을 전면에 가진다. 컴퓨팅 디바이스는, 이 예에서, 적어도 하나의 카메라(604) 또는 적어도 하나의 카메라의 적어도 시야에 걸쳐 정지 또는 비디오 영상 정보를 포착하기 위한 기타 촬영 요소를 포함한다. 일부 실시예들에서, 컴퓨팅 디바이스는 하나의 촬영 요소만을 포함할 수 있고, 다른 실시예들에서, 컴퓨팅 디바이스는 몇개의 촬영 요소를 포함할 수 있다. 각각의 영상 포착 요소는 그 중에서도 특히, 예를 들어, 카메라, CCD(charge-coupled device), 움직임 검출 센서, 또는 적외선 센서일 수 있다. 컴퓨팅 디바이스 상에 다수의 영상 포착 요소들이 있는 경우, 영상 포착 요소들이 상이한 유형일 수 있다. 일부 실시예들에서, 적어도 하나의 촬영 요소는 카메라가 180도 이상과 같은 넓은 범위의 각도들에 걸쳐 영상들을 포착할 수 있게 하는 적어도 하나의 광각 광학 요소(wide-angle optical element)[어안 렌즈(fish eye lens) 등]를 포함할 수 있다. 게다가, 각각의 영상 포착 요소는 후속 프레임들을 재빨리 연속하여 포착하도록 구성된 디지털 스틸 카메라, 또는 스트리밍 비디오를 포착할 수 있는 비디오 카메라를 포함할 수 있다.6 illustrates an exemplary
예시적인 컴퓨팅 디바이스(600)는 또한 디바이스의 사용자에 의해 말해지는 단어들 또는 명령들과 같은 오디오 데이터를 포착할 수 있는 적어도 하나의 마이크(microphone)(606) 또는 기타 오디오 포착 디바이스를 포함한다. 이 예에서, 마이크(606)는, 마이크가 통상적으로 디바이스의 사용자에 의해 말해지는 단어들을 더 잘 포착할 수 있도록, 디바이스의 디스플레이 화면(602)과 동일한 측면 상에 위치되어 있다. 적어도 일부 실시예에서, 마이크는 마이크의 실질적으로 바로 전방으로부터의 사운드 정보를 포착하고 다른 방향들로부터는 제한된 양의 사운드만을 픽업하는 지향성 마이크일 수 있다. 마이크가, 상이한 실시예들에서, 디바이스의 임의의 영역, 면(face), 또는 가장자리의 임의의 적절한 표면 상에 위치될 수 있다는 것과, 다수의 마이크들이 오디오 녹음 및 필터링 등의 목적을 위해 사용될 수 있다는 것을 잘 알 것이다.The
예시적인 컴퓨팅 디바이스(600)는 위치 및/또는 움직임 결정 요소와 같은 적어도 하나의 배향 센서(608)를 포함한다. 이러한 센서는, 예를 들어, 컴퓨팅 디바이스의 작은 움직임 뿐만 아니라, 디바이스의 배향 및/또는 배향의 변화도 검출하도록 동작할 수 있는 가속도계 또는 자이로스코프를 포함할 수 있다. 배향 센서는 또한 디바이스가 (예컨대, 주축 또는 다른 이러한 측면과 관련하여) 향하고 있는 것으로 결정되는 방향(예컨대, 북쪽 또는 남쪽)을 지시할 수 있는 전자 또는 디지털 나침반을 포함할 수 있다. 배향 센서는 또한 컴퓨팅 디바이스의 비교적 큰 움직임에 관한 정보 뿐만 아니라, 디바이스의 위치의 상대 좌표들을 결정하도록 동작할 수 있는 GPS(global positioning system) 또는 유사한 위치 결정 요소를 포함하거나 구비할 수 있다. 다양한 실시예들은 하나 이상의 이러한 요소들을 임의의 적절한 조합으로 포함할 수 있다. 잘 알 것인 바와 같이, 상대적 위치, 배향, 및/또는 움직임을 결정하는 데 사용되는 알고리즘들 또는 메커니즘들은 디바이스에 이용가능한 요소들의 선택에 적어도 부분적으로 의존할 수 있다.The
도 7은 도 6과 관련하여 기술된 디바이스(600)와 같은 예시적인 컴퓨팅 디바이스(700)의 한 세트의 일반 구성요소들의 논리적 배열을 나타낸 것이다. 이 예에서, 디바이스는 메모리 디바이스 또는 요소(704)에 저장될 수 있는 명령어들을 실행하는 프로세서(702)를 포함한다. 통상의 기술자에게는 명백할 것인 바와 같이, 디바이스는 프로세서(702)에 의해 실행되는 프로그램 명령어들을 위한 제1 데이터 저장소, 영상 또는 데이터를 위한 별개의 저장소, 다른 디바이스들과 정보를 공유하기 위한 이동식 메모리(removable memory), 기타와 같은 많은 유형의 메모리, 데이터 저장소, 또는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 디바이스는 통상적으로 터치 스크린 또는 LCD(liquid crystal display)와 같은 어떤 유형의 디스플레이 요소(706)를 포함할 것이지만, 휴대용 미디어 플레이어와 같은 디바이스들은 오디오 스피커를 통하는 것과 같은 다른 수단을 통해 정보를 전달할 수 있다. 논의된 바와 같이, 많은 실시예들에서, 디바이스는 투사된 영상들 또는 디바이스의 근방에 있는 다른 물체들을 촬영할 수 있는 카메라 또는 적외선 센서와 같은 적어도 하나의 영상 포착 요소(708)를 포함할 것이다. 컴퓨팅 디바이스를 갖는 카메라 요소를 사용하여 영상들 또는 비디오를 포착하는 방법들이 기술 분야에 공지되어 있고, 본 명세서에서 상세히 논의되지 않을 것이다. 영상 포착이 단일의 영상, 다수의 영상들, 주기적인 촬영, 연속적인 영상 포착, 영상 스트리밍, 기타를 사용하여 수행될 수 있다는 것을 잘 알 것이다. 게다가, 디바이스는 사용자, 애플리케이션, 또는 다른 디바이스로부터 명령을 수신할 때와 같이 영상 포착을 시작 및/또는 중지하는 능력을 포함할 수 있다. 예시적인 디바이스는, 이와 유사하게, 적어도 하나의 주 방향으로부터의 오디오 정보를 포착하도록 동작할 수 있는 적어도 하나의 오디오 포착 구성요소(712)(모노 또는 스테레오 마이크 또는 마이크 어레이 등)를 포함한다. 마이크는 이러한 디바이스들에 대해 알려진 것과 같은 단방향(uni-directional) 또는 전방향(omnidirectional) 마이크일 수 있다.FIG. 7 illustrates a logical arrangement of the generic components of a set of
일부 실시예들에서, 도 7의 컴퓨팅 디바이스(700)는 Wi-Fi, 블루투스, RF, 유선, 또는 무선 통신 시스템과 같은 하나 이상의 통신 요소들(도시 생략)을 포함할 수 있다. 많은 실시예들에서, 디바이스는 인터넷과 같은 네트워크와 통신할 수 있고, 다른 이러한 디바이스들과 통신할 수 있을 것이다. 일부 실시예들에서, 디바이스는 사용자로부터 종래의 입력을 수신할 수 있는 적어도 하나의 부가의 입력 디바이스를 포함할 수 있다. 이 종래의 입력은, 예를 들어, 사용자가 디바이스에 명령을 입력할 수 있는 푸시 버튼, 터치 패드, 터치 스크린, 휠, 조이스틱, 키보드, 마우스, 키패드, 또는 임의의 다른 이러한 디바이스 또는 요소를 포함할 수 있다. 그러나, 일부 실시예들에서, 이러한 디바이스는 어떤 버튼들도 포함하지 않을 수 있고, 사용자가 디바이스와 접촉할 필요 없이 디바이스를 제어할 수 있도록, 시각적 및 오디오 명령들의 조합을 통해서만 제어될 수 있다.In some embodiments, the
디바이스(700)는 또한 적어도 하나의 배향 또는 움직임 센서(710)를 포함할 수 있다. 논의된 바와 같이, 이러한 센서는 배향 및/또는 배향의 변화를 검출하도록 동작할 수 있는 가속도계 또는 자이로스코프, 디바이스가 향하고 있는 것으로 결정되는 방향을 지시할 수 있는 전자 또는 디지털 나침반을 포함할 수 있다. 메커니즘(들)은 또한(또는 다른 대안으로서) 컴퓨팅 디바이스의 비교적 큰 움직임에 관한 정보 뿐만 아니라, 디바이스의 위치의 상대 좌표들을 결정하도록 동작할 수 있는 GPS(global positioning system) 또는 유사한 위치 결정 요소를 포함하거나 구비할 수 있다. 디바이스는 삼각측량을 통한 위치 결정 또는 다른 이러한 접근 방법을 가능하게 할 수 있는 것과 같은 다른 요소들도 포함할 수 있다. 이 메커니즘들은, 디바이스가 본 명세서에 기술되거나 제안된 다수의 동작들 중 임의의 것을 수행할 수 있도록, 프로세서(702)와 통신할 수 있다.The
한 예로서, 도 6과 관련하여 기술된 것과 같은 컴퓨팅 디바이스는 시간의 경과에 따라 사용자에 대한 다양한 정보를 포착 및/또는 추적할 수 있다. 이 정보는 위치, 동작들(예컨대, 메시지를 송신하는 것 또는 문서를 작성하는 것), 사용자 거동(예컨대, 사용자가 작업을 얼마나 자주 수행하는지, 사용자가 작업에 소비하는 시간량, 사용자가 인터페이스를 통해 탐색하는 방법들, 기타), 사용자 선호도(user preferences)(예컨대, 사용자가 정보를 어떻게 수신하고자 하는지), 공개 애플리케이션(open applications), 제출된 요청, 수신된 통화, 기타과 같은 임의의 적절한 정보를 포함할 수 있다. 앞서 논의한 바와 같이, 정보는, 사용자가 임의의 적절한 차원 또는 차원들의 그룹을 사용하여 정보에 액세스할 수 있도록, 정보가 링크되거나 달리 연관되는 방식으로 저장될 수 있다.As an example, a computing device such as that described in connection with FIG. 6 may capture and / or track various information about a user over time. This information may include location, actions (e.g., sending a message or creating a document), user behavior (e.g., how often a user performs a task, how much time a user spends on a task, (E.g., how the user wants to receive the information), open applications, submitted requests, received calls, etc. In addition, . As discussed above, the information may be stored in a manner such that the information is linked or otherwise related, such that the user may access the information using any appropriate dimension or group of dimensions.
논의된 바와 같이, 기술된 실시예들에 따라 다양한 환경들에서 상이한 접근 방법들이 구현될 수 있다. 예를 들어, 도 8은 다양한 실시예들에 따른 양태들을 구현하기 위한 환경(800)의 한 예를 나타낸 것이다. 잘 알 것인 바와 같이, 설명을 위해 웹 기반 환경이 사용되고 있지만, 다양한 실시예들을 구현하기 위해, 적절한 경우, 상이한 환경들이 사용될 수 있다. 본 시스템은 적절한 네트워크(804)를 거쳐 요청들, 메시지들 또는 정보를 송신 및 수신하고 정보를 다시 디바이스의 사용자에게 전달하도록 동작할 수 있는 임의의 적절한 디바이스를 포함할 수 있는 전자 클라이언트 디바이스(802)를 포함한다. 이러한 클라이언트 디바이스들의 예는 개인용 컴퓨터, 셀폰, 핸드헬드 메시징 디바이스, 랩톱 컴퓨터, 셋톱 박스, PDA(personal data assistant), 전자 책 리더, 기타를 포함한다. 네트워크는 인트라넷, 인터넷, 셀룰러 네트워크, LAN(local area network) 또는 임의의 다른 이러한 네트워크 또는 이들의 조합을 비롯한 임의의 적절한 네트워크를 포함할 수 있다. 이러한 시스템을 위해 사용되는 구성요소들은 선택된 네트워크 및/또는 환경의 유형에 적어도 부분적으로 의존할 수 있다. 이러한 네트워크를 통해 통신하기 위한 프로토콜들 및 구성요소들은 공지되어 있고, 본 명세서에서 상세히 논의되지 않을 것이다. 네트워크를 거치는 통신은 유선 또는 무선 연결 및 이들의 조합을 통해 가능하게 될 수 있다. 이 예에서, 환경이 요청들을 수신하고 그에 응답하여 콘텐츠를 서비스하기 위한 웹 서버(806)를 포함할 때, 네트워크가 인터넷을 포함하지만, 통상의 기술자에게 명백할 것인 바와 같이, 다른 네트워크들에 대해서는, 유사한 목적에 도움이 되는 대안의 디바이스가 사용될 수 있을 것이다.As discussed, different approaches may be implemented in various environments in accordance with the described embodiments. For example, FIG. 8 illustrates an example of an
예시적인 환경은 적어도 하나의 애플리케이션 서버(808) 및 데이터 스토어(810)를 포함한다. 적절한 데이터 스토어로부터 데이터를 획득하는 것과 같은 작업들을 수행하기 위해 상호작용할 수 있는, 체이닝(chain)되거나 다른 방식으로 구성될 수 있는, 몇개의 애플리케이션 서버들, 계층들 또는 다른 요소들, 프로세스들 또는 구성요소들이 있을 수 있다는 것을 잘 알 것이다. 본 명세서에서 사용되는 바와 같이, "데이터 스토어"라는 용어는 데이터를 저장하고 데이터에 액세스하며 데이터를 검색할 수 있는 임의의 디바이스 또는 디바이스들의 조합을 말하며, 임의의 표준, 분산 또는 클러스터 환경에 있는 임의의 조합 및 수의 데이터 서버들, 데이터베이스들, 데이터 저장 디바이스들 및 데이터 저장 매체를 포함할 수 있다. 애플리케이션 서버는 클라이언트 디바이스에 대한 하나 이상의 애플리케이션들의 양태들을 실행하기 위해 필요에 따라 데이터 스토어와 통합하고 애플리케이션에 대한 대부분의 데이터 액세스 및 비즈니스 로직을 처리하기 위한 임의의 적절한 하드웨어 및 소프트웨어를 포함할 수 있다. 애플리케이션 서버는 데이터 스토어와 협력하여 액세스 제어 서비스를 제공하고, 이 예에서, 웹 서버에 의해 HTML, XML 또는 다른 적절한 구조화된 언어의 형태로 사용자에게 서비스될 수 있는, 사용자에게 전송될 텍스트, 그래픽, 오디오 및/또는 비디오와 같은 콘텐츠를 생성할 수 있다. 클라이언트 디바이스(802)와 애플리케이션 서버(808) 사이에서의 콘텐츠의 전달 뿐만 아니라, 모든 요청들 및 응답들의 처리도 웹 서버(806)에 의해 처리될 수 있다. 본 명세서에 논의된 구조화된 코드가, 본 명세서의 다른 곳에서 논의된 바와 같이, 임의의 적절한 디바이스 또는 호스트 기계에서 실행될 수 있기 때문에, 웹 서버 및 애플리케이션 서버가 요구되지 않고 단지 예시적인 구성요소라는 것을 잘 알 것이다.The exemplary environment includes at least one
데이터 스토어(810)는 특정의 양태에 관련된 데이터를 저장하기 위한 몇개의 개별적인 데이터 테이블들, 데이터베이스들 또는 다른 데이터 저장 메커니즘들 및 매체를 포함할 수 있다. 예를 들어, 예시된 데이터 스토어는 생산 측면에 대한 콘텐츠를 서비스하기 위해 사용될 수 있는, 생산 데이터(812) 및 사용자 정보(816)를 저장하기 위한 메커니즘들을 포함한다. 데이터 스토어는 또한 로그 또는 세션 데이터(814)를 저장하기 위한 메커니즘을 포함하는 것으로 도시되어 있다. 적절한 경우 앞서 열거된 메커니즘들 중 임의의 것에 또는 데이터 스토어(810)에서의 부가의 메커니즘들에 저장될 수 있는, 페이지 영상 정보 및 액세스 권한 정보와 같은 데이터 스토어에 저장될 필요가 있을 수 있는 많은 다른 양태들이 있을 수 있다는 것을 잘 알 것이다. 데이터 스토어(810)는, 그와 연관된 로직을 통해, 애플리케이션 서버(808)로부터 명령어들을 수신하고 그에 응답하여 데이터를 획득, 업데이트 또는 다른 방식으로 처리하도록 동작할 수 있다. 하나의 예에서, 사용자는 특정한 유형의 요소에 대한 검색 요청을 제출할 수 있다. 이 경우에, 데이터 스토어는 사용자의 신원을 확인하기 위해 사용자 정보에 액세스할 수 있고, 그 유형의 요소들에 관한 정보를 획득하기 위해 카탈로그 상세 정보에 액세스할 수 있다. 정보는 이어서, 사용자가 사용자 디바이스(802) 상의 브라우저를 통해 볼 수 있는 웹 페이지 상의 결과 목록 등으로, 사용자에게 반환될 수 있다. 특정의 관심 요소에 대한 정보는 브라우저의 전용 페이지 또는 윈도우에서 볼 수 있다.
각각의 서버는 통상적으로 그 서버의 일반 관리 및 동작을 위한 실행가능 프로그램 명령어들을 제공하는 운영 체제를 포함할 것이고, 통상적으로 서버의 프로세서에 의해 실행될 때, 서버가 그의 의도된 기능들을 수행할 수 있게 하는 명령어들을 저장하는 컴퓨터 판독가능 매체를 포함할 것이다. 서버들의 운영 체제 및 일반 기능에 대한 적당한 구현예들은 공지되거나 상업적으로 이용가능하고, 통상의 기술자에 의해, 특히 본 명세서에서의 개시 내용을 고려하여 용이하게 구현된다.Each server will typically include an operating system that provides executable program instructions for general management and operation of the server, and typically, when executed by a processor of the server, allows the server to perform its intended functions Lt; RTI ID = 0.0 > computer-readable < / RTI > Appropriate implementations of the operating system and general functionality of the servers are known or commercially available and are readily implemented by the ordinary artisan, particularly in light of the teachings herein.
하나의 실시예에서, 환경은 하나 이상의 컴퓨터 네트워크들 또는 직접 연결들을 사용하여 통신 링크들을 통해 상호연결되는 몇개의 컴퓨터 시스템들 및 구성요소들을 이용하는 분산 컴퓨팅 환경이다. 그렇지만, 통상의 기술자라면, 이러한 시스템이 도 8에 예시된 것보다 더 적거나 더 많은 수의 구성요소들을 가지는 시스템에서 똑같이 잘 동작할 수 있다는 것을 잘 알 것이다. 이와 같이, 도 8에서의 시스템(800)의 도시는 본 개시 내용의 범주를 제한하는 것이 아니라 사실상 예시적인 것으로 보아야만 한다.In one embodiment, an environment is a distributed computing environment that utilizes several computer systems and components interconnected via communication links using one or more computer networks or direct connections. However, those of ordinary skill in the art will appreciate that such a system may operate equally well in a system having fewer or more components than those illustrated in FIG. As such, the illustration of
앞서 논의한 바와 같이, 다양한 실시예들이, 어떤 경우에, 다수의 애플리케이션들 중 임의의 것을 동작시키기 위해 사용될 수 있는 하나 이상의 사용자 컴퓨터들, 컴퓨팅 디바이스들, 또는 처리 디바이스들을 포함할 수 있는 아주 다양한 동작 환경들에서 구현될 수 있다. 사용자 또는 클라이언트 디바이스들은 모바일 소프트웨어를 실행시키고 다수의 네트워킹 및 메시징 프로토콜들을 지원할 수 있는 셀룰러, 무선, 및 핸드헬드 디바이스들 뿐만 아니라, 표준 운영 체제를 실행시키는 데스크톱 또는 랩톱 컴퓨터와 같은 다수의 범용 개인용 컴퓨터들 중 임의의 것을 포함할 수 있다. 이러한 시스템은 또한 각종의 상업적으로 이용가능한 운영 체제들과 개발 및 데이터베이스 관리와 같은 목적들을 위한 기타 공지된 애플리케이션들 중 임의의 것을 실행시키는 다수의 워크스테이션들을 포함할 수 있다. 이 디바이스들은 또한 네트워크를 통해 통신할 수 있는 더미 단말(dummy terminal), 씬 클라이언트(thin-client), 게임 시스템, 및 기타 디바이스들과 같은 기타 전자 디바이스들을 포함할 수 있다.As discussed above, the various embodiments may include, in some cases, a wide variety of operating environments, which may include one or more user computers, computing devices, or processing devices that may be used to operate any of a number of applications Lt; / RTI > The user or client devices may be cellular, wireless, and handheld devices capable of executing mobile software and supporting a number of networking and messaging protocols, as well as a number of general purpose personal computers, such as desktop or laptop computers, And the like. Such a system may also include a number of workstations running any of a variety of commercially available operating systems and other known applications for purposes such as development and database management. These devices may also include other electronic devices, such as a dummy terminal, a thin-client, a gaming system, and other devices capable of communicating over a network.
다양한 양태들은 또한 서비스-지향 아키텍처의 일부일 수 있는 것과 같은 적어도 하나의 서비스 또는 웹 서비스의 일부로서 구현될 수 있다. 웹 서비스와 같은 서비스들은, XML(extensible markup language) 포맷으로 되어 있고 SOAP("Simple Object Access Protocol"로부터 도출됨)와 같은 적절한 프로토콜을 사용하여 교환되는 메시지들을 사용하는 것과 같이, 임의의 적절한 유형의 메시징을 사용하여 통신할 수 있다. 이러한 서비스들에 의해 제공되거나 실행되는 프로세스들은 WSDL(Web Services Description Language)과 같은 임의의 적절한 언어로 작성될 수 있다. WSDL과 같은 언어를 사용하는 것은 다양한 SOAP 프레임워크들에서 클라이언트측 코드의 자동 발생과 같은 기능을 가능하게 한다.Various aspects may also be implemented as part of at least one service or web service, such as may be part of a service-oriented architecture. Services such as Web services can be any suitable type of service, such as using messages exchanged in an extensible markup language (XML) format and using an appropriate protocol such as SOAP (derived from "Simple Object Access Protocol & You can communicate using messaging. Processes provided or executed by these services may be written in any suitable language, such as Web Services Description Language (WSDL). Using languages such as WSDL enables features such as automatic generation of client-side code in various SOAP frameworks.
대부분의 실시예들은 TCP/IP, OSI, FTP, UPnP, NFS, CIFS, 및 AppleTalk와 같은 각종의 상업적으로 이용가능한 프로토콜들 중 임의의 것을 사용하여 통신을 지원하기 위해 통상의 기술자에게 익숙한 적어도 하나의 네트워크를 이용한다. 네트워크는, 예를 들어, LAN(local area network), WAN(wide-area network), VPN(virtual private network), 인터넷, 인트라넷, 엑스트라넷, PSTN(public switched telephone network), 적외선 네트워크, 무선 네트워크, 및 이들의 임의의 조합일 수 있다.Most embodiments are based on at least one of the familiar techniques familiar to those of ordinary skill in the art to support communications using any of a variety of commercially available protocols such as TCP / IP, OSI, FTP, UPnP, NFS, CIFS, Network. The network may be, for example, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), the Internet, an intranet, an extranet, a public switched telephone network (PSTN) And any combination thereof.
웹 서버를 이용하는 실시예들에서, HTTP 서버, FTP 서버, CGI 서버, 데이터 서버, 자바 서버, 및 비지니스 애플리케이션 서버를 비롯한 웹 서버는 각종의 서버 또는 중간 계층(mid-tier) 애플리케이션들 중 임의의 것을 실행할 수 있다. 서버(들)는, Java?, C, C# 또는 C++와 같은 임의의 프로그래밍 언어 또는 Perl, Python, 또는 TCL과 같은 임의의 스크립팅 언어는 물론, 이들의 조합들로 작성된 하나 이상의 스크립트들 또는 프로그램들로서 구현될 수 있는 하나 이상의 웹 애플리케이션들을 실행하는 것 등에 의해, 사용자 디바이스들로부터의 요청들에 응답하여 프로그램들 또는 스크립트들을 실행할 수 있을 것이다. 서버(들)는 또한 Oracle?, Microsoft?, Sybase?, 및 IBM?으로부터 상업적으로 이용가능한 것들(이들로 제한되지 않음)을 비롯한 데이터베이스 서버들을 포함할 수 있다.In embodiments using a web server, a web server, including an HTTP server, an FTP server, a CGI server, a data server, a Java server, and a business application server may be any of a variety of servers or mid- Can be executed. The server (s) may be implemented as one or more scripts or programs written in any programming language, such as Java ?, C, C #, or C ++, or in any scripting language such as Perl, Python, or TCL, Such as by executing one or more web applications that may be executed by the user devices. The server (s) may also include database servers, including, but not limited to, commercially available from Oracle, Microsoft, Sybase, and IBM.
환경은 앞서 논의된 바와 같은 각종의 데이터 스토어들과 기타 메모리 및 저장 매체를 포함할 수 있다. 이들은 컴퓨터들 중 하나 이상에 로컬이거나(및/또는 그에 존재하거나) 네트워크를 거쳐 컴퓨터들 중 일부 또는 전부로부터 원격지에 있는 저장 매체 상과 같은 각종의 장소들에 존재할 수 있다. 특정의 세트의 실시예들에서, 정보는 통상의 기술자에게 익숙한 SAN(storage-area network)에 존재할 수 있다. 이와 유사하게, 컴퓨터들, 서버들, 또는 기타 네트워크 디바이스들에 속하는 기능들을 수행하기 위한 임의의 필요한 파일들은, 적절한 경우, 로컬적으로 및/또는 원격적으로 저장될 수 있다. 시스템이 컴퓨터화된 디바이스들을 포함하는 경우, 각각의 이러한 디바이스는 버스를 통해 전기적으로 결합될 수 있는 하드웨어 요소들을 포함할 수 있고, 그 요소들은, 예를 들어, 적어도 하나의 CPU(central processing unit), 적어도 하나의 입력 디바이스(예컨대, 마우스, 키보드, 컨트롤러, 터치 스크린, 또는 키패드), 및 적어도 하나의 출력 디바이스(예컨대, 디스플레이 디바이스, 프린터, 또는 스피커)를 포함한다. 이러한 시스템은 또한 디스크 드라이브, 광 저장 디바이스, 및 RAM(random access memory) 또는 ROM(read-only memory)과 같은 고상 저장 디바이스는 물론, 이동식 매체 디바이스, 메모리 카드, 플래시 카드, 기타와 같은 하나 이상의 저장 디바이스들을 포함할 수 있다.The environment may include various data stores and other memory and storage media as discussed above. These may be in various locations, such as on a storage medium that is local to one or more of the computers (and / or resides thereon) and remotely from some or all of the computers via the network. In certain sets of embodiments, the information may reside in a storage-area network (SAN) familiar to a typical technician. Similarly, any necessary files for performing functions pertaining to computers, servers, or other network devices may be stored locally and / or remotely, where appropriate. When the system includes computerized devices, each such device may include hardware components that can be electrically coupled through a bus, such components being, for example, at least one central processing unit (CPU) , At least one input device (e.g., a mouse, keyboard, controller, touch screen, or keypad), and at least one output device (e.g., a display device, printer, or speaker). Such systems may also include solid state storage devices such as disk drives, optical storage devices, and random access memory (RAM) or read-only memory (ROM), as well as one or more storage devices such as removable media devices, memory cards, flash cards, Devices.
이러한 디바이스들은 또한 컴퓨터 판독가능 저장 매체 판독기, 통신 디바이스[예컨대, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 기타], 및 앞서 기술한 바와 같은 작업 메모리(working memory)를 포함할 수 있다. 컴퓨터 판독가능 저장 매체 판독기는 컴퓨터 판독가능 정보를 일시적으로 및/또는 보다 영구적으로 포함, 저장, 전송 및 검색하기 위한 저장 매체 뿐만 아니라, 원격, 로컬, 고정식, 및/또는 이동식 저장 디바이스를 나타내는 컴퓨터 판독가능 저장 매체와 연결되거나 그를 수납(receive)하도록 구성될 수 있다. 시스템 및 다양한 디바이스들은 또한 통상적으로 운영 체제 및 애플리케이션 프로그램들(예를 들어, 클라이언트 애플리케이션 또는 웹 브라우저)을 비롯한, 적어도 하나의 작업 메모리 디바이스 내에 위치된 다수의 소프트웨어 애플리케이션들, 모듈들, 서비스들, 또는 기타 요소들을 포함할 것이다. 대안의 실시예들이 앞서 기술된 것으로부터의 다수의 변형들을 가질 수 있다는 것을 잘 알 것이다. 예를 들어, 커스터마이즈된 하드웨어(customized hardware)가 또한 사용될 수 있고 그리고/또는 특정의 요소들이 하드웨어, 소프트웨어[애플릿과 같은 이식가능 소프트웨어(portable software)를 포함함], 또는 둘 다로 구현될 수 있다. 게다가, 네트워크 입출력 디바이스와 같은 기타 컴퓨팅 디바이스들에의 연결이 이용될 수 있다.Such devices may also include a computer readable storage medium reader, a communication device (e.g., a modem, a network card (wireless or wired), an infrared communication device, etc.) and a working memory as described above . The computer readable storage medium readable medium may be a computer readable storage medium for temporarily, permanently and / or more permanently including, storing, transmitting and retrieving computer readable information, as well as remote, local, fixed and / Lt; RTI ID = 0.0 > and / or < / RTI > receive storage media. The system and various devices also typically include a plurality of software applications, modules, services, or applications located in at least one working memory device, including an operating system and application programs (e.g., a client application or a web browser) And other factors. It will be appreciated that alternative embodiments may have many variations from the ones described above. For example, customized hardware may also be used and / or certain elements may be implemented in hardware, software (including portable software such as applets), or both. In addition, a connection to other computing devices such as network input / output devices may be utilized.
코드 또는 코드의 일부분을 포함하기 위한 저장 매체 및 컴퓨터 판독가능 매체는, 원하는 정보를 저장하는 데 사용될 수 있고 시스템 디바이스에 의해 액세스될 수 있는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장 또는 기타 자기 저장 디바이스, 또는 임의의 다른 매체를 포함하는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체(이들로 제한되지 않음)와 같은 저장 매체를 포함하는 기술 분야에 공지되거나 사용되는 임의의 적절한 매체를 포함할 수 있다. 본 명세서에 제공된 개시 내용 및 교시에 기초하여, 통상의 기술자라면 다양한 실시예들을 구현하는 다른 방식들 및/또는 방법들을 잘 알 것이다.A storage medium and a computer-readable medium for containing a code or a portion of a code may be RAM, ROM, EEPROM, flash memory or other memory technology that may be used to store the desired information and may be accessed by the system device, Readable instructions, data structures, program modules or other data, including read only memory (ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, Any suitable medium known or used in the art including, but not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as, . ≪ / RTI > Based on the teachings and teachings provided herein, one of ordinary skill in the art will appreciate other ways and / or methods of implementing various embodiments.
그에 따라, 본 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 그렇지만, 청구범위에 기재된 본 발명의 보다 광의의 사상 및 범주를 벗어나지 않고 본 발명에 대해 다양한 수정들 및 변경들이 행해질 수 있다는 것이 명백할 것이다.Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims.
본 개시 내용의 다양한 실시예들이 이하의 항목들을 바탕으로 기술될 수 있다.Various embodiments of the present disclosure may be described on the basis of the following items.
A1. 네트워크화된 환경에서의 검색가능 데이터에 대한 인덱스 구성을 위한 컴퓨터 구현 방법으로서,A1. A computer-implemented method for configuring indexes on searchable data in a networked environment,
복수의 데이터 필드들을 포함하는 인덱싱될 데이터를 수신하는 단계;Receiving data to be indexed comprising a plurality of data fields;
복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 이름을 결정하는 단계;Determining a name associated with each data field in the plurality of data fields;
복수의 데이터 필드들에서의 각각의 데이터 필드와 연관된 복수의 필드 유형들의 필드 유형을 결정하는 단계 - 복수의 필드 유형들은 정수 유형, 리터럴 유형, 또는 텍스트 유형 중 적어도 하나를 포함함 -;Determining a field type of a plurality of field types associated with each data field in a plurality of data fields, the plurality of field types including at least one of an integer type, a literal type, or a text type;
데이터 필드들 각각에 대한 하나 이상의 검색 옵션들을 인에이블시킬지를 결정하는 단계 - 하나 이상의 검색 옵션들은 각자의 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 각자의 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 각자의 데이터 필드와 연관된 하나 이상의 값들을 제공하는 옵션 중 적어도 하나를 포함함 -; Determining whether to enable one or more search options for each of the data fields, wherein the one or more search options include an option to include each data field in a search index to be generated, an option to calculate a facet count for each data field Or an option to provide one or more values associated with the respective data field;
데이터에 포함된 각각의 데이터 필드의 필드 유형 및 하나 이상의 검색 옵션들을 인에이블시킬지의 결정에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스 구성을 생성하는 단계; 및Creating a search index configuration for the data based at least in part upon determining a field type of each data field included in the data and enabling one or more search options; And
데이터에 대한 검색 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하는 단계를 포함하는, 컴퓨터 구현 방법.Generating a search index for the data based at least in part on the search index configuration for the data.
A2. 항목 A1에 있어서, 데이터는 제1 포맷으로 되어 있고,A2. In Item A1, the data is in a first format,
데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키는 단계; 및Converting the data from the first format to a second format compatible with the search index; And
제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량(storage allocation)들에 저장하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising storing the converted data in a second format in one or more storage allocations.
A3. 항목 A2에 있어서, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키는 단계는A3. In item A2, the step of converting the data from the first format to the second format
제1 포맷과 제2 포맷을 비교하는 단계; 및Comparing the first format to the second format; And
제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 단계를 포함하는, 컴퓨터 구현 방법.Modifying at least one data field associated with the first format to correspond to at least one data field associated with the second format.
A4. 항목 A2에 있어서, 제2 포맷이 SDF(Search Data Format)인, 컴퓨터 구현 방법.A4. Item A2, wherein the second format is SDF (Search Data Format).
A5. 컴퓨터 구현 방법으로서,A5. As a computer implemented method,
인덱싱될 데이터를 수신하는 단계;Receiving data to be indexed;
데이터와 연관된 데이터 필드의 유형을 결정하는 단계 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determining the type of data field associated with the data, the type of data field being determined from a plurality of data field types;
데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계;Determining one or more search options to be enabled in association with a data field associated with the data;
데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하는 단계; 및Creating an index configuration for the data based at least in part on the type of data field and one or more search options; And
데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하는 단계를 포함하는, 컴퓨터 구현 방법.And creating a search index for the data based at least in part on the index configuration for the data.
A6. 항목 A5에 있어서, 데이터는 제1 포맷으로 되어 있고,A6. In item A5, the data is in the first format,
데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키는 단계; 및Converting the data from the first format to a second format compatible with the search index; And
제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.And storing the converted data in the second format in one or more storage quotas.
A7. 항목 A6에 있어서, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키는 단계는A7. In item A6, the step of converting the data from the first format to the second format
제1 포맷과 제2 포맷을 비교하는 단계; 및Comparing the first format to the second format; And
제1 포맷과 연관된 적어도 하나의 데이터 태그를 제2 포맷과 연관된 적어도 하나의 데이터 태그에 대응하도록 수정하는 단계를 포함하는, 컴퓨터 구현 방법.And modifying at least one data tag associated with the first format to correspond to at least one data tag associated with the second format.
A8. 항목 A5에 있어서, 복수의 데이터 필드 유형들은 정수 유형, 텍스트 유형, 리터럴 유형, 지리적 위치(geolocation) 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수(floating point number) 유형 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.A8. In item A5, the plurality of data field types comprises at least one of an integer type, a text type, a literal type, a geolocation type, a time type, a date type, or a floating point number type. Computer implemented method.
A9. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A9. In item A8, the step of determining the type of the data field
데이터 필드와 연관된 값이 지정된 정수 양 임계치(integer amount threshold) 초과의 양의 정수 문자들을 가지는 것으로 결정하는 단계; 및Determining that the value associated with the data field has positive integer characters greater than a specified integer amount threshold; And
데이터 필드의 유형을 정수 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is an integer type.
A10. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A10. In item A8, the step of determining the type of the data field
데이터 필드와 연관된 값이 지정된 텍스트 양 임계치(text amount threshold) 초과의 양의 영숫자 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 텍스트 개별 양 임계치(text distinct amount threshold) 초과인 것, 개별 값들의 퍼센트가 지정된 텍스트 개별 퍼센트 임계치(text distinct percentage threshold) 초과인 것, 또는 값들의 길이가 지정된 텍스트 길이 임계치 초과인 것 중 적어도 하나를 결정하는 단계; 및The value associated with the data field has a positive amount of alphanumeric characters in excess of the text amount threshold; the number of distinct values associated with the data field is greater than the specified text distinct amount threshold; The percentage of values is greater than a specified text distinct percentage threshold, or the length of values is greater than a specified text length threshold; And
데이터 필드의 유형을 텍스트 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is a text type.
A11. 항목 A8에 있어서, 데이터 필드의 유형을 결정하는 단계는A11. In item A8, the step of determining the type of the data field
데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치(lower literal amount threshold) 초과이지만 지정된 상부 리터럴 양 임계치(upper literal amount threshold) 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치(literal distinct amount threshold) 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 단계; 및The value associated with the data field has positive alphanumeric characters that are greater than the specified lower literal amount threshold but less than the specified upper literal amount threshold, the number of distinct values associated with the data field is greater than or equal to the specified literal Determining a percentage of individual values to be less than a specified literal individual percent threshold or a length of values less than a specified literal length threshold; And
데이터 필드의 유형을 리터럴 유형인 것으로 결정하는 단계를 포함하는, 컴퓨터 구현 방법.And determining that the type of the data field is a literal type.
A12. 항목 A5에 있어서, 하나 이상의 검색 옵션들은 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 데이터 필드에 대한 패싯 카운트(facet count)를 계산하는 옵션, 또는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.A12. In item A5, one or more search options may include an option to include a data field in the search index to be generated, an option to calculate a facet count for the data field, or a value associated with the data field in response to the associated search query And providing at least one of the options.
A13. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션을 인에이블시키기로 결정하는 단계를 포함하고, 이 결정은 데이터 필드가 검색 인덱스에 포함되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것 또는 데이터 필드의 유형을 리터럴 유형인 것으로 결정하는 것 중 적어도 하나에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A13. In item A12, the step of determining one or more search options to be enabled includes determining to enable an option to include a data field in the search index to be generated, the decision being that the data field is included in the search index Receiving a signal contained in a data field indicating that the type of the data field is a literal type, or determining that the type of the data field is a literal type.
A14. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키로 결정하는 단계를 포함하고, 이 결정은 데이터 필드와 연관된 복수의 값들의 분포에 대한 분량(quantity)이 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A14. In item A12, the step of determining one or more search options to be enabled includes determining to enable an option to calculate a facet count for a data field, the determination comprising determining a plurality of values And determining that the quantity for the distribution is less than a specified facet count upper threshold.
A15. 항목 A12에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 단계는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션을 인에이블시키기로 결정하는 단계를 포함하고, 이 결정은 데이터 필드와 연관된 값이 제공되어야 한다는 것을 나타내는, 데이터 필드에 포함된, 신호를 수신하는 것 또는 데이터 필드와 연관된 값의 길이가 지정된 반환 값 길이 임계치 미만인 것으로 결정하는 것 중 적어도 하나에 적어도 부분적으로 기초하는, 컴퓨터 구현 방법.A15. In item A12, the step of determining one or more search options to be enabled comprises determining to enable an option to provide a value associated with a data field in response to an associated search query, Determining that a value contained in the data field, which indicates that a value should be provided, is received, or that the length of a value associated with the data field is less than a specified return value length threshold, Way.
A16. 항목 A5에 있어서, 데이터, 인덱스 구성, 또는 하나 이상의 검색 질의들에 의해 검색가능하게 될 인덱스 중 적어도 하나를 제공하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.A16. The computer-implemented method of item A5, further comprising providing at least one of data, an index configuration, or an index to be searchable by one or more search queries.
A17. 항목 A5에 있어서, 하나 이상의 사용자-개시 입력들에 적어도 부분적으로 기초하여, 인덱스 구성을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.A17. The computer-implemented method of item A5, further comprising modifying the index configuration based at least in part on one or more user-initiated inputs.
A18. 시스템으로서,A18. As a system,
적어도 하나의 통신 송수신기;At least one communication transceiver;
하나 이상의 저장소 할당량들;One or more storage quotas;
적어도 하나의 프로세서; 및At least one processor; And
명령어들을 포함하는 메모리 디바이스를 포함하고, 이 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금A memory device including instructions that, when executed by the at least one processor, cause the system to:
적어도 하나의 통신 송수신기를 통해, 인덱싱될 데이터를 수신하게 하고;Receive data to be indexed via at least one communication transceiver;
데이터와 연관된 데이터 필드의 유형을 결정하게 하며 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determine the type of data field associated with the data, the type of the data field being determined from a plurality of data field types;
데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하게 하고;Determine one or more search options to be enabled in association with a data field associated with the data;
데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하게 하며;Generate an index configuration for the data based at least in part on the type of data field and one or more search options;
데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하게 하는, 시스템.And to generate a search index for the data based at least in part on the index configuration for the data.
A19. 항목 A18에 있어서, 데이터는 제1 포맷으로 되어 있고, 명령어들은 시스템으로 하여금 추가적으로A19. In item A18, the data is in a first format, and the instructions cause the system to additionally
데이터를 제1 포맷으로부터 검색 인덱스와 호환되는 제2 포맷으로 변환시키게 하고;To convert the data from the first format to a second format compatible with the search index;
제2 포맷으로 변환된 데이터를 하나 이상의 저장소 할당량들에 저장하게 하는, 시스템.And store the converted data in the second format in one or more storage quotas.
A20. 항목 A19에 있어서, 명령어들은 시스템으로 하여금 제1 포맷과 제2 포맷을 비교하고 제1 포맷과 연관된 적어도 하나의 데이터 필드를 제2 포맷과 연관된 적어도 하나의 데이터 필드에 대응하도록 수정하는 것에 기초하여, 데이터를 제1 포맷으로부터 제2 포맷으로 변환시키게 하는, 시스템.A20. In item A19, the instructions cause the system to compare the first format and the second format and modify at least one data field associated with the first format to correspond to at least one data field associated with the second format, And to convert the data from the first format to the second format.
A21. 요소들을 식별하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 컴퓨팅 시스템의 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금A21. Wherein the instructions, when executed by a processor of the computing system, cause the computing system to: < RTI ID = 0.0 >
인덱싱될 데이터를 수신하게 하고;Receive data to be indexed;
데이터와 연관된 데이터 필드의 유형을 결정하게 하며 - 데이터 필드의 유형은 복수의 데이터 필드 유형들로부터 결정됨 -;Determine the type of data field associated with the data, the type of the data field being determined from a plurality of data field types;
데이터와 연관된 데이터 필드와 관련하여 인에이블될 하나 이상의 검색 옵션들을 결정하게 하고;Determine one or more search options to be enabled in association with a data field associated with the data;
데이터 필드의 유형 및 하나 이상의 검색 옵션들에 적어도 부분적으로 기초하여, 데이터에 대한 인덱스 구성을 생성하게 하며;Generate an index configuration for the data based at least in part on the type of data field and one or more search options;
데이터에 대한 인덱스 구성에 적어도 부분적으로 기초하여, 데이터에 대한 검색 인덱스를 생성하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.Based on at least in part on the index configuration for the data, a search index for the data.
A22. 항목 A21에 있어서, 복수의 데이터 필드 유형들은 정수 유형, 텍스트 유형, 리터럴 유형, 지리적 위치 유형, 시간 유형, 날짜 유형, 또는 부동 소수점 수 유형 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.A22. In item A21, the plurality of data field types comprises at least one of an integer type, a text type, a literal type, a geographic location type, a time type, a date type, or a floating point number type.
A23. 항목 A22에 있어서, 명령어들은 컴퓨팅 시스템으로 하여금 데이터 필드와 연관된 값이 지정된 하부 리터럴 양 임계치 초과이지만 지정된 상부 리터럴 양 임계치 미만인 양의 알파벳 문자들을 가지는 것, 데이터 필드와 연관된 개별 값들의 개수가 지정된 리터럴 개별 양 임계치 미만인 것, 개별 값들의 퍼센트가 지정된 리터럴 개별 퍼센트 임계치 미만인 것, 또는 값들의 길이가 지정된 리터럴 길이 임계치 미만인 것 중 적어도 하나를 결정하는 것에 기초하여 데이터 필드의 유형을 리터럴 유형인 것으로 결정하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.A23. In item A22, the instructions cause the computing system to cause the computing system to have a value associated with the data field greater than a specified lower literal threshold value, but having a positive alphabet character less than the specified upper literal threshold value, Determining the type of the data field to be a literal type based on determining at least one of: less than a threshold, a percentage of individual values less than a specified literal individual percent threshold, or a length of values less than a specified literal length threshold , Non-transitory computer readable storage medium.
A24. 항목 A21에 있어서, 하나 이상의 검색 옵션들은 데이터 필드를 생성될 검색 인덱스에 포함시키는 옵션, 데이터 필드에 대한 패싯 카운트를 계산하는 옵션, 또는 관련 검색 질의에 응답하여 데이터 필드와 연관된 값을 제공하는 옵션 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.A24. In item A21, one or more search options may include an option to include a data field in the search index to be generated, an option to calculate a facet count for the data field, or an option to provide a value associated with the data field in response to the relevant search query ≪ / RTI > wherein the computer program product comprises at least one computer program product.
A25. 항목 A24에 있어서, 인에이블될 하나 이상의 검색 옵션들을 결정하는 것은 데이터 필드에 대한 패싯 카운트를 계산하는 옵션을 인에이블시키기로 결정하는 것을 포함하고, 이 결정은 데이터 필드와 연관된 적어도 하나의 값의 분량이 지정된 패싯 카운트 하부 임계치 초과이고 지정된 패싯 카운트 상부 임계치 미만인 것으로 결정하는 것에 적어도 부분적으로 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.A25. In item A24, determining one or more search options to be enabled includes determining to enable an option to calculate a facet count for a data field, the determination being such that the amount of at least one value associated with the data field is Determining that the specified facet count is below a specified facet count lower threshold and below a specified facet count upper threshold.
B1. 동적 검색 파티셔닝(dynamic search partitioning)을 위한 컴퓨터 구현 방법으로서,B1. A computer implemented method for dynamic search partitioning,
저장되고 있는 데이터의 양 또는 데이터가 네트워크 서비스에 의해 제공된 제1 파티션에서 조작되고 있는 레이트(rate) 중 적어도 하나를 모니터링하는 단계 - 제1 파티션은 네트워크 서비스에 의해 제공된 저장소 할당량에 포함되어 있음 -;Monitoring at least one of the amount of data being stored or the rate at which data is being manipulated in a first partition provided by the network service, the first partition being included in a storage quota provided by the network service;
양 및 레이트 중 적어도 하나가, 각각, 지정된 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 검출하는 단계;Detecting that at least one of an amount and a rate exceeds a specified amount threshold or a specified rate threshold, respectively;
검출하는 단계에 응답하여, 제1 파티션의 크기를 증가시키는 것 또는 적어도 제2 파티션을 저장소 할당량에 추가하는 것 중 적어도 하나를 수행하는 단계 - 증가시키는 것 또는 추가하는 것 중 적어도 하나는 저장되고 있는 데이터의 양 또는 데이터가 조작되고 있는 레이트에 적어도 부분적으로 기초함 -;In response to the detecting, at least one of performing, incrementing, or adding performing at least one of increasing the size of the first partition or adding at least the second partition to the storage quota is stored At least partially based on the amount of data or the rate at which the data is being manipulated;
증가시키는 것 또는 추가하는 것 중 적어도 하나 동안, 저장소 할당량과 연관된 네트워크 트래픽을 네트워크 서비스에 의해 제공된 캐시로 보내는 단계; 및Increasing or adding the network traffic associated with the storage quota to a cache provided by the network service; And
증가시키는 것 또는 추가하는 것 중 적어도 하나를 수행하는 것이 완료될 때, 네트워크 트래픽을 저장소 할당량으로 보내는 단계를 포함하는, 컴퓨터 구현 방법.Increasing or adding a network traffic to a storage quota when it is completed to perform at least one of the following:
B2. 항목 B1에 있어서, 저장소 할당량에 대한 검색 인덱스를 모니터링하는 단계;B2. Item B1, comprising: monitoring a search index for a storage quota;
검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및Detecting that the size of the search index exceeds a specified index size threshold; And
저장소 할당량과 관련하여 증가시키는 것 또는 추가하는 것 중 적어도 하나를 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 업데이트하는 단계를 포함하는, 컴퓨터 구현 방법.Updating the search index for the storage quota to reflect at least one of increasing or adding with respect to the storage quota.
B3. 항목 B1에 있어서, 제1 파티션의 크기가 최대 파티션 크기 임계치 미만인 경우, 제1 파티션의 크기를 증가시키는 것이 수행되고, 제1 파티션의 크기가 최대 파티션 크기 임계치에 있는 경우, 적어도 제2 파티션을 추가하는 것이 수행되는, 컴퓨터 구현 방법.B3. In item B1, if the size of the first partition is less than the maximum partition size threshold, increasing the size of the first partition is performed, and if the size of the first partition is at the maximum partition size threshold, Is performed.
B4. 컴퓨터 구현 방법으로서,B4. As a computer implemented method,
네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하는 단계 - 저장소 할당량은 적어도 하나의 파티션을 포함하는 다수의 파티션들을 가짐 -;Monitoring data usage in a storage quota in a networked environment, the storage quota having a plurality of partitions including at least one partition;
저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 단계;Determining if data usage at at least one partition included in the storage quota exceeds a specified threshold;
적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하는 단계;Modifying at least one of a size of at least one partition or a number of partitions included in a storage quota;
저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내는 단계; 및Sending network traffic associated with the storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another; And
수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내는 단계를 포함하는, 컴퓨터 구현 방법.Sending as part of a storage quota associated with modifying network traffic when the modification is complete.
B5. 항목 B4에 있어서, 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및B5. Item B4, comprising: detecting that the size of a search index for a storage quota exceeds a specified index size threshold; And
적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것에 기초하여, 저장소 할당량에 대한 검색 인덱스를 업데이트하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising updating the search index for the storage quota based on modifying at least one of the size of the at least one partition or the number of partitions included in the storage quota.
B6. 항목 B5에 있어서, 검색 인덱스를 업데이트하는 단계는 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것을 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 재구축하는 단계를 포함하는, 컴퓨터 구현 방법.B6. In item B5, updating the search index comprises rebuilding the search index for the storage quota to reflect modification of at least one of the size of the at least one partition or the number of partitions included in the storage quota Computer-implemented method.
B7. 항목 B4에 있어서, 데이터 사용량은 저장소 할당량에 저장되고 있는 데이터의 양 또는 데이터가 저장소 할당량에서 조작되고 있는 레이트 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B7. In item B4, the data usage comprises at least one of the amount of data being stored in the storage quota or the rate at which the data is being manipulated in the storage quota.
B8. 항목 B7에 있어서, 지정된 임계치는 지정된 양 임계치 또는 지정된 레이트 임계치 중 적어도 하나를 포함하고, 저장되고 있는 데이터의 양이 지정된 양 임계치를 초과하는 것 또는 데이터가 조작되고 있는 레이트가 지정된 레이트 임계치를 초과하는 것 중 적어도 하나가 발생할 때, 데이터 사용량이 지정된 임계치를 초과하는, 컴퓨터 구현 방법.B8. In item B7, the specified threshold includes at least one of a specified positive threshold or a specified rate threshold, and the amount of data being stored exceeds a specified positive threshold or the rate at which data is being manipulated exceeds a specified rate threshold Wherein when at least one of the at least one of the at least one of the at least one of the at least two of the at least one of the at least two of the at least one of the at least one of the plurality of devices occurs.
B9. 항목 B8에 있어서, 지정된 임계치는 과거 데이터 사용량에 관한 정보에 적어도 부분적으로 기초하여 계산되는, 컴퓨터 구현 방법.B9. In item B8, the specified threshold is computed based at least in part on information about historical data usage.
B10. 항목 B4에 있어서, 저장소 할당량으로 보내지는 네트워크 트래픽의 양이 지정된 트래픽 임계치 초과인 것으로 결정하는 단계; 및B10. Item B4, comprising: determining that the amount of network traffic sent to the storage quota is greater than a specified traffic threshold; And
네트워크 트래픽의 양에 기초하여 저장소 할당량을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.Further comprising modifying the storage quota based on the amount of network traffic.
B11. 항목 B10에 있어서, 네트워크 트래픽은 저장소 할당량에 저장된 데이터를 검색하기 위한 검색 질의 트래픽을 포함하는, 컴퓨터 구현 방법.B11. The computer-implemented method of item B10, wherein the network traffic includes search query traffic for retrieving data stored in a storage quota.
B12. 항목 B10에 있어서, 네트워크 트래픽의 양에 기초하여 저장소 할당량을 수정하는 단계는 적어도 하나의 파티션의 크기를 수정하는 단계, 파티션들의 개수를 수정하는 단계, 또는 파티션들의 개수에 포함된 적어도 하나의 파티션을 상이한 규격들을 가지는 적어도 하나의 파티션으로 대체하는 단계 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B12. In item B10, modifying the storage quota based on the amount of network traffic may include modifying the size of at least one partition, modifying the number of partitions, or at least one partition included in the number of partitions Replacing at least one partition having different specifications with at least one partition having different specifications.
B13. 항목 B12에 있어서, 상이한 규격들은 상이한 CPU 능력, 상이한 RAM 용량, 상이한 하드 디스크 공간 용량, 또는 상이한 대역폭 용량 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.B13. In item B12, the different specifications comprise at least one of different CPU capabilities, different RAM capacities, different hard disk space capacities, or different bandwidth capacities.
B14. 항목 B4에 있어서, 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 수정하는 단계는 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 증가시키는 단계를 포함하고, 적어도 하나의 파티션의 크기가 최대 파티션 크기 임계치 미만인 경우, 적어도 하나의 파티션의 크기를 증가시키는 것이 수행되고, 적어도 하나의 파티션의 크기가 최대 파티션 크기 임계치에 있는 경우, 파티션들의 개수를 증가시키는 것이 수행되는, 컴퓨터 구현 방법.B14. In item B4, modifying at least one of the size of at least one partition or the number of partitions includes increasing at least one of the size of at least one partition or the number of partitions, Is performed to increase the size of at least one partition, and if the size of the at least one partition is at a maximum partition size threshold, increasing the number of partitions is performed.
B15. 항목 B4에 있어서, 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 수정하는 단계는 적어도 하나의 파티션의 크기 또는 파티션들의 개수 중 적어도 하나를 감소시키는 단계를 포함하고, 파티션들의 개수가 2개 이상의 파티션인 경우, 파티션들의 개수를 감소시키는 것이 수행되며, 파티션들의 개수가 1개의 파티션인 경우, 적어도 하나의 파티션의 크기를 감소시키는 것이 수행되는, 컴퓨터 구현 방법.B15. In item B4, modifying at least one of the size of at least one partition or the number of partitions includes reducing at least one of the size of at least one partition or the number of partitions, wherein the number of partitions is two Wherein reducing the number of partitions is performed, and if the number of partitions is one partition, reducing the size of at least one partition is performed.
B16. 항목 B4에 있어서, 저장소 할당량의 CPU 사용량을 결정하는 단계를 추가로 포함하고, 크기 또는 개수 중 적어도 하나를 수정하는 단계는 저장소 할당량에서의 데이터 사용량 또는 저장소 할당량의 결정된 CPU 사용량 중 적어도 하나에 기초하는, 컴퓨터 구현 방법.B16. In item B4, the method further comprises determining a CPU usage of the storage quota, and the step of modifying at least one of the size or the number is based on at least one of a data usage in the storage quota or a determined CPU usage in the storage quota , A computer implemented method.
B17. 항목 B4에 있어서, 데이터 사용량과 연관된 구성 또는 사용자-개시 입력 중 적어도 하나에 기초하여, 저장소 할당량의 구성을 수정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.B17. The computer-implemented method of item B4, further comprising modifying the configuration of the storage quota based on at least one of a configuration associated with data usage or a user-initiated input.
B18. 항목 B4에 있어서, 저장소 할당량에 이용가능한 자원들에 기초하여, 크기 또는 개수 중 적어도 하나를 수정하는 것을 언제 수행할지를 결정하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.B18. The computer-implemented method of item B4, further comprising determining when to perform modification of at least one of a size or a number based on resources available to the storage quota.
B19. 시스템으로서,B19. As a system,
적어도 하나의 파티션을 포함하는 다수의 파티션들을 가지는 저장소 할당량;A storage quota having a plurality of partitions including at least one partition;
적어도 하나의 프로세서; 및At least one processor; And
명령어들을 포함하는 메모리 디바이스를 포함하고, 이 명령어들은, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금A memory device including instructions that, when executed by the at least one processor, cause the system to:
저장소 할당량에서의 데이터 사용량을 모니터링하게 하고;Monitor data usage in storage quotas;
저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;Determine if the data usage at the at least one partition included in the storage quota exceeds a specified threshold;
적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하게 하고;Modify at least one of a size of at least one partition or a number of partitions included in a storage quota;
저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;Sending network traffic associated with storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another;
수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내게 하는, 시스템.A system that, when the modification is complete, sends it as part of the storage quota associated with modifying network traffic.
B20. 항목 B19에 있어서, 크기 또는 개수 중 적어도 하나를 수정하는 동안 네트워크 트래픽이 저장소 할당량의 일부분으로부터 다른 곳으로 보내지는 것 및 크기 또는 개수 중 적어도 하나를 수정하는 것이 완료될 때 네트워크 트래픽이 저장소 할당량의 일부분으로 보내지는 것을 용이하게 하도록 구성된 적어도 하나의 부하 분산기(load balancer)를 추가로 포함하는, 시스템.B20. In item B19, when network traffic is being sent from a portion of the storage quota elsewhere while modifying at least one of the size or the number, and when modifying at least one of the size or the number is completed, Further comprising: at least one load balancer configured to facilitate sending the load balancer to the load balancer.
B21. 항목 B20에 있어서, 적어도 하나의 부하 분산기는 저장소 할당량에 포함된 개수의 파티션들에 걸쳐서 네트워크 트래픽을 보내도록 구성되어 있는, 시스템.B21. In item B20, the at least one load balancer is configured to send network traffic over a number of partitions included in the storage quota.
B22. 항목 B19에 있어서, 저장소 할당량에서의 데이터 사용량을 모니터링하는 것 및 저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 것을 용이하게 하도록 구성된 적어도 하나의 모니터 모듈을 추가로 포함하는, 시스템.B22. Item B19, further comprising at least one monitor module configured to facilitate monitoring data usage in the storage quota and determining whether data usage in the at least one partition included in the storage quota exceeds a specified threshold Including the system.
B23. 요소들을 식별하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 명령어들은, 컴퓨팅 시스템의 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금B23. Wherein the instructions, when executed by a processor of the computing system, cause the computing system to: < RTI ID = 0.0 >
네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고 - 저장소 할당량은 적어도 하나의 파티션을 포함하는 다수의 파티션들을 가짐 -;Monitor data usage in the storage quota in a networked environment; store quota has a plurality of partitions including at least one partition;
저장소 할당량에 포함된 적어도 하나의 파티션에서의 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;Determine if the data usage at the at least one partition included in the storage quota exceeds a specified threshold;
적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정하게 하고;Modify at least one of a size of at least one partition or a number of partitions included in a storage quota;
저장소 할당량과 연관된 네트워크 트래픽을 크기 또는 개수 중 적어도 하나를 수정하는 것과 연관된 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;Sending network traffic associated with storage quota from a portion of a storage quota associated with modifying at least one of a size or a number to another;
수정이 완료될 때 네트워크 트래픽을 수정하는 것과 연관된 저장소 할당량의 일부분으로 보내게 하는, 비일시적 컴퓨터 판독가능 저장 매체.Wherein the network traffic is sent as part of a storage quota associated with modifying network traffic when the modification is complete.
B24. 항목 B23에 있어서, 명령어들은 컴퓨팅 시스템으로 하여금 추가적으로 저장소 할당량에 대한 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하게 하고; 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것에 기초하여, 저장소 할당량에 대한 검색 인덱스를 업데이트하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.B24. In item B23, the instructions cause the computing system to additionally detect that the size of the search index for the storage quota exceeds a specified index size threshold; To update a search index for a storage quota based on modifying at least one of the size of the at least one partition or the number of partitions included in the storage quota.
B25. 항목 B24에 있어서, 검색 인덱스를 업데이트하는 것은 적어도 하나의 파티션의 크기 또는 저장소 할당량에 포함된 파티션들의 개수 중 적어도 하나를 수정한 것을 반영하기 위해 저장소 할당량에 대한 검색 인덱스를 재구축하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.B25. Wherein, in item B24, updating the search index comprises rebuilding the search index for the storage quota to reflect modification of at least one of the size of the at least one partition or the number of partitions included in the storage quota. Non-volatile computer readable storage medium.
Claims (25)
저장되고 있는 데이터의 양, 또는 데이터가 네트워크 서비스에 의해 제공된 파티션들의 2 이상의 세트의 각각의 제1 파티션 상에서 조작되고(manipulated) 있는 레이트(rate) 중 적어도 하나를 모니터링하는 단계 - 파티션들의 각각의 세트는 복수의 파티션을 포함하고, 상기 복수의 파티션은 상기 네트워크 서비스에 의해 제공된 저장소 할당량(storage allocation)에 포함되며, 파티션들의 각각의 세트는 상이한 계정(account)과 연관됨 -;
상기 양 또는 상기 레이트 중 상기 적어도 하나가, 각각, 지정된(specified) 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 결정하는 단계;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형(type)에 대응되는 것으로 결정하는 단계;
상기 제1 파티션의 크기에 대한 증가를 수행하는 단계 - 상기 증가는 상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하고, 상기 증가는 저장되고 있는 데이터의 상기 양 또는 데이터가 조작되고 있는 상기 레이트에 적어도 부분적으로 기초함 -;
상기 증가 동안 상기 네트워크 트래픽을 상기 네트워크 서비스에 의해 제공된 캐시에 보내는(directing) 단계; 및
상기 증가를 수행하는 단계가 완료될 때, 상기 네트워크 트래픽을 상기 저장소 할당량으로 보내는 단계
를 포함하는, 컴퓨터 구현 방법.A computer implemented method for dynamic search partitioning,
Monitoring at least one of the amount of data being stored or the rate at which data is manipulated on each first partition of two or more sets of partitions provided by the network service; Wherein the plurality of partitions are included in a storage allocation provided by the network service and each set of partitions is associated with a different account;
Determining that the at least one of the amount or the rate exceeds a specified amount threshold or a specified rate threshold, respectively;
Determining that network traffic associated with the storage quota corresponds to a first type;
Wherein the increase is based on the network traffic corresponding to the first type and the increase is based on the amount of data being stored or the rate at which data is being manipulated At least partially based;
Directing the network traffic during the increase to a cache provided by the network service; And
When the step of performing the increment is completed, sending the network traffic to the storage quota
/ RTI >
상기 저장소 할당량에 대한 검색 인덱스를 모니터링하는 단계;
상기 검색 인덱스의 크기가 지정된 인덱스 크기 임계치를 초과하는 것을 검출하는 단계; 및
상기 저장소 할당량과 관련한 상기 증가를 반영하기 위해 상기 저장소 할당량에 대한 상기 검색 인덱스를 업데이트하는 단계
를 더 포함하는, 컴퓨터 구현 방법.The method according to claim 1,
Monitoring a search index for the storage quota;
Detecting that the size of the search index exceeds a specified index size threshold; And
Updating the search index for the storage quota to reflect the increase in relation to the storage quota
Lt; / RTI >
상기 양 또는 상기 레이트 중 상기 적어도 하나가, 각각, 지정된 양 임계치 또는 지정된 레이트 임계치를 초과하는 것을 결정하는 단계에 응답하여, 상기 제1 파티션의 상기 크기가 최대 파티션 크기 임계치에 도달할 때 적어도 제2 파티션의 파티션들의 상기 세트에의 추가를 수행하는 단계
를 더 포함하는, 컴퓨터 구현 방법.The method according to claim 1,
In response to determining that the at least one of the amount or the rate exceeds a specified amount threshold or a specified rate threshold, respectively, when the size of the first partition reaches a maximum partition size threshold, Performing additions to the set of partitions of the partition
Lt; / RTI >
네트워크화된 환경에서 저장소 할당량(storage allocation)에서의 데이터 사용량을 모니터링하는 단계 - 상기 저장소 할당량은 파티션들의 다수의 세트를 갖고, 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 단계;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하는 단계;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 적어도 하나의 파티션의 크기를 수정하는 단계;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내는 단계; 및
상기 수정이 완료될 때 상기 네트워크 트래픽을 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내는 단계
를 포함하는, 컴퓨터 구현 방법.As a computer implemented method,
Monitoring data usage in a storage allocation in a networked environment, the storage quota having a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions, ;
Determining if the data usage in at least one partition of the set of partitions included in the storage quota exceeds a specified threshold;
Determining that network traffic associated with the storage quota corresponds to a first type;
Modifying the size of the at least one partition based on the network traffic corresponding to the first type;
Sending the network traffic from a portion of the storage quota associated with the modification to another; And
Sending the network traffic to the portion of the storage quota associated with the modification when the modification is complete
/ RTI >
상기 적어도 하나의 파티션의 상기 크기를 수정한 것에 기초하여, 상기 저장소 할당량에 대한 상기 검색 인덱스를 업데이트하는 단계를 더 포함하는, 컴퓨터 구현 방법.5. The method of claim 4, further comprising: detecting that the size of the search index for the storage quota exceeds a specified index size threshold; And
Further comprising updating the search index for the storage quota based on modifying the size of the at least one partition.
상기 네트워크 트래픽의 양에 기초하여 상기 저장소 할당량을 수정하는 단계를 더 포함하는, 컴퓨터 구현 방법.5. The method of claim 4, further comprising: determining that the amount of network traffic sent to the storage quota is greater than a specified traffic threshold; And
And modifying the storage quota based on the amount of network traffic.
파티션들의 다수의 세트를 갖는 저장소 할당량 - 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
적어도 하나의 프로세서; 및
명령어들을 포함하는 메모리 디바이스
를 포함하고,
상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금
상기 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하게 하고;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 적어도 하나의 파티션의 크기를 수정하게 하고;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;
상기 수정이 완료될 때, 상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내게 하는, 시스템.As a system,
A storage quota with a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions;
At least one processor; And
A memory device
Lt; / RTI >
Wherein the instructions, when executed by the at least one processor,
Monitor data usage in the storage quota;
Determine if the data usage at at least one of the sets of partitions included in the storage quota exceeds a specified threshold;
Determine that network traffic associated with the storage quota corresponds to a first type;
Modify the size of the at least one partition based on the network traffic corresponding to the first type;
Send the network traffic from a portion of the storage quota associated with the modification to another;
And when the modification is complete, sending the network traffic to the portion of the storage quota associated with the modification.
상기 크기를 수정하는 동안 상기 네트워크 트래픽이 상기 저장소 할당량의 상기 일부분으로부터 다른 곳으로 보내지는 것 및 상기 크기를 수정하는 것이 완료될 때 상기 네트워크 트래픽이 상기 저장소 할당량의 상기 일부분으로 보내지는 것을 용이하게 하도록 구성된 적어도 하나의 부하 분산기(load balancer)를 더 포함하는 시스템.20. The method of claim 19,
Wherein the network traffic is sent from the portion of the storage quota elsewhere while modifying the size, and to facilitate sending the network traffic to the portion of the storage quota when modifying the size is completed Lt; / RTI > further comprising at least one load balancer configured.
상기 적어도 하나의 부하 분산기는 상기 저장소 할당량에 포함된 파티션들의 세트들의 개수에 걸쳐서 상기 네트워크 트래픽을 보내도록 구성된, 시스템.21. The method of claim 20,
Wherein the at least one load balancer is configured to send the network traffic over a number of sets of partitions contained in the storage quota.
상기 저장소 할당량에서의 상기 데이터 사용량을 모니터링하는 것 및 상기 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하는 것을 용이하게 하도록 구성된 적어도 하나의 모니터 모듈을 더 포함하는 시스템.20. The method of claim 19,
Further comprising at least one monitor module configured to facilitate monitoring the data usage in the storage quota and determining whether the data usage in the at least one partition exceeds a specified threshold.
네트워크화된 환경에서 저장소 할당량에서의 데이터 사용량을 모니터링하게 하고 - 상기 저장소 할당량은 파티션들의 다수의 세트를 갖고, 파티션들의 각각의 세트는 상이한 계정과 연관되고 적어도 2개의 파티션을 포함함 -;
상기 저장소 할당량에 포함된 파티션들의 세트 중 적어도 하나의 파티션에서의 상기 데이터 사용량이 지정된 임계치를 초과하는지를 결정하게 하며;
상기 저장소 할당량과 연관된 네트워크 트래픽이 제1 유형에 대응되는 것으로 결정하게 하고;
상기 제1 유형에 대응하는 상기 네트워크 트래픽에 기초하여 상기 저장소 할당량에 포함된 상기 적어도 하나의 파티션의 크기를 수정하게 하고;
상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 일부분으로부터 다른 곳으로 보내게 하며;
상기 수정이 완료될 때, 상기 네트워크 트래픽을, 상기 수정하는 것과 연관된 상기 저장소 할당량의 상기 일부분으로 보내게 하는, 비일시적 컴퓨터 판독가능 저장 매체.29. A non-transitory computer readable storage medium having stored thereon instructions for identifying elements, said instructions, when executed by a processor of a computing system, cause the computing system to:
Monitor data usage in a storage quota in a networked environment, the storage quota having a plurality of sets of partitions, each set of partitions being associated with a different account and comprising at least two partitions;
Determine if the data usage at at least one of the sets of partitions included in the storage quota exceeds a specified threshold;
Determine that network traffic associated with the storage quota corresponds to a first type;
Modify the size of the at least one partition included in the storage quota based on the network traffic corresponding to the first type;
Send the network traffic from a portion of the storage quota associated with the modification to another;
And when the modification is complete, sending the network traffic to the portion of the storage quota associated with the modification.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/650,961 US9047326B2 (en) | 2012-10-12 | 2012-10-12 | Index configuration for searchable data in network |
US13/650,961 | 2012-10-12 | ||
US13/650,931 US9507750B2 (en) | 2012-10-12 | 2012-10-12 | Dynamic search partitioning |
US13/650,931 | 2012-10-12 | ||
PCT/US2013/064731 WO2014059394A1 (en) | 2012-10-12 | 2013-10-12 | Index configuration for searchable data in network |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177012552A Division KR101782302B1 (en) | 2012-10-12 | 2013-10-12 | Index configuration for searchable data in network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150066575A KR20150066575A (en) | 2015-06-16 |
KR101737246B1 true KR101737246B1 (en) | 2017-05-17 |
Family
ID=50477970
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157012030A Expired - Fee Related KR101737246B1 (en) | 2012-10-12 | 2013-10-12 | Index configuration for searchable data in network |
KR1020177012552A Expired - Fee Related KR101782302B1 (en) | 2012-10-12 | 2013-10-12 | Index configuration for searchable data in network |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177012552A Expired - Fee Related KR101782302B1 (en) | 2012-10-12 | 2013-10-12 | Index configuration for searchable data in network |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP2907034A4 (en) |
JP (2) | JP2015532493A (en) |
KR (2) | KR101737246B1 (en) |
CN (2) | CN110096502A (en) |
AU (3) | AU2013328901B2 (en) |
BR (1) | BR112015008146A2 (en) |
CA (1) | CA2888116C (en) |
IN (1) | IN2015DN03160A (en) |
SG (2) | SG11201502828PA (en) |
WO (1) | WO2014059394A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289603B2 (en) | 2012-10-12 | 2019-05-14 | Amazon Technologies, Inc. | Dynamic search partitioning |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047326B2 (en) | 2012-10-12 | 2015-06-02 | A9.Com, Inc. | Index configuration for searchable data in network |
CN105979014A (en) * | 2016-07-15 | 2016-09-28 | 柳州健科技有限公司 | Network data system based on local area network |
CN105979015A (en) * | 2016-07-15 | 2016-09-28 | 柳州健科技有限公司 | Network data service platform based on local area network |
CN105978739A (en) * | 2016-07-15 | 2016-09-28 | 柳州健科技有限公司 | Network data platform based on local area network |
CN106131188A (en) * | 2016-07-15 | 2016-11-16 | 柳州健科技有限公司 | LAN system |
CN106131189A (en) * | 2016-07-15 | 2016-11-16 | 柳州健科技有限公司 | The network platform based on LAN |
CN105978913A (en) * | 2016-07-15 | 2016-09-28 | 柳州健科技有限公司 | Network service system |
CN105979016A (en) * | 2016-07-15 | 2016-09-28 | 柳州健科技有限公司 | Local area network data service system |
CN106131192A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | The network system with data monitoring function based on LAN |
CN106060081A (en) * | 2016-07-16 | 2016-10-26 | 柳州健科技有限公司 | Network service platform with data monitor function |
CN106131191A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | There is the LAN data service system of data monitoring function |
CN106101024A (en) * | 2016-07-16 | 2016-11-09 | 柳州健科技有限公司 | There is the LAN data system of data monitoring function |
CN106131195A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | There is the LAN system of data monitoring function |
CN106131190A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | The network platform with data monitoring function based on LAN |
CN106131194A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | There is the LAN platform of self-learning function |
CN106060082A (en) * | 2016-07-16 | 2016-10-26 | 柳州健科技有限公司 | Local area network-based network service platform with data monitoring function |
CN106060083A (en) * | 2016-07-16 | 2016-10-26 | 柳州健科技有限公司 | Network service system with data monitoring function |
CN106131193A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | There is the local area network services platform of self-learning function |
CN106131196A (en) * | 2016-07-16 | 2016-11-16 | 柳州健科技有限公司 | The network system with self-learning function based on LAN |
CN107977381B (en) * | 2016-10-24 | 2021-08-27 | 华为技术有限公司 | Data configuration method, index management method, related device and computing equipment |
CN110019191A (en) * | 2017-09-21 | 2019-07-16 | 阿里巴巴集团控股有限公司 | Database information processing method and processing device |
CN108881147B (en) * | 2017-12-29 | 2019-07-05 | 视联动力信息技术股份有限公司 | A kind of data processing method and device of view networking |
CN110134661A (en) * | 2019-05-22 | 2019-08-16 | 东北大学 | A Facet-Oriented Storage and Query Method for Academic Big Data |
CN112306604B (en) * | 2020-08-21 | 2022-09-23 | 海信视像科技股份有限公司 | Progress display method and display device for file transmission |
US11658917B2 (en) | 2021-04-09 | 2023-05-23 | Tekion Corp | Selective offloading of bandwidth to enable large-scale data indexing |
CN117596176B (en) * | 2024-01-17 | 2024-04-19 | 苏州元脑智能科技有限公司 | Network state measuring method, device, equipment and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011118427A1 (en) * | 2010-03-24 | 2011-09-29 | 日本電気株式会社 | Query device, query division method, and program for query division |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1143349A1 (en) * | 2000-04-07 | 2001-10-10 | IconParc GmbH | Method and apparatus for generating index data for search engines |
US7716168B2 (en) * | 2005-06-29 | 2010-05-11 | Microsoft Corporation | Modifying table definitions within a database application |
US7457910B2 (en) * | 2005-06-29 | 2008-11-25 | Sandisk Corproation | Method and system for managing partitions in a storage device |
US8341345B2 (en) * | 2005-08-08 | 2012-12-25 | International Business Machines Corporation | System and method for providing content based anticipative storage management |
US7668825B2 (en) * | 2005-08-26 | 2010-02-23 | Convera Corporation | Search system and method |
JP4772569B2 (en) * | 2006-04-07 | 2011-09-14 | 株式会社日立製作所 | System and method for performing directory unit migration in a common namespace |
US8214345B2 (en) * | 2006-10-05 | 2012-07-03 | International Business Machines Corporation | Custom constraints for faceted exploration |
CN101523391A (en) * | 2006-10-06 | 2009-09-02 | 日本电气株式会社 | Information search system, information search method, and program |
US8341210B1 (en) * | 2007-05-21 | 2012-12-25 | Amazon Technologies, Inc. | Delivery of items for consumption by a user device |
US7788233B1 (en) * | 2007-07-05 | 2010-08-31 | Amazon Technologies, Inc. | Data store replication for entity based partition |
US20100011368A1 (en) * | 2008-07-09 | 2010-01-14 | Hiroshi Arakawa | Methods, systems and programs for partitioned storage resources and services in dynamically reorganized storage platforms |
JP4762289B2 (en) * | 2008-10-01 | 2011-08-31 | 株式会社日立製作所 | A storage system that controls allocation of storage areas to virtual volumes that store specific pattern data |
US9996572B2 (en) * | 2008-10-24 | 2018-06-12 | Microsoft Technology Licensing, Llc | Partition management in a partitioned, scalable, and available structured storage |
CN102405460B (en) * | 2009-02-11 | 2016-05-04 | 艾梵尼达有限公司 | Virtual storage system and operation method thereof |
US8250026B2 (en) * | 2009-03-06 | 2012-08-21 | Peoplechart Corporation | Combining medical information captured in structured and unstructured data formats for use or display in a user application, interface, or view |
US20110131202A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Exploration of item consumption by customers |
US8930332B2 (en) | 2010-03-12 | 2015-01-06 | Salesforce.Com, Inc. | Method and system for partitioning search indexes |
US8190593B1 (en) * | 2010-04-14 | 2012-05-29 | A9.Com, Inc. | Dynamic request throttling |
CN102959522B (en) * | 2010-08-10 | 2016-01-13 | 株式会社日立制作所 | The management method of computer system and management system |
WO2012072879A1 (en) * | 2010-11-30 | 2012-06-07 | Nokia Corporation | Method and apparatus for updating a partitioned index |
US8495331B2 (en) * | 2010-12-22 | 2013-07-23 | Hitachi, Ltd. | Storage apparatus and storage management method for storing entries in management tables |
US8620897B2 (en) * | 2011-03-11 | 2013-12-31 | Microsoft Corporation | Indexing and searching features including using reusable index fields |
-
2013
- 2013-10-12 KR KR1020157012030A patent/KR101737246B1/en not_active Expired - Fee Related
- 2013-10-12 EP EP13845541.5A patent/EP2907034A4/en not_active Withdrawn
- 2013-10-12 AU AU2013328901A patent/AU2013328901B2/en not_active Ceased
- 2013-10-12 WO PCT/US2013/064731 patent/WO2014059394A1/en active Application Filing
- 2013-10-12 KR KR1020177012552A patent/KR101782302B1/en not_active Expired - Fee Related
- 2013-10-12 BR BR112015008146A patent/BR112015008146A2/en not_active Application Discontinuation
- 2013-10-12 SG SG11201502828PA patent/SG11201502828PA/en unknown
- 2013-10-12 CN CN201811424497.4A patent/CN110096502A/en active Pending
- 2013-10-12 CA CA2888116A patent/CA2888116C/en active Active
- 2013-10-12 CN CN201380053433.7A patent/CN104823169B/en active Active
- 2013-10-12 IN IN3160DEN2015 patent/IN2015DN03160A/en unknown
- 2013-10-12 JP JP2015536973A patent/JP2015532493A/en active Pending
- 2013-10-12 SG SG10201606363SA patent/SG10201606363SA/en unknown
-
2016
- 2016-09-20 AU AU2016231488A patent/AU2016231488B2/en not_active Ceased
- 2016-10-28 JP JP2016211567A patent/JP6339155B2/en not_active Expired - Fee Related
-
2017
- 2017-10-12 AU AU2017245374A patent/AU2017245374B2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011118427A1 (en) * | 2010-03-24 | 2011-09-29 | 日本電気株式会社 | Query device, query division method, and program for query division |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289603B2 (en) | 2012-10-12 | 2019-05-14 | Amazon Technologies, Inc. | Dynamic search partitioning |
Also Published As
Publication number | Publication date |
---|---|
KR101782302B1 (en) | 2017-09-26 |
KR20170054579A (en) | 2017-05-17 |
JP2015532493A (en) | 2015-11-09 |
JP6339155B2 (en) | 2018-06-06 |
KR20150066575A (en) | 2015-06-16 |
JP2017050012A (en) | 2017-03-09 |
AU2016231488B2 (en) | 2017-09-21 |
AU2017245374A1 (en) | 2018-01-18 |
WO2014059394A1 (en) | 2014-04-17 |
CN104823169B (en) | 2018-12-21 |
AU2017245374B2 (en) | 2018-08-09 |
CA2888116C (en) | 2018-03-27 |
CA2888116A1 (en) | 2014-04-17 |
BR112015008146A2 (en) | 2017-07-04 |
CN104823169A (en) | 2015-08-05 |
SG10201606363SA (en) | 2016-09-29 |
CN110096502A (en) | 2019-08-06 |
EP2907034A1 (en) | 2015-08-19 |
IN2015DN03160A (en) | 2015-10-02 |
SG11201502828PA (en) | 2015-05-28 |
AU2016231488A1 (en) | 2016-10-06 |
AU2013328901A1 (en) | 2015-05-14 |
AU2013328901B2 (en) | 2016-07-28 |
EP2907034A4 (en) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101737246B1 (en) | Index configuration for searchable data in network | |
US11595477B2 (en) | Cloud storage methods and systems | |
US11893703B1 (en) | Precise manipulation of virtual object position in an extended reality environment | |
US9411839B2 (en) | Index configuration for searchable data in network | |
US9507750B2 (en) | Dynamic search partitioning | |
US10909772B2 (en) | Precise scaling of virtual objects in an extended reality environment | |
KR102626764B1 (en) | Interactive Information Interface | |
US10848434B2 (en) | Performance management for query processing | |
KR20190036834A (en) | APPARATUS AND METHOD FOR PROVIDING MASH-UP SERVICE OF SaaS APPLICATIONS | |
CN117493178A (en) | Method and device for restoring operation scene, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20150507 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160322 Patent event code: PE09021S01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160927 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170330 |
|
A107 | Divisional application of patent | ||
PA0104 | Divisional application for international application |
Comment text: Divisional Application for International Patent Patent event code: PA01041R01D Patent event date: 20170510 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170511 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170511 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210430 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220428 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230426 Start annual number: 7 End annual number: 7 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20250222 |