Listing posts

Title Content Last updated
Groonga 5.1.2 has been released Groonga 5.1.2 has been released Groonga 5.1.2 has been released! How to install: Install Changes Here are important changes in this release: Improved performance for sequential scan search. It'll be a few times faster. Added configuration feature. You can set/get configuration items per database. They are persistent. Added alias feature. It'll be useful for schema management. Fixed and improved mruby. Now, mruby is enough stable for use cases by Groonga. Performance improvements In the previous release, sequential search of regular expression match performance was improved. In this release, more conditions such as constant (true, 29 and so on) and binary operation (COLUMN == 29, COLUMN > 29 and so on) are supported. These sequential search improvements will make Groonga a few times faster. In the future release, query planner will be improved. The current query planner uses all available indexes. But some queries can be executed faster by using sequential scan instead of index search. The current query planner will use both indexes and sequential scan in the future. Configuration You can manage configuration items per database. Configuration items are persistent. You can use them after Groonga restarts. Here are commands to manage configuration items: config_set config_get config_delete Alias Alias adds other name to an existing object (table, column, function, command and so on). It means that you can refer the same object by multiple names. It's useful to change schema without downtime. It's also useful to provide backward compatibility. See the above document for details. mruby Groonga started embedding mruby about 2 years ago. Groonga increases mruby use cases such as command line tool grndb and sharding. Groonga project feeds back to mruby when Groonga project finds problems of mruby. mruby accepts all bug fixes and improvements by Groonga project. Now, mruby is enough stable for use cases by Groonga. In the near future, Groonga project will mark mruby as required module and use mruby for more situations. Conclusion See Release 5.1.2 2016-01-29 about detailed changes since 5.1.1. Let's search by Groonga! over 3 years ago
PGroonga 1.0.1 has been released PGroonga 1.0.1 has been released PGroonga (píːzí:lúnɡά) 1.0.1 has been released! See PGroonga 1.0.0 release announce about PGroonga. Changes Here are changes since 1.0.0: Supported 'none' as a none value for tokenizer and normalizer. (e.g.: tokenizer='none') If you specify a none value to tokenizer and/or normalizer, you can disable tokenizer and/or normalizer. See also: CREATE INDEX USING pgroonga Supported CREATE DATABASE TABLESPACE. You can change directory used for saving related files per database. Fixed a bug that sequential scan doesn't work for regular expression search. How to upgrade This version is compatible with 1.0.0. Upgrade by steps in "Compatible case" in Upgrade document. Conclusion New PGroonga version has been released. Try PGroonga when you want to perform fast full text search against all languages on PostgreSQL! over 3 years ago
Order cheap vrdnfil no prescription indian generic levitra http://levitragtr.com - levitra 20 mg price propecia levitra soft tabs online <a href="http://levitragtr.com">levitra 20 mg how long does it last </a> - order levitra soft visit your doctor online levitra uk cheap about 1 year ago
Comprehensive Communication Approximately this goods <a href="http://viagragenerique100.com/">viagra sans ordonnance</a>, <a href="http://sansordonnanceviagra.com/">viagra sans ordonnance en pharmacie</a>, <a href="http://viagraprecioes.com/">comprar viagra</a>, <a href="http://noscriptcanadapharmacy.com/ ">canadian online pharmacy</a> over 3 years ago
PGroonga 1.0.0 has been released PGroonga 1.0.0 has been released PGroonga (píːzí:lúnɡά) 1.0.0 has been released! It's the first major release! About PGroonga PGroonga is a PostgreSQL extension that makes PostgreSQL fast full text search platform for all languages! There are some PostgreSQL extensions that improves full text search feature of PostgreSQL such as pg_trgm and pg_bigm. pg_trgm doesn't support languages that use non-alphanumerics characters such as Japanese and Chinese. pg_bigm supports languages that use non-alphanumerics characters but it's slow. PGroonga supports all languages, provides rich full text search related features and is very fast. Because PGroonga uses Groonga that is a full-fledged full text search engine as backend. For example, PGroonga is a few times faster than pg_bigm. In some cases, PGroonga is 10 times over faster than pg_bigm. Here are benchmark results between PGroonga and pg_bigm. They use Japanese Wikipedia data. Here is a benchmark result for creating an index: Extension Index creation time PGroonga 25m 37s pg_bigm 5h 56m 15s In this case, PGroonga is about 14 times faster than pg_bigm. Here is a benchmark result for full text search: Search keywords N hits PGroonga pg_bigm "PostgreSQL" or "MySQL" 368 0.030s 0.107s データベース (database in Japanese) 17172 0.121s 1.224s テレビアニメ (TV animation in Japanese) 22885 0.179s 2.472s 日本 (Japan in Japanese) 625792 0.646s 0.556s In "日本" (Japan in Japanese) case, pg_bigm is a bit faster(*) than PGroonga. But PGroonga is 3 times to 14 times faster than pg_bigm in other cases. The result shows that PGroonga can perform stable high performance fast full text search against all keywords. (*) pg_bigm can perform faster full text search against keywords that have 2 or less characters rather than keywords that have 3 or more characters. PGroonga provides the following features that aren't provided by other extensions: Normalize feature Custom tokenizer feature Snippet feature Normalize feature is a feature that converts different notation texts to unified notation text. For simple example, both "ABC" and "abc" are converted to "abc". For more complex example, both "ポスグレ" (HALFWIDTH KATAKANA) and "ポスグレ" (FULLWIDTH KATAKANA) are converted to "ポスグレ" (FULLWIDTH KATAKANA). ("ポスグレ" is an abbreviation of PostgreSQL in Japanese.) This normalization is based on Unicode NFKC. Custom tokenizer feature is a feature that customizes search keyword extraction process (tokenization). If you can custom tokenization, you can control trade-off between search precision and search performance. For example, if you use "tokenizer that is based of morphological analyzer", you can get better search precision and search performance but may not find some texts. FYI: There is no other extension that supports morphological analyzer based tokenizer. PGroonga is the only extension that supports it. Snippet feature is a feature that shows texts around keyword. It's used by Web search engine. Google also uses it. You can find it under page title in hit page list. PGroonga provides a function that implements it. There are more features: Query language that uses Web search engine like syntax JSON search You can use each value for condition. You can also perform full text search against all texts in JSON. No other extension such as JsQuery doesn't provide full text search feature against JSON. Here are features that will be implemented in the feature. They are already implemented in Groonga. Query expansion feature Weight feature Stemming feature Usage You can use PGroonga without full text search knowledge. You just create an index and puts a condition into WHERE: CREATE INDEX index_name ON table USING pgroonga (column); SELECT * FROM table WHERE column @@ 'PostgreSQL'; You can also use LIKE to use PGroonga. PGroonga provides a feature that performs LIKE with index. LIKE with PGroonga index is faster than LIKE without index. It means that you can improve performance without changing your application that uses the following SQL: SELECT * FROM table WHERE column LIKE '%PostgreSQL%'; Are you interested in PGroonga? Please install and try tutorial. You can know all PGroonga features. You can install PGroonga easily. Because PGroonga provides packages for major platforms. There are binaries for Windows. Conclusion New PGroonga version has been released. PGroonga is a PostgreSQL extension that makes PostgreSQL fast full text search platform for all languages. It's the first major release. If you want to use fast full text search for all langauges on PostgreSQL, try PGroonga! over 3 years ago
Groonga 5.0.9 has been released Groonga 5.0.9 has been released Groonga 5.0.9 has been released! How to install: Install We recommend you to upgrade to 5.0.9 when you match the following conditions: You are a Groonga 5.0.3-5.0.8 user. You use patricia trie (TABLE_PAT_KEY) for table. You delete one or more records in table that uses patricia trie. Changes Here are changes in this release: Fixed patricia trie related bugs. Added C APIs. [experimental] Added expression rewrite mechanism. [experimental] Added database global configuration mechanism. Added schema command. Bundled grn_ts by default. Conclusion See Release 5.0.9 2015-10-29 about detailed changes since 5.0.8. Let's search by Groonga! over 3 years ago
Groonga 5.0.8 has been released Groonga 5.0.8 has been released Groonga 5.0.8 has been released! How to install: Install Changes Important fix for the future releases Supported columns for temporary table Performance improvements Supported HTTP/2 by groonga-httpd Incompatible changes Changed to normalize regular expression match target text before matching Note that this release has an incompatible change about regular expression handling. See following the section if you use regular expression in query and use capital letter for it. Please feel free to ask us on mailing list or GitHub Issues if you have any questions. Supported columns for temporary table In this release, columns for temporary table is supported. This feature is not practically used in Groonga yet, but it is significant for the future release of Groonga. There are some merit which may be introduced in the future release: select command supports alias in the value of output_columns. It is similar to AS alias_name in SQL select command supports sortby or drilldown by pre-filtered value dynamically For example, you can drilldown by pre-filtered value such as day of week instead of the value of Time column. This feature is also important for wrapper mode in Mroonga because it can support transaction correctly without breaking indexes by using temporary table when rollback is executed. Supported HTTP/2 by groonga-httpd Groonga provides two HTTP server functionality. One is HTTP server implementation for Groonga by itself, The other is implemented as nginx module. The latter supported HTTP/2 now. In this release, the version of bundled nginx is updated to 1.9.5. As a result, groonga-httpd has supported HTTP/2 because groonga-httpd uses it internally. Change the configuration file such as groonga-httpd.conf to enable this feature: http { server { # listen 10041; listen 10041 http2; # ... } } By this feature, reducing the amount of traffic and improving the throughput are expected. Changed to normalize regular expression match target text before matching In this release, regular expression match target text is changed to normalize before matching. This change is introduced two point of views. For consistency This change is introduced for consistency because other operators in Groonga normalize match target text before matching. It aims not to confuse Groonga user about such difference. For performance By normalizing match target text before matching makes process of regular expression simple. If target text isn't normalized, you need to use complex regular expressions such as \A[Hh]ello and \A(?i)hello. Complex regular expressions can't be evaluated by index. If target text is normalized, you can use simple regular expressions. They may be evaluated by index. It's fast. Conclusion See Release 5.0.8 2015-09-29 about detailed changes since 5.0.7. Let's search by Groonga! over 3 years ago
Form miserly pills no instruction treatment for ed http://cialis-walmart.net - cialis over the counter at walmart cialis 5mg canada website <a href="http://cialis-walmart.net">cialis over the counter at walmart </a> - cialis 10mg or 20mg memberlist approval cialis about 2 years ago
ThomasNopDW <a href=http://lasixandweightloss.com/>lasix and weight loss </a> over 3 years ago
wall. He clutched the dagger with both hands to hold it steady. The wight did not seem to that was a lie as well. Something else would please me more.” He stepped closer. “This.” http://comeonses.ru/req_10160.html “If she stays at Deepwood Motte that’s all she can hope to hold,” said Robb. “What’s over 3 years ago
Hello outer world It has only 1600 time century insurers and is serviced subsequently by neurontin cells. Bonus Pills We Added <a href=" http://www.dealershiptracking.com/wp-content/plugins/wps/buy-neurontin-online/ ">purchase Neurontin</a> neurontin non prescription fedex overnight free Check Our Prices. about 3 years ago
Connection, how can we be in contact? The U.S. Eats and Opiate Administrations (FDA) Bad feelings of Opiate Tidings (CDER) evaluates and reviews OTC ingredients and labels. An <a href="http://medicationsoverthecounter.com/">over the counter viagra</a> go is established allot in requital for each principality of product. The test contains satisfying ingredients, doses, formulations, and labeling. about 3 years ago
qarysljh loans <a href="https://quickloans.cars">a loan with bad credit</a> online loans for bad credit <a href=https://quickloans.cars>loan with bad credit</a> over 1 year ago
pgwcakxn payday loans for bad credit <a href="https://quickloans.cars">loans</a> direct loan consolidation <a href=https://quickloans.cars>installment loans no credit check same day</a> over 1 year ago
doqvysao bad credit loans <a href="https://quickloans.cars">loans</a> loans <a href=https://quickloans.cars>loans</a> over 1 year ago
Groonga 5.0.7 has been released Groonga 5.0.7 has been released Groonga 5.0.7 has been released! How to install: Install Changes Important bug fix Fixed a bug about offline index construction Experimental improvements [windows] Supported sparse file Please examine update your Groonga if there is an item that you use index column with WITH_SECTION flag and use offline index construction. We recommends to upgrade Groonga in such a case. Please feel free to ask us on mailing list or GitHub Issues if you have any questions. Fixed a bug about offline index construction In this release, a bug about offline index construction is fixed. If you're using BOTH of them: Any multiple column index (index column with WITH_SECTION flag) Offline index construction We recommend that you upgrade your Groonga because above bug causes the following unexpected behavior: Hit the records that it does not want to match Don't hit the records that it must be match To fix the issue, after upgrading Groonga, just re-create indexes. You need not to dump&restore operation in this case. Sparse file is supported on Windows In this release, experimentally sparse file is supported. This feature is disabled by default because it is not widely tested yet. You can enable it explicitly by specifying GRN_IO_USE_SPARSE=yes environment variable. It is aimed to reduce database file size which actually occupies on Windows. It is expected to be improved disk usage by this feature, but there are some concerns about following point of views. Performance (Improved? Degraded? No difference?) Memory usage (Especially virtual memory usage) If above concerns are solved, this feature is enabled by default on Windows. Conclusion See Release 5.0.7 2015-08-31 about detailed changes since 5.0.6. Let's search by Groonga! over 3 years ago
Groonga 5.0.6 has been released Groonga 5.0.6 has been released Groonga 5.0.6 has been released! How to install: Install Changes There are many updates of the packages and plugins in this month. Please examine update your Groonga if there is an item that you use in tags at start with an line in News. Please feel free to ask us on mailing list or GitHub Issues if you have any questions. In this release, there is following the topics: Dropped Ubuntu 14.10 Utopic support Improved related vector column Updated sharding plugins (including backword compatible) Dropped Ubuntu 14.10 Utopic support Ubuntu 14.10 (Utopic Unicorn) had been reached End of Life (EOL) on July 23, 2015. Thus, we decide to end of support for Ubuntu 14.10. Groonga PPA for Ubuntu 14.10 will no longer update. Previous version (5.0.5) is the final version of support Ubuntu Utopic. We recommend to upgrade to newer version (such as 15.04). Improved related vector column Vector column became more easy to use. For example, reference vector column supports offline index construction, and becomes possible to search --filter argument with @ operator for select command. See News and the following references for details. 7.17. Indexing — Groonga v5.0.6 documentation 7.3.37. select — Groonga v5.0.6 documentation Updated sharding plugins (including backword compatible) Groonga has sharding plugin but it's experimental. The plugin related features are updated in this month. See News and the following references for details. 7.3.22. logical_count — Groonga v5.0.6 documentation 7.3.25. logical_select — Groonga v5.0.6 documentation 9. Limitations — Groonga v5.0.6 documentation And, sharding plugin is written by mruby. Groonga has the API for to write plugins by mruby, also the API is updated in this month. Conclusion See Release 5.0.6 2015-07-29 about detailed changes since 5.0.5. Let's search by Groonga! over 3 years ago
Come into possession of cheap vardenfil no instruction ordering levitra in the uk http://levitragls.com - levitra 20 mg levitra 10mg cost sort by <a href="http://levitragls.com">levitra 20 mg</a> - levitra reviews patients welcome guest. please login or register levitra 10mg how long does it last forum software about 1 year ago
Groonga 5.0.4 has been released Groonga 5.0.4 has been released Groonga 5.0.4 has been released! How to install: Install Changes In this release, there is following the topics: Fixed crash bug which is caused by double free Supported to search by 2 or less character even though TokenTrigram is used If you are using TokenRegexp, you need to re-create the index Fixed crash bug which is caused by double free If Groonga database is accessed from multiple process or multiple threads, and when these process or threads update or refer to indexes, Groonga suddenly crashes by double free memory. In this release, above bug is fixed. Upgrade to this new release to avoid Groonga crash bug. Supported to search by 2 or less character even though TokenTrigram In the previous versions, there is a well known case that you can search by one character even though you use TokenBigram because Groonga specially supports it. But there was the issue that you can not search token which is less than 3 characters if TokenTrigram is used. In this release, Groonga resolves above issue. You can search by token which is 2 or less character even though TokenTrigram is used. If you are using TokenRegexp, you need to re-create the index Fixed a bug that it can't be searched correctly when query contains characters which are treated as blank character. For example, the newline - "\n" is typical one. If you are using TokenRegexp, you need to re-create the index. Conclusion See Release 5.0.4 2015-05-29 about detailed changes since 5.0.3. Let's search by Groonga! over 3 years ago
More tidings just about this conclusion Do not get cracking after engaging <a href="http://www.viagrawithoutdoctorprescription.net/#viagra-with-no-prescription-rroonga-blog.herokuapp.com">viagra without a doctor prescription</a>. Old men need to be kicker careful. <a href="http://rxsildenafilcanada.com/#discount-generic-viagra-online-rroonga-blog.herokuapp.com">generic viagra</a> is a finical direction throughout them to stick the <a href="http://noscriptcanadapharmacy.com/#canada-pharmacy-rroonga-blog.herokuapp.com">canadian online pharmacy</a> only if they secure approbation from their healthcare professional. The portion of <a href="http://viagrawithoutadoctorprescriptionus.net/#viagra-without-a-doctor-prescription-rroonga-blog.herokuapp.com">viagra without a doctor prescription</a> should not mens viagra tablets be adjusted on own. about 3 years ago
Form cheap sildnafil no prescription viagra without prescription http://viagra-withoutdoctorprescription.net - viagra without a doctor prescription viagra generic canada <a href="http://viagra-withoutdoctorprescription.net">viagra without a doctor prescription</a> - viagra best vendita viagra generico over 3 years ago
Procure cheap generics no recipe cialis online cheap total posts http://pharmshop-online.com - generic cialis cialis 20mg review who is online <a href="http://pharmshop-online.com">generic cialis</a> - cialis 20mg review joined cialis online usa total thanks almost 3 years ago
is cheap viagra safe bumdoor190289viagra.com http://bumdoor190289viagra.com/ buy cheapest kamagra uk about 1 year ago
are not hers to kiss. Not hers! I was teaching her a lesson, that was all.” who cut his throat?” http://frimoos.ru/rom_12036.html Bold,” Jaime snapped. “I learned from Ser Arthur Dayne, the Sword of the Morning, who over 3 years ago
Droonga 1.1.0 has been released Droonga 1.1.0 has been released Today we've released Droonga 1.1.0. Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". The most important topic on this release is true hot-add of replica nodes. It was one of long-planned features of Droonga, but we've got it. Now you can add new replica nodes to your Droonga cluster without any downtime, even if you don't stop crawling/adding new data! Now Droonga is under development continuously. Please try Droonga and join us to accelerate the development! over 3 years ago
Groonga 5.0.2 has been released Groonga 5.0.2 has been released Groonga 5.0.2 has been released. It's a bug fix release of 5.0.1. How to install: Install Changes Supported MessagePack 1.0.1. It fixes the build error on Homebrew. Fixed a regression bug that JSONP doesn't work. It was introduced in Groonga 4.1.1. Groonga Admin doesn't work by the bug. [windows] Fixed a bug that crash on x86 for Groonga 5.0.1. Fixed a crash bug that libedit is not properly initialized. The problem is fixed in the environment such as CentOS 7. Conclusion See Release 5.0.2 2015-03-31 about detailed changes since 5.0.1. We welcome your feedback by Groonga-talk or GitHub issues. over 3 years ago
Groonga 5.0.1 has been released Groonga 5.0.1 has been released Groonga 5.0.1 has been released! How to install: Install Changes In this release, there is following the topics: Incompatible changes The two incompatible changes for DB API users Improvements Supported to customize score function [windows] Supported more compact default database size on Windows Experimental improvements Supported regular expression Supported to skip posting list Incompatible changes - The two incompatible changes for DB API users In this release, Internal type of _score was changed from 32bit integer number to floating point number. This is incompatible change for DB API users. This isn't incompatible change for query API users. It means that users who just use select command aren't affected. Use the following code that works with both older and newer Groonga: grn_obj *score; double score_value; if (score->header.domain == GRN_DB_FLOAT) { score_value = GRN_FLOAT_VALUE(score); } else { score_value = (double)GRN_INT32_VALUE_FLOAT_VALUE(score); } Also, custom score function feature introduced API and ABI incompatibilities in DB API layer. If you're using grn_search_optarg, please check that your code initializes your grn_search_optarg by 0 like the following: grn_search_optarg options; memset(&options, 0, sizeof(grn_search_optarg)); If your code do the above thing, your code is API compatible and ABI incompatible. You just need to rebuild your code without modification. If your code doesn't the above thing, you need to added the above thing to your code. Improvements - Supported to customize score function In this release, customizing score function feature is supported. There are two built-in score functions. scorer_tf_idf The frequency of "important term" is important for the score scorer_tf_at_most The matched count is important, but it doesn't exceed the limit Groonga use the value of TF (Term Frequency) by default. For example, try to search against multiple columns - title column and message column. Usually, the content of title column represents summary of message column. It is reasonable to give title column the weight. As a result, you can search more important records easily. Note that there is a case that the score of title column with weight is less than matched message column. It is not intended search results. If you use scorer_tf_at_most score function, you can limit the value of score to specific value even though too many records are matched. See following the scorer document. Improvements - [windows] Supported more compact default database size on Windows In this release, more compact default database size on Windows is enabled by default. In the previous versions, Groonga uses more larger default database size (128MiB) on Windows. The size of database increases every you create new column. It is not efficient, now Groonga supports to expand database size gradually as same as other GNU/Linux environment. This feature is introduced since Groonga 4.1.1, but not enabled by default because it is experimental feature at that time. Thank you for Groonga users which gives us feedback of above feature! Experimental improvements - Supported regular expression In this release, Groonga supports regular expression. You can use regular expression in select command with query option or filter option. Note that syntax is a bit different. query: ${COLUMN}:~${REGULAR_EXPRESSION} filter: ${COLUMN} @~ ${REGULAR_EXPRESSION} The difference between ":~" and "@~" is come from design of Groonga. "query" accepts query syntax, on the other hand, "filter" accepts script syntax. "filter" is designed for processing more complex search conditions. You can search by regular expression with index. Create indexes which meets following the conditions: Lexicon must be TABLE_PAT_KEY table. Lexicon must use TokenRegexp tokenizer. Index column must has WITH_POSITION flag. Thus, create following the column index. table_create RegexpLexicon TABLE_PAT_KEY ShortText \ --default_tokenizer TokenRegexp \ --normalizer NormalizerAuto column_create RegexpLexicon logs_message_index \ COLUMN_INDEX|WITH_POSITION Logs message Then, you can search with regular expression by using index for message column. See following the document about regular expression. Experimental improvements - Supported to skip posting list In this release, Groonga supports to skip posting list when searching popular term and rare term at the same time. It will improve performance. Set GRN_II_CURSOR_SET_MIN_ENABLE environment variable to 1 to enable the feature. GRN_II_CURSOR_SET_MIN_ENABLE=1 The feature is disabled by default because it is experimental feature. Conclusion See Release 5.0.1 2015-03-29 about detailed changes since 5.0.0. Let's search by Groonga! over 3 years ago
Groonga 5.0.0 has been released Groonga 5.0.0 has been released Groonga 5.0.0 has been released! How to install: Install Since Groonga 4.0.0 had been released, many improvements, changes, or bug fixes was shipped. Changes In this release, there is following topic: Experimental improvements Supported plugin which enable sharding feature Experimental improvement - Supported plugin which enable sharding feature In this release, we added plugin which supports experimental sharding feature. Register this plugin in advance. $ groonga testdb/db > register sharding Here is the simple example which shows how to use this feature. Let's consider to count specified logs which are stored into multiple tables. Here is the schema and data. table_create Logs_20150203 TABLE_NO_KEY column_create Logs_20150203 timestamp COLUMN_SCALAR Time column_create Logs_20150203 message COLUMN_SCALAR Text table_create Logs_20150204 TABLE_NO_KEY column_create Logs_20150204 timestamp COLUMN_SCALAR Time column_create Logs_20150204 message COLUMN_SCALAR Text table_create Logs_20150205 TABLE_NO_KEY column_create Logs_20150205 timestamp COLUMN_SCALAR Time column_create Logs_20150205 message COLUMN_SCALAR Text load --table Logs_20150203 [ {"timestamp": "2015-02-03 23:59:58", "message": "Start"}, {"timestamp": "2015-02-03 23:59:58", "message": "Shutdown"}, {"timestamp": "2015-02-03 23:59:59", "message": "Start"}, {"timestamp": "2015-02-03 23:59:59", "message": "Shutdown"} ] load --table Logs_20150204 [ {"timestamp": "2015-02-04 00:00:00", "message": "Start"}, {"timestamp": "2015-02-04 00:00:00", "message": "Shutdown"}, {"timestamp": "2015-02-04 00:00:01", "message": "Start"}, {"timestamp": "2015-02-04 00:00:01", "message": "Shutdown"}, {"timestamp": "2015-02-04 23:59:59", "message": "Start"}, {"timestamp": "2015-02-04 23:59:59", "message": "Shutdown"} ] load --table Logs_20150205 [ {"timestamp": "2015-02-05 00:00:00", "message": "Start"}, {"timestamp": "2015-02-05 00:00:00", "message": "Shutdown"}, {"timestamp": "2015-02-05 00:00:01", "message": "Start"}, {"timestamp": "2015-02-05 00:00:01", "message": "Shutdown"} ] There are three tables which are mapped each day from 2015 Feb 03 to 2015 Feb 05. Logs_20150203 Logs_20150204 Logs_20150205 Then, it loads data into each table which correspond to. Let's count logs which contains "Shutdown" in timestamp column and the value of timestamp is "2015-02-04 00:00:00" or later. Here is the query to achieve above purpose. logical_count Logs timestamp \ --filter 'message == "Shutdown"' \ --min "2015-02-04 00:00:00" \ --min_border "include" Pros. You don't need to consider limitation of table. There is a limitation about the number of records. By sharding feature, you can overcome such limitations. Cons. You need to create each table and load to it explicitly There is no convenient query such as PARTITIONING BY in SQL. Thus, you must create table by table_create for each tables which contains _YYYYMMDD postfix in table name. And more, you must load data into proper table carefully. Conclusion See Release 5.0.0 2015-02-09 about detailed changes since 4.1.1. Let's search by Groonga! over 3 years ago
Groonga 4.1.1 has been released Groonga 4.1.1 has been released Groonga 4.1.1 has been released! How to install: Install Changes In this release, there are following topics: Improvements Supported drilldown with sum up feature Supported groonga-httpd with stream dump processing Experimental improvements Supported more compact default database size on Windows Supported Groonga with jemalloc to improve performance in multi-threaded usage Improvement - Supported drilldown with sum up feature In this release, drilldown is extended. This section describes about only drilldown with named label usage. It supports drilldown with SUM, MIN, MAX or AVG by each group. See calc_types about detail of each operator. Try to pass following parameter to select command: --drilldown[${LABEL}].calc_types=(SUM,MIN,MAX or AVG) \ --drilldown[${LABEL}].calc_target=(COLUMN) Here is the simple example which use MAX. table_create Tags TABLE_PAT_KEY ShortText table_create Memos TABLE_HASH_KEY ShortText column_create Memos tag COLUMN_SCALAR Tags column_create Memos priority COLUMN_SCALAR Int64 load --table Memos [ {"_key": "Groonga1", "tag": "Groonga", "priority": 10}, {"_key": "Groonga2", "tag": "Groonga", "priority": 20}, {"_key": "Groonga3", "tag": "Groonga", "priority": 40}, {"_key": "Mroonga1", "tag": "Mroonga", "priority": 50}, {"_key": "Mroonga2", "tag": "Mroonga", "priority": 25}, {"_key": "Mroonga3", "tag": "Mroonga", "priority": 10}, {"_key": "Rroonga1", "tag": "Rroonga", "priority": 25}, {"_key": "Rroonga2", "tag": "Rroonga", "priority": -25}, {"_key": "Rroonga3", "tag": "Rroonga", "priority": 0} ] select Memos \ --limit 0 \ --drilldown[tag].keys tag \ --drilldown[tag].calc_types MAX \ --drilldown[tag].calc_target priority \ --drilldown[tag].output_columns _key,_max Here is the drilldown results. { "tag": [ [ 3 ], [ [ "_key", "ShortText" ], [ "_max", "Int64" ] ], [ "Groonga", 40 ], [ "Mroonga", 50 ], [ "Rroonga", 25 ] ] } The data is grouped by tag, there are three groups - "Groonga", "Mroonga" and "Rroonga". Each result contains the max value in group. Note that calculated value is accessed by pseudo columns such as _max and _min in output_columns. If you want to get not only max value, but also min value, specify multiple types for calc_types. Here is the example which gets max value and min value: --drilldown[tag].calc_types MAX,MIN Don't forget to specify pseudo column name "_min". --drilldown[tag].output_columns _key,_max,_min Then, you can get max value and min value in each group. See document about calc_types details. Supported groonga-httpd with stream dump processing In this release, groonga-httpd supported dump command with stream processing. By this change, it will not happen to exhaust memory by executing dump command. Experimental improvement - Supported more compact default database size on Windows In this release, more compact default database size on Windows is supported. In the previous versions, Groonga uses more larger default database size (128MiB) on Windows. The size of database increases every you create new column. It is not efficient, now Groonga supports to expand database size gradually as same as other GNU/Linux environment. To enable this feature, set GRN_IO_VERSION=1 as environment variable. By default, it is not enable because it is in experimental stage. Please give us feedback how it improves disk usage. It is important to enable by default. Experimental improvement - Supported Groonga with jemalloc to improve performance in multi-threaded usage In this release, you can build Groonga with jemalloc support. This change will improve multi-threaded performance. jemalloc support is suitable for groonga command or Mroonga because they are adobt multi-threaded model. Note that it is no impact to groonga-httpd because it use multi-process model. If you dislike to build Groonga on your own, try LD_PRELOAD environment variable. Here is the example command: LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1 groonga Please give us feedback how it affects performance. Conclusion See Release 4.1.1 2015-01-29 about detailed changes since 4.1.0. Let's search by Groonga! over 3 years ago
Groonga 4.1.0 has been released (Groonga 4.0.9 users should upgrade) Groonga 4.1.0 has been released Groonga 4.1.0 has been released. It's a bug fix release of Groonga 4.0.9. Groonga 4.0.9 has a serious bug that may break index. If you have already upgraded to 4.0.9, please upgrade to 4.1.0. And re-create your all indexes. You can re-create your indexes by removing and re-creating your indexes such as: column_remove TABLE INDEX_COLUMN column_create TABLE INDEX_COLUMN COLUMN_INDEX|... See the following documents how to use these commands: column_remove column_create If you didn't change your indexes by Groonga 4.0.9, you don't need to re-create your indexes. "change" means "add", "remove" and "update". If you use your indexes only for "search" by Groonga 4.0.9, you don't need to re-create your indexes. If you know more information or have any question, please ask it on the mailing list or @groonga. We'll answer it. We're sorry for your inconvenient. 4.0.9 users, please upgrade your Groonga. over 3 years ago
Groonga 4.0.9 has been released Groonga 4.0.9 has been released Groonga 4.0.9 has been released! How to install: Install Changes In this release, there are following topics: Incompatible change Database permission is changed to 0644 from 0666 Improvements TokenFilterStem can work with MySQL compatible normalizers truncate command supports column clearlock command is renamed to lock_clear command Experimental improvements grndb executable file is added request_cancel command is added Bug fixes Fixed a crash bug when many indexed values are deleted There is a incompatible change. It will not cause any problems for many users but please check it before you upgrade Groonga. There is a bug fix for a crash bug. If you have a crash bug problem when you delete many records at once, please upgrade Groonga. groonga-httpd is marked as stable because some users reports that "it works well". Incompatible change - Database permission is changed to 0644 from 0666 Permission of newly create files is changed to 0644 (owner only writable) from 0666 (world writable) when umask is 0. If you use groonga command for Groonga server, you don't have no effect by the change. If you use groonga-httpd in daemon mode, you may have effect by the change. Database created by groonga-httpd can be writable only from owner. This change is incompatible change but it is done because it's related security. Improvement - TokenFilterStem can work with MySQL compatible normalizers TokenFilterStem supports a term that is normalized to upper case. By this change, MySQL compatible normalizers can be worked with ToeknFilterStem. Because MySQL compatible normalizers use upper case for normalization. Improvement - truncate command supports column You can use truncate command to truncate all values in column. Improvement - clearlock command is renamed to lock_clear command clearlock command is renamed to lock_clear command. clearlock command still works but it's deprecated. Use lock_clear for newly written code. Why do we change its name? It's consistency. Groonga's commands use #{CATEGORY}_#{OPERATION} naming rule. For example, table_create is a table category command and does create operation. Experimental improvement - grndb executable file is added grndb executable file manages Groonga database. grndb provides the following features: Checks whether database is broken or not Recovers broken database See grndb document f Experimental improvement - request_cancel command is added request_cancel command cancel a running request. request_cancel command has some limitations. See request_cancel document for details Bug fix - Fixed a crash bug when many indexed values are deleted If you have a crash bug problem when you delete many records at once, please upgrade Groonga. Conclusion See Release 4.0.9 2014-12-29 about detailed changes since 4.0.8. Let's search by Groonga! See you next year! over 3 years ago
Procure cheap tdlfl no recipe cialis vs cialis vs levitra reviews guestbook.php?pg= http://pharmashop-online.com - buy cialis online cialis .com <a href="http://pharmashop-online.com">generic cialis online </a> - safe ed drug compared to cialis cialis and levitra cialis find all posts by over 2 years ago
Groonga 4.0.8 has been released Groonga 4.0.8 has been released Groonga 4.0.8 has been released! How to install: Install Changes In this release, there are following topics: [experimental] Supported auto sequantial search mode for in_values and between [experimental] Supported drilldown by multiple keys [experimental] Supported range_filter command Default HTTP server package is changed to groonga-httpd Supported auto sequantial search mode for in_values and between In this release, auto sequantial search mode is supported for in_values and between. There is a case that sequential search is faster than index search when the number of narrowed down records is small enough in contrast to the number of expected records to narrow down by in_values with AND operation which use indexes. The value of GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO is used as threshold whether Groonga execute sequential search or search with indexes in such a case. This behavior is customized by following environment variable. in_values(): # Don't use auto sequential search GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=-1 # Set threshold to 0.02 GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=0.02 between(): # Don't use auto sequential search GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=-1 # Set threshold to 0.02 GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=0.02 Supported drilldown by multiple keys In this release, Groonga has supported drilldown by multiple keys. The syntax is extended to support this feature. for keys: --drilldown[LABEL1].keys COLUMN1,COLUMN2 for keys, for output_columns: --drilldown[LABEL1].output_columns _value.COLUMN1,_value.COLUMN2,_nsubrecs In the previous versions, a client application must implement by oneself for drilldown by multiple keys. Use _key[N] for --drilldown[LABEL1].output_columns to show original value of key in records. Note that this feature requires version 2 of command because it extends syntax. Don't forget to specify –command_version 2. Supported range_filter command In this release, range_filter command is added. It is faster than select command to fetch specific range of records in most cases, because it doesn't returns the number of matched records. There are limitations which doesn't support drilldown and so on, because it need to know the number of matched records. Thus, range_filter is suitable for extracting first N records in specific range for ranking or something else. Default HTTP server package is changed to groonga-httpd In this release, groonga-httpd became default HTTP server package. Groonga-server-http package is deprecated. Note that groonga HTTP server functionality itself is still exists in Groonga. If you just want to use simple HTTP server in traditional way, specify proper arguments by command line for groonga command. Here is the sample for simple HTTP server. % groonga -s --protocol http testdb/db Conclusion See Release 4.0.8 2014/11/29 about detailed changes since 4.0.7. Let's search by Groonga! over 3 years ago
arimidex anastrozole price anastrozole teva price [url=http://afuehmampq.com]Dymnalatd[/url] anastrozole and testosterone injections over 3 years ago
buy kamagra perth bumdoor190289viagra.com http://bumdoor190289viagra.com/ where can i buy furosemide online about 1 year ago
Droonga 1.0.8 has been released Droonga 1.0.8 has been released Today we've released Droonga 1.0.8 . Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". On this release, a front-end HTTP server works with multiple back-end Droonga Engine nodes. Even if some Engine nodes die, HTTP servers can work with remaining Engine nodes. Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
Droonga 1.0.7 has been released Droonga 1.0.7 has been released Today we've released Droonga 1.0.7 . Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". On this urgent release, a fatal issue in the service script is fixed. If you tried Droonga 1.0.6, always update them to 1.0.7 as described in the release entry. Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
Droonga 1.0.6 has been released Droonga 1.0.6 has been released Today we've released Droonga 1.0.6 . Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". On this release, new installation scripts are available. You can install components and register them as system services easily. Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
More perspicaciousness complete this theme Dealing with machineries after intake of <a href=" http://canadianedhealth.com/ ">viagra samples</a> give slant to numerous complications, so allowable is to avert them. It is inaccurate origination that <a href=" http://vardenafilprofessional.net/ ">vardenafil</a> has power to shelter against STD’s. It is obviously proposed in support of treating <a href=" http://priligydapoxetineusa.com/ ">dapoxetine</a> ineffectualness result and has nothing to do with other things. Matrix but not least; void relying on the <a href=" http://www.canadapharmacynopriorprescription.com/ ">canadian pharmacy</a> seeking each intercourse. almost 3 years ago
Groonga 4.0.3 has been released Groonga 4.0.3 has been released Groonga 4.0.3 has been released! How to install: Install Changes Here are new features in the release: Groonga HTTP server (an implementation that doesn't use nginx) supports POST. Improved plugin API. Groonga HTTP server supports POST Groonga HTTP server that can be ran by groonga --protocol http doesn't support POST. So you can't load large data. In this release, Groonga HTTP server supports POST as an experimental feature. It also supports "Expect: 100-Continue" HTTP header. So you will be able to use curl to send POST request. If you get a problem for the feature, please report it. If the feature works well, please report it. It is better that the report includes "how large data" and "how to send your request". If many users sends "success reports", we mark the feature as a stable feature. Improved plugin API We are working on improving plugin API. You will be able to write your Groonga plugin easily in near future. Conclusion See Release 4.0.3 2014/06/29 about detailed changes since 4.0.2. Let's search by Groonga! over 3 years ago
Try Groonga Try Groonga Try Groonga has been released! Now, you can try Groonga without installing Groonga on your computer! You just open a Web page. Please use Try Groonga. :-) over 3 years ago
Groonga 4.0.2 has been released Groonga 4.0.2 has been released Groonga 4.0.2 has been released! How to install: Install Changes Here are new features in the release: Supported daylight saving time. Added tokenizer_list. (experimental) Added normalizer_list. (experimental) tokenizer_list and normalizer_list are for improving admin page. They are implemented by @naoa_y. Thanks! HTTP response is changed on error. In earlier releases, 500 (Internal Server Error) is returned for syntax error in query option value of select command. Since this release, 400 (Bad Request) is returned for the case. Because syntax error is not a server problem. It is a client problem. If your application depends on 500, please fix your application. Munin plugins support groonga-httpd. You can use them without additional configuration. If they don't work well, please report it at groonga-talk. This release also includes a fix of a crash bug. If you are using multi column index and has 1 million over records in Groonga or Groonga based software such as Mroonga, you may face the crash bug. If you match the condition, it is recommend that you upgrade Groonga. Groonga on Heroku There is a Groonga buildpack. You can use the latest Groonga with the buildpack. You can use Groonga in your Heroku application with the buildpack. Try the following command: % heroku create --buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/groonga/groonga.tgz Your Heroku application runs groonga-httpd by default. Your Heroku application must has groonga/ directory. You put *.grn files into the directory. The buildpack loads the *.grn files on git push heroku master into your Groonga database. You can also use Rroonga on Heroku with a Rroonga buildpack. See the link for details. Easy to deploy There are resources for easy to deploy: Chef cookbook for Groonga Ansible playbook for Groonga Author: @cosmo__ If you deploy Groonga, try them. Conclusion See Release 4.0.2 2014/05/29 about detailed changes since 4.0.0. Let's search by Groonga! over 3 years ago
Droonga 1.0.2 has been released Droonga 1.0.2 has been released Today we've released Droonga 1.0.2 . Droonga is a scalable data processing engine, based on a stream oriented processing model. The name is originated from "Distributed Groonga". Good news! Droonga 1.0.2 has better compatibility to Groonga. Some basic commands including "load" are now available. Moreover there is a new tutorial for Groonga users aiming to migrate from Groonga to Droonga. Droonga is still under development, but it already can work as a Groonga with the replication feature, via HTTP. Feel free to try it on! Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
buy proscar uk bumdoor190289viagra.com http://bumdoor190289viagra.com/ how can i buy metformin about 1 year ago
Droonga 0.9.0 has been released Droonga 0.9.0 has been released Today we've released Droonga 0.9.0 . Droonga is a scalable data processing engine, built on top of Groonga. It is based on a stream-oriented processing model, so it operates data (for example, search, update, group, and so on) by pipeline. The processing model makes Droonga flexible and extensible. Droonga can also process complex operations by mixing operations. Users can add custom operations to Droonga as Ruby plugins easily. Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
A Republican Plan repayment for Medicare Gets a Renewal Eminence The Affordable Care Act is the most formidable fettle fancy legislation enacted in the Joint States since the creation of Medicare and Medicaid in 1963. The law implemented comprehensive reforms <a href="http://viagra-withoutadoctorsprescription.org/#kh8093">viagra without a doctor prescription</a> designed to give a new lease of the accessibility, affordability, and superiority of haleness care. over 2 years ago
purchase peptides clomid can you buy ventolin inhalers over the counter about 1 year ago
Groonga CloudSearch 1.3.0 has been released Groonga CloudSearch 1.3.0 has been released We have released Groonga CloudSearch 1.3.0. Groonga CloudSearch is a full text search system based on groonga. It provides Amazon CloudSearch compatible API. It is useful if you are planning to build new Web apps with the Amazon CloudSearch. This release includes improvements about CLI tools. We also have shipped Groonga CloudSearch Console 1.0.0. This is an administrative web console for Groonga CloudSearch. You can manage your Groonga CloudSearch Server with web UI. See the blog post for more details. over 3 years ago
Groonga 4.0.7 has been released Groonga 4.0.7 has been released Groonga 4.0.7 has been released! How to install: Install Changes In this release, two big experimental features: Column value compression support Token filter support Column value compression support In this release, Groonga has supported column compression by zlib or LZ4. You can save disk spaces by this feature. This feature is implemented by @naoa_y. Thanks! Here is the pros/cons: zlib: compression rate is better than LZ4, but performance is not. LZ4: performance is good, but compression rate is not better than Zlib. Add COMPRESS_ZLIB or COMPRESS_LZ4 flag to flags for column_create. column_create Entries content COLUMN_SCALAR|COMPRESS_ZLIB Text column_create Entries content COLUMN_SCALAR|COMPRESS_LZ4 Text Here is the brief benchmark provided by @naoa_y. It shows characteristics of each compression. https://github.com/groonga/groonga/pull/221#issuecomment-59627302 https://github.com/groonga/groonga/pull/223#issue-46381569 Token filter support In this release, Groonga has supported token filters. There are two token filters. TokenFilterStopWord TokenFilterStem TokenFilterStopWord If you use TokenFilterStopWord, token which is registered as stop word is just ignored. Here is the sample query to setup the lexicon and stop word: table_create Terms TABLE_PAT_KEY ShortText \ --default_tokenizer TokenBigram \ --normalizer NormalizerAuto \ --token_filters TokenFilterStopWord column_create Terms memos_content COLUMN_INDEX|WITH_POSITION Memos content column_create Terms is_stop_word COLUMN_SCALAR Bool load --table Terms [ {"_key": "and", "is_stop_word": true} ] You need to create is_stop_word column and register stop word as _key column. Note that the value of is_stop_word must be true. Since "and" is registered as stop word, if you search "Hello and", Groonga ignores "and" from query, then it returns search results as if you just search "Hello". See documentation about TokenFilterStopWord. TokenFilterStem TokenFilterStem supports stemming feature. This feature is accomplished by using libstemmer. Here is the sample to use TokenFilterStem: table_create Terms TABLE_PAT_KEY ShortText \ --default_tokenizer TokenBigram \ --normalizer NormalizerAuto \ --token_filters TokenFilterStem When creating the lexicon table, you need to specify --token_filters TokenFilterStem. Now, even though search query is "develop", the stemming library regards as same as "developing" or "developed", search result contains those keywords. See documentation about TokenFilterStem. For Debian users Groonga package has been included in the official Debian repository. sid users can install Groonga from the official Debian repository. For Ubuntu users Groonga project provides package for Ubuntu 14.10. Conclusion See Release 4.0.7 2014/10/29 about detailed changes since 4.0.6. Let's search by Groonga! over 3 years ago
Groonga 4.0.6 has been released Groonga 4.0.6 has been released Groonga 4.0.6 has been released! How to install: Install Changes In this release, main changes are small improvements and fixes. One of new improvements is adding more validations to column_create for creating an index column. In the earlier versions, you may create an incomplete index column. In this release, you can't create an incomplete index column. So you can find a problem as soon as possible. Here are fixed problems: Token ID is used instead of IDF (Inverted Document Frequency) in similar search. Removing a record for table that _key is indexed by multiple index columns causes a crash. Full-text search by * treated as prefix search by an empty string. Here are other improvements: Users can specify the number of tokens used in similar search. Groonga supports optimization of range search query such as X > 0 && X <= 100 with mruby enabled build. For Debian users We drop jessie and sid support. We provide packages only for wheezy. For Heroku users Groonga package for Heroku support MessagePack since this release. So you can use Nroonga on Heroku. Conclusion See Release 4.0.6 2014/09/29 about detailed changes since 4.0.5. Let's search by Groonga! over 3 years ago
Groonga 4.0.5 has been released Groonga 4.0.5 has been released Groonga 4.0.5 has been released! How to install: Install Changes In the previous release, small improvements and fixes are main changes. In this release, there are some big improvements like the following: This release supports near search in query syntax that is used in --query in select. We describe about it later because there is no document about it. This release adds functions that highlight keywords in a text. They are developed by @naoa_y. He also wrote document! highlight_html(): supports keywords in target text with <span class="keyword">...</span>. Use CSS how to highlight keywords. Normally, this function satisfies you. highlight_full(): can accepts more options than highlight_html(). It is for advanced users. This release also has the following fixes. If you're using groonga-httpd or have a document that has the many same tokens, we recommend you upgrade your Groonga. This release upgrades bundled nginx to 1.7.4. It includes some security fixes. This release fixes a infinite loop bug that is caused when a document has the many same tokens. Near search You can use near search in script syntax that is used in --filter in select with older releases. You can use near search in query syntax that is used in --query in select since this release. Normal full-text search matches a document that has all keywords in the document. For example, the following query matches both "Groonga is a full-text search engine." and "Search Groonga and Mroonga". --query 'Groonga search' Phrase search matches a document that has all keywords in specified order in the document. For example, the following query matches "Groonga search engine" but doesn't match "Groonga full-text search engine.". Because "full-text" exists between "Groonga" and "search". --query '"Groonga search"' Near search, that is available in --query since this release, matches a document that has all keywords in specified order in the document but accepts some keywords between specified keywords. For example, the following query matches both "Groonga search engine" and "Groonga is a full-text search engine.". Because near search accepts some keywords between "Groonga" and "search". --query '*N"Groonga search"' You can custom how many keywords are acceptable in near search. Put the number after N. The default number of acceptable keywords is 10. The following query accepts one keyword between specified keywords. So the query matches "Groonga is search engine" but doesn't match "Groonga is a full-text search engine." --query "*N1"Groonga search"' Conclusion See Release 4.0.5 2014/08/29 about detailed changes since 4.0.4. Let's search by Groonga! over 3 years ago
where to purchase generic viagra buy doxycycline next day delivery about 1 year ago
Droonga 1.0.4 has been released Droonga 1.0.4 has been released Today we've released Droonga 1.0.4 . Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". The most important topic on this release is that new command line tools to modify cluster composition easily. You don't need to run various commands again and again anymore. See tutorials: how to dump and restore and how to modify replicas . Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
Droonga 1.0.3 has been released Droonga 1.0.3 has been released Today we've released Droonga 1.0.3 . Droonga is a distributed full text search engine, compatible to Groonga. The name is originated from "Distributed Groonga". You can replace nodes in your cluster without stopping of the service. See new tutorials: how to dump and restore and how to modify replicas . Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
Groonga 4.0.1 has been released Groonga 4.0.1 has been released Groonga 4.0.1 has been released! How to install: Install There are following topics in this release. Resolved increasing the size of database issue Supported weight vector column Supported adjuster option in select command Resolved increasing the size of database issue In this release, Groonga has resolved that the size of database increase by updating. Here is the history of suppressing the size of database: 3.1.0 - Added GRN_JA_SKIP_SAME_VALUE_PUT environment variable It skips updating database if the value is same. This feature is marked as experimental. 3.1.2 - Enable GRN_JA_SKIP_SAME_VALUE_PUT=yes by default It forces to enable above flag by default because this feature is reasonable effects to suppress the size of database. In contrast to previous approach, Groonga can manage to use variable length more effectively so It fixes the issue about increasing the size of database. Note that you need to recreate the database to suppress the size of database feature. Here is the summary: You can open the database of previous versions by Groonga 4.0.1 or later. But, you can't open database which is created Groonga 4.0.1, by previous versions. You can use this feature by recreating the database. In fact, ongaeshi who is developer of Milkode had tested the impact of this feature. Here is the verified graph about increasing the size of database. (Thanks to ongaeshi!!!) [](http://d3j5vwomefv46c.cloudfront.net/photos/large/843929509.png?1394947803) It reveals the fact that if you use previous database as is(4.0.0-72-continue), the size of database just increases, but if you recreate database, you can suppress the size of one (4.0.0-72-new). Supported weight vector column In the Groonga 4.0.1 release, vector column can store multiple pairs of key and value. It is weight vector column. For example, if you want to store user's attribute as tag, you need to use COLUMN_VECTOR as following: column_create Users tags COLUMN_VECTOR ShortText But, it is not enough if attribute has a deviation, so you need to use another columns to store the value of weight for each attriubutes as alternative way. (Here is the example schema definition of alternative way) column_create Users tags COLUMN_VECTOR ShortText column_create Users tags_A COLUMN_SCALAR Int32 column_create Users tags_B COLUMN_SCALAR Int32 column_create Users tags_C COLUMN_SCALAR Int32... By supporting weight vector column, Groonga can unify such columns into one column. Use 'WITH_WEIGHT' flag in column definition. column_create Users tags COLUMN_VECTOR|WITH_WEIGHT ShortText You can store pair of key and value to vector column. {"Tag A":weight1, "Tag B":weight2, "Tag C":weight3, ...} Supported adjuster option in select command In this release, Groonga supported adjuster option in select command. In the previous versions, you can treat weight for each column by using match_column. Here is the difference of match_column and adjuster option: match_column - treat weight for matched column adjuster - treat weight for specific key of column In combination with weight vector column support, you can customize search results. For example, consiter to list up the person who use Groonga well. Assume that the value of rate is stored into weight vector column. Here is the sample schema definition: table_create User TABLE_HASH_KEY ShortText column_create User weight COLUMN_VECTOR|WITH_WEIGHT ShortText column_create User tags COLUMN_VECTOR ShortText table_create Weight TABLE_HASH_KEY ShortText column_create Weight weight_index COLUMN_INDEX|WITH_WEIGHT User weight table_create Tag TABLE_PAT_KEY ShortText column_create Tag tags_index COLUMN_INDEX User tags Here is the way to load sample data: load --table User [ { "_key":"alice", "weight":{"Groonga":30, "Mroonga":20}, "tags": ["Groonga", "Mroonga"] }, { "_key":"bob", "weight":{"Groonga":50}, "tags": ["Groonga"] }, { "_key":"carol", "weight":{"Groonga":40,"Mroonga":30}, "tags": ["Groonga", "Mroonga"] } ] In the simple way, you can just use filter option to get the person who use "Groonga". select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' But, we want to consider the rate in this case, so we need to use adjuster option for this purpose. select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' --adjuster 'weight @ "Groonga" * 10' Here is the parameter for adjuster: 'weight @ "Groonga" * 10' It means that calculate the value of weight for weight column which use "Groonga" as keyword, if "Groonga" exists, multiply 10 for it. As a result, "bob" is the top of the result: ["bob",511,["Groonga"],{"Groonga":50}], ["carol",411,["Groonga","Mroonga"],{"Groonga":40,"Mroonga":30}], ["alice",311,["Groonga","Mroonga"],{"Groonga":30,"Mroonga":20}] If you consider the person who use not only "Groonga" but also "Mroonga", specify "Mroonga" for adjuster: select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' --adjuster 'weight @ "Mroonga" * 10' As a result, "carol" is the top of the result: ["carol",311,["Groonga","Mroonga"],{"Groonga":40,"Mroonga":30}], ["alice",211,["Groonga","Mroonga"],{"Groonga":30,"Mroonga":20}], ["bob",1,["Groonga"],{"Groonga":50}] Conclusion See Release 4.0.1 2014/03/29 about detailed changes since 4.0.0. Let's search by Groonga! over 3 years ago
Droonga 1.0.0 has been released Droonga 1.0.0 has been released Today we've released Droonga 1.0.0 . This is the first major release. Droonga is a scalable data processing engine, based on a stream oriented processing model. The name is originated from "Distributed Groonga". Yes, it is built on top of Groonga. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts. Now Droonga is under active development. Please try Droonga and join us to accelerate the development! over 3 years ago
However, how can we be in contact? If you be subjected to any medical health circumstances, please deliberate over them with doctor, and encourage him whether hushed <a href=" http://sansordonnanceviagra.com/ ">viagra sans ordonnance</a> is healthy in the interest of your eyes or not. Outstandingly, if you are present through liver problems, kidney disorders, eye problems, <a href=" http://viagraenpharmaciefr.com/ ">viagra en pharmacie en france</a>, it is obligatory to debate them with doctor. If you also have other <a href=" http://canadianpharmacyonline.us.com/ ">canadian pharmacy online</a> disorders, other than shrink look, inform your physician. If you have planned any attention surgery <a href=" http://viagraprecioes.com/ ">viagra precio</a> through despite the adjacent future, please don’t forget to suggest alongside it to your doctor. almost 3 years ago
PatrickFelpQY <a href=http://cheapalbuterolinhalerforsale.com/>cheap albuterol inhaler for sale </a> over 3 years ago
buy cheap kamagra india order colchicine from canada about 1 year ago
Groonga 5.1.2リリース Groonga 5.1.2リリース 今日は今年最初の肉の日ですね! Groonga 5.1.2をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 主な変更点は以下の通りです。パフォーマンス改善、データベース単位の設定項目サポート、エイリアス機能の追加、mruby関連のクラッシュバグ修正などもりだくさんです。 [パフォーマンス改善] 多くの条件でシーケンシャルサーチのパフォーマンスが向上しました。件数が多ければ多いほど効果が大きくなります。100万件くらいのレコードであれば数倍速くなります。 [設定] データベース単位で設定項目を管理できるようになりました。永続化されるため1度設定した値は再起動後も残っています。 [エイリアス] テーブル・カラムなどの名前に別名(エイリアス)をつけられるようになりました。スキーマ変更の助けになるはずです。 [mruby] mruby本体にあったクラッシュバグを修正しました。また例外発生時にバックトレースが壊れる問題も修正しました。安定性、問題発生時のデバッグのしやすさが改善しています。 パフォーマンス改善 前回のリリースではCOLUMN @~ "CONSTANT_PATTERN"のような定数のパターンに対する正規表現マッチのシーケンシャルスキャン検索のパフォーマンスを改善しました。 今回のリリースでは、さらに、trueや29のような定数のみの条件、COLUMN == 29のような二項演算の条件でもシーケンシャルスキャン検索のパフォーマンスを改善しました。二項演算は==だけでなく非等価演算(!=)と<や>=などの比較演算も改善対象なので多くのケースで高速になります。 Groongaはカラムストアのデータストアを採用しており、カラム単位での処理を効率よく実現できるアーキテクチャーになっています。今回のパフォーマンス改善はこの特性を活かしたものです。(さらに活かしているのがgrn_tsで、今回の改善後から、さらに数倍速いです。) 現在のGroongaの検索処理はインデックスを使えるならできるだけインデックスを使う、という方針で実行しているのですが、十分に絞り込めている状態ではインデックスを使うよりもシーケンシャルスキャンした方が速いこともあります。今後は実行プランを改善し、場合によってはシーケンシャルスキャンも優先して、トータルでより高速な検索処理を実現する予定です。 設定 データベース単位で設定項目を管理できるようになりました。コマンドライン引数やリクエストパラメーターと違い、データベースに永続化されるため、1度設定した値は再起動後も残っています。 設定項目は以下のコマンドで管理できます。 config_set config_get config_delete この設定機能はGroonga内部で使うために開発した機能ですが、ユーザーも自由に使えます。プラグインの挙動をカスタマイズしたい、ちょっとしたキーバリューストアが欲しい、といったときに活用してください。 エイリアス 前述の設定機能を使っているのがこのエイリアス機能です。この機能を使うと、テーブル・カラム・関数名・コマンド名など、Groonga内で名前で参照しているものすべてに別名(エイリアス)をつけることができます。 サービスに影響がないようにスキーマ変更をしたり、後方互換性を実現するために有用です。 たとえば、ユーザーにはaliased_columnのようにエイリアス名を使うようにしてもらいます。管理者はaliased_columnがcurrent_columnを指すようにします。その後、current_columnを変更したnew_columnを新しく用意し、準備ができた段階でaliased_columnが指すカラムをnew_columnに変更すれば、ユーザーのクエリーを一切変更せずにnew_columnを使えるようになります。 エイリアスをスキーマ変更のために使う例はエイリアスでも説明しているので参照してください。 関数名・コマンド名を変更するとき、変更前の名前をエイリアスとして登録しておけば、変更後もその名前でアクセスできるので後方互換性を維持できます。 活用してください。 mruby Groongaがmrubyを組み込んでから2年ほど経っています。mrubyを活用する場面は徐々に増えていて、コマンドラインツールgrndbはmrubyで実装していますし、シャーディング機能もmrubyで実装しています。 Groongaプロジェクトはmrubyで問題が見つかったときはmruby本体にフィードバックしています。今回のリリースで修正した内容もmruby本体にフィードバックして取り込まれています。 今回の修正でGroongaのユースケースとしてはmrubyは十分安定したと言えます。近い将来、mrubyを必須のモジュールとし、よりmrubyを活用することを検討しています。 イベントのおしらせ 今月・来月には以下のイベントが予定されています。 1/29(金) Groongaで学ぶ全文検索 2016-01-29 2/9 (火) MySQLとPostgreSQLと日本語全文検索 さいごに 5.1.1からの詳細な変更点は5.1.2リリース 2016-01-29を確認してください。 それでは、今年もGroongaでガンガン検索してください! over 3 years ago
Groonga 4.0.0 has been released Groonga 4.0.0 has been released Groonga 4.0.0 has been released! How to install: Install Since Groonga 3.0.0 had been released, many improvements, changes, or bug fixes was shipped. Here are brief topics ever released: Supported more binary operations for built-in types. (3.0.2) Added sub_filter function. (3.0.2) Supported query expander in query() function. (3.0.2) Supported Ubuntu 13.04 Raring Ringtail. (3.0.3) Supported to learn with the value of customized weight by using configuration.weight configuration. (3.0.3) Supported vector index access by "vector[N]" syntax. (3.0.3) Dropped Ubuntu 11.10 (Oneiric Ocelot) support. (3.0.4) Supported tokenize command. (3.0.4) Supported Debian 8.0 (jessie). (3.0.4) Added html_untag function. (3.0.5) Supported Fedora 19. (3.0.6) Dropped Fedora 18 support. (3.0.6) Added API documentation. (3.0.7) Supported log related directives for groonga-httpd. (3.0.7) Supported loading data using POST method for groonga-httpd. (3.0.7) Supported cascade delete to referenced records. (3.0.8) Added experimental ruby_eval command. (3.0.8) Supported Ubuntu 13.10 (Saucy Salamander). (3.0.9) Added experimental ruby_load command. (3.0.9) Supported an option to skip updating for the same value. (3.1.0) Dropped Debian 6.0 (squeeze) support. (3.1.1) Dropped Ubuntu 10.04 (lucid) support. (3.1.1) Supported geo_in_rectangle in the whole world. (3.1.1) Supported between function which is used for filtering the column value in specific range. Dropped Fedora 19. (3.1.1) Supported Fedora 20. (3.1.1) Enabled GRN_JA_SKIP_SAME_VALUE_PUT by default. (3.1.2) Supported to customize the value of lock timeout. (3.1.2) Dropped Ubuntu 13.04 support. (4.0.0) Supported to show "checks" which is used for calculating next character position for normalizer. (4.0.0) We could make many bug fixes and improvements based on your feedbacks, thanks! During 3.x release, we had decided to use capitalized project name "Groonga". Please use "Groonga" instead of "groonga" if you introduce "Groonga" to your colleague. Conclusion See Release 4.0.0 2014/02/09 about detailed changes since 3.1.2. Let's search by Groonga! over 3 years ago
Groonga 3.1.2 has been released Groonga 3.1.2 has been released Groonga 3.1.2 has been released! How to install: Install There are following topics in this release. Supported to customize lock timeout GRN_JA_SKIP_SAME_VALUE_PUT is enabled by default Supported to customize lock timeout In this release, Groonga began to support customizing lock timeout. In the previous versions, the value of lock timeout is defined as about 3 hours. You can't change the value without modifying source code. Now you can customize this value as configure option (–with-lock-timeout) or CMake build flags (-DGRN_LOCK_TIMEOUT). configure: $ ./configure --with-lock-timeout=(TIMEOUT) CMake: $ cmake -DGRN_LOCK_TIMEOUT=(TIMEOUT) See Global configuration documentation about the value of lock timeout. GRN_JA_SKIP_SAME_VALUE_PUT is enabled by default In the Groonga 3.1.0 release, GRN_JA_SKIP_SAME_VALUE_PUT environment variable is introduced experimentally. This environment variable controls whether skipping to update the same value. As it was experimentally introduced at that time, it was not enabled by default, but now it is enabled by default at last! If there are many queries with updating by the same value, it may suppress increasing the size of database by this change. Conclusion See Release 3.1.2 2014/01/29 about detailed changes since 3.1.1. Let's search by Groonga! over 3 years ago
Groonga 3.1.1 has been released Groonga 3.1.1 has been released Groonga 3.1.1 has been released! How to install: Install There are following topics in this release. Supported geo_in_rectangle in the whole world Supported between function Supported Fedora 20 Dropped Debian 6.0(squeeze) and Ubuntu 10.04(lucid) support Supported geo_in_rectangle in the whole world In this release, Groonga began to support geo_in_rectangle in the whole world. Groonga supports the geographical feature to check whether the point exists in the rectangle area. In the previous versions, geo_in_rectangle supports only the east longitude in the north hemisphere. It is good enough for Groonga users who lives in Japan especially, but not for others. Now, you can use geo_in_rectangle even though accross the prime meridian or the equator. See geo_in_rectangle documentation about details. Supported between function In this release, Groonga began to support between function which is used for filtering the specific range value of column. Here are a sample schema and data. table_create Users TABLE_HASH_KEY ShortText column_create Users age COLUMN_SCALAR Int32 table_create Ages TABLE_HASH_KEY Int32 column_create Ages user_age COLUMN_INDEX Users age load --table Users [ {"_key": "Alice", "age": 12}, {"_key": "Bob", "age": 13}, {"_key": "Calros", "age": 14}, {"_key": "Dave", "age": 15}, {"_key": "Eric", "age": 16} {"_key": "Frank", "age": 17} ] In the previous versions, you need to execute following query if you want to select persons which is matched to PG-13 (MPAA) rating. select Users --filter 'age >= 13 && age <= 16' On the contrast, you can use between function to get same result now. select Users --filter 'between(age, 13, "include", 16, "include")' In the above case, it means that "search the records which matches to specific value of column from the value of range which contains 13,14,15,16". [ [ [4], [ ["_id","UInt32"],["_key","ShortText"],["age","Int32"] ], [2,"Bob",13], [3,"Calros",14], [4,"Dave",15], [5,"Eric",16] ] ] See between documentation about details. Supported Fedora 20 In this release, Groonga began to support Fedora 20 which is released at Dec 17, 2013. See following documentation how to install on Fedora 20. Note that Fedora 19 support is dropped now. Dropped Debian 6.0(squeeze) and Ubuntu 10.04(lucid) support In this release, Debian 6.0(squeeze) and Ubuntu 10.04(lucid) support are dropped. See following blog entry why squeeze and lucid are dropped. Drop package support for Debian 6.0(squeeze) and Ubuntu 10.04(lucid) Conclusion See Release 3.1.1 2013/12/29 about detailed changes since 3.1.0. Let's search by Groonga! over 3 years ago
Groonga 3.0.9 has been released Groonga 3.0.9 has been released Groonga 3.0.9 has been released! How to install: Install There are three topics in this release. Supported groonga-cache-limit directive for groonga-httpd Added documentation about performance tuning Supported Ubuntu 13.10 (Saucy Salamander) Supported groonga-cache-limit directive for groonga-httpd Groonga provides HTTP server as groonga-httpd based on nginx. In this release, groonga-httpd has supported new directive - groonga_cache_limit which enables customizing the size of cache. By adding this directive, you can customize the size of cache for each worker processes at once. Here is the sample configuration in location block. location /d/ { groonga on; # You can customize query cache limit for groonga. groonga_cache_limit 100; } In the previous versions, you can't customize the size of cache for multiple worker processes at once. If you execute cache_limit command, it is not guranteed that the size of cache is updated for all worker. It means that specific worker may accept cache_limit command many times. You can solve this issue by groonga_cache_limit directive. Added documentation about performance tuning We added documentation about performance tuning in this release. When Groonga processes enormous number of records, there is a case that Groonga performance issue occurs. Maybe such a problem derives from the number of records. You need to solve the issues - the number of limitation which process can handle, usage of memory, and so on. See following documentation about tuning . Supported Ubuntu 13.10 (Saucy Salamander) We began to support Ubuntu 13.10 which is released at Oct 17, 2013. See following documentation how to install Groonga on Ubuntu 13.10. Conclusion See Release 3.0.9 2013/10/29 about detailed changes since 3.0.8. Let's search by Groonga! over 3 years ago
My earthling connection! <a href="http://www.viagrawithoutadoctorprescriptioncost.com/">viagra without a doctor prescription</a> over 3 years ago
hqkkvihp bad credit payday loans <a href="https://quickloans.cars">loans</a> direct loan consolidation <a href=https://quickloans.cars>loans</a> over 1 year ago
qfatrgdn loans <a href="https://quickloans.cars">loan for bad credit</a> online loans bad credit <a href=https://quickloans.cars>speedy</a> over 1 year ago
sggjqfxp loans <a href="https://quickloans.cars">bad credit payday loans</a> payday loans for bad credit <a href=https://quickloans.cars>best cash advance loans online</a> over 1 year ago
Groonga CloudSearch 1.4.0 has been released Groonga CloudSearch 1.4.0 has been released We have released Groonga CloudSearch 1.4.0. Groonga CloudSearch is a full text search system based on groonga. It provides Amazon CloudSearch compatible API. It is useful if you are planning to build new Web apps with the Amazon CloudSearch. This release includes improvements about API compatibility to the Amazon CloudSearch and configurations of the daemon. We also have shipped Groonga CloudSearch Console 1.1.0. This provides an administration web console for Groonga CloudSearch. You can manage your Groonga CloudSearch Server with web UI. See the blog post for more details. over 3 years ago
Drop package support for Debian 6.0(squeeze) and Ubuntu 10.04(lucid) Drop package support for Debian 6.0(squeeze) and Ubuntu 10.04(lucid) We announce that Groonga Project will drop package support for old releases. Target environment Groonga Project decided to drop providing packages for following release. Debian 6.0(squeeze) Ubuntu 10.04(lucid) End of release We will drop package support since Groonga 3.1.1 which will be released at Dec 29, 2013. About migration Please migrate from Debian 6.0(squeeze) or Ubuntu 10.04(lucid) to Debian 7.0(wheezy) or Ubuntu 12.04(precise). Note that Debian 6.0(squeeze) is "Old stable". The reason why we drop package support Groonga Project provides packages by self hosted the Groonga repository. It is aimed to support easy to install, but it requires users to register the Groonga repository in advance. We are working on registering Groonga as Debian package so that you don't have to register it. Such task needs to support Multiarch, but it is not suported on Debian 6.0(squeeze) and Ubuntu 10.04(lucid). This is why we will drop package support on above environment. If you can't migrate to latest environment, please try to build from source. Build from source on Debian Build from source on Ubuntu Conclusion We will continue to release latest Groonga every month! Let's search by Groonga! over 3 years ago
Tell well-thought-of pill instead of ed cheapest genuine levitra levitra online http://levitra20mg-usa.net - levitra 20 mg canadian pharmacy levitra professional who is online <a href="http://levitra20mg-usa.net">buy levitra online </a> - cheap genuine levitra online trusted uk levitra cost with insurance tag search over 2 years ago
Groonga 3.0.6 has been released Groonga 3.0.6 has been released Groonga 3.0.6 has been released! How to install: Install There are two topics for this release. Supported backslash escape in query syntax Supported Fedora 19 Supported backslash escape in query syntax In this release, we began to support backslash escape in query syntax. See escape documentation about sepecial characters which needs escape in query syntax. For example, there is a special character such as (. If you want to search ( itself, you need to pass ( to groonga. But, there are some layers until query is actually passed, you need to escape carefully. There are three layers between shell and query parser. Shell (such as bash, …) groonga command line interface (groonga command prompt) groonga query parser In fact, you need to pass ( to groonga query parser. To accomplish above, consider how to escape each layer. groonga query parser requires ( groonga command line interface consumes escape, so ( is required. Shell consumes escape, so ( is required. Confirm above step by step. Here is the sample schema and data (escape.grn): table_create Memos TABLE_PAT_KEY ShortText table_create Contents TABLE_PAT_KEY ShortText --default_tokenizer TokenDelimit --normalizer NormalizerAuto column_create Contents entries_key_index COLUMN_INDEX Memos _key load --table Memos [ {"_key": "(example)"} ] Load sample schema and data (Zsh command line for example): % groonga -n testdb/db < escape.grn Here is the escaped query to search '(example' on shell layer. % groonga testdb/db select Memos --match_columns _key --query "(example" Here is the escaped query to search '(example' on groonga command line interface layer. % groonga testdb/db > select Memos --match_columns _key --query "(example" We show the concrete example how to escape on each layer in the case which use double quote. The similar rule is applied even though single quote. Supported Fedora 19 In this release, we began to support Fedora 19 which is released at July 2, 2013. Instead, we have stopped Fedora 18 support. We have been released rpm packages under Fedora projects, but there is a time lag until rpm packages are released from Fedora projects repository. So we also provide rpm packages under groonga repository. As the contents of rpm packages is same, there is no difference between groonga reppsitory's rpm and Fedora projects's rpm. Conclusion See Release 3.0.6 2013/07/29 about detailed changes since 3.0.5. Let's search by groonga! over 3 years ago
Groonga 3.0.4 has been released Groonga 3.0.4 has been released Groonga 3.0.4 has been released! How to install: Install There are three topics for this release. Supported multiple index section in match_columns Supported tokenize command experimentally Supported Debian 8.0 (jessie) Supported multiple index section in match_columns In this release, we began to support multiple index section in match_columns. Here is the sample schema: table_create Memos TABLE_NO_KEY column_create Memos title COLUMN_SCALAR ShortText column_create Memos content COLUMN_SCALAR ShortText table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon title_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title column_create Lexicon content_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos content In the previous release, you need to execute following query if you want to use column index of title with weight. select Memos --match_columns "Lexicon.title_index * 10 || Lexicon.content_index" --query rroonga --output_columns "title, content, _score" In this release, you can use almost same thing for multiple column index. To use this feature, you need change schema a bit. table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon memo_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title,content Then specify memo_index.(COLUMN_NAME) in the query. Here is the revised query using multiple column index: select Memos --match_columns "Lexicon.memo_index.title * 10 || Lexicon.memo_index.content" --query rroonga --output_columns "title, content, _score" There are many case which you want to apply multiple tokenizer or normalizer for each column. If you specify just column name, there is a case that multiple index is used and unwanted search results returns. In this release, you can specify specific column which is a member of multiple column index. Supported tokenize command experimentally In this release, we began to support tokenize command experimentally. There is a normalize command to confirm behaviour of normalizer, on the other hand, there is no way to confirm behaviour of tokenizer. In this release, you can confirm both of normalizer and tokenizer behaviour now. Here is the syntax of tokenize command: tokenize tokenizer string [normalizer] [flag] Here is a sample of tokenize command: > tokenize TokenBigram "groonga3.0.4" [ [0,1369290009.77065,0.000670194625854492], [ {"value":"gr","position":0}, {"value":"ro","position":1}, {"value":"oo","position":2}, {"value":"on","position":3}, {"value":"ng","position":4}, {"value":"ga","position":5}, {"value":"a3","position":6}, {"value":"3.","position":7}, {"value":".0","position":8}, {"value":"0.","position":9}, {"value":".4","position":10}, {"value":"4","position":11} ] ] See the following documentation about details. Supported Debian 8.0 (jessie) In this release, we began to support Debian 8.0 (jessie). See install documentation about jessie Note that squeeze support will be discontinued for a while. Conclusion See Release 3.0.4 2013/05/29 about detailed changes since 3.0.3. Let's search by groonga! over 3 years ago
Removed 1.x packages from repository Removed 1.x packages from repository We had released groonga 3.0.3 Apr 29, 2013. At that time, we also reorganized self hosted groonga repository. Because groonga 1.x is the seriese of two generation ago. We had reorganized repository by following rule: version 1.x packages unsupported release By rule 1, we had removed groonga 1.x and mroonga 1.x packages from repository. By rule 2, we had removed packages matched to following release from repositry. Fedora 15 Fedora 16 Fedora 17 Ubuntu 10.10 (Maverick Meerkat discontinued Apr, 2012) Ubuntu 11.04 (Natty Narwhal discontinued Oct, 2012) If you want to use old version, please use source archive. over 3 years ago
Groonga 3.0.2 has been released Groonga 3.0.2 has been released Groonga 3.0.2 has been released! How to install: Install There are two topics for this release. Supported sub_filter() function Supported query expander in query() function Supported sub_filter() function In this release, sub_filter() function has been supported. For example, we introduce the suitable case for sub_filter() function. Here is the sample schema: table_create Comment TABLE_PAT_KEY UInt32 column_create Comment name COLUMN_SCALAR ShortText column_create Comment content COLUMN_SCALAR ShortText table_create Blog TABLE_PAT_KEY ShortText column_create Blog title COLUMN_SCALAR ShortText column_create Blog content COLUMN_SCALAR ShortText column_create Blog comments COLUMN_VECTOR Comment column_create Comment blog_comment_index COLUMN_INDEX Blog comments table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon comment_content COLUMN_INDEX|WITH_POSITION Comment content column_create Lexicon comment_name COLUMN_INDEX|WITH_POSITION Comment name column_create Lexicon blog_content COLUMN_INDEX|WITH_POSITION Blog content Blog table is related to Comment table. Lexicon table is created for full text search. Here are the sample data: load --table Comment [ {"_key": 1, "name": "A", "content": "groonga"}, {"_key": 2, "name": "B", "content": "groonga"}, {"_key": 3, "name": "C", "content": "rroonga"}, {"_key": 4, "name": "A", "content": "mroonga"}, ] load --table Blog [ {"_key": "groonga's blog", "content": "content of groonga's blog", comments: [1, 2, 3]}, {"_key": "mroonga's blog", "content": "content of mroonga's blog", comments: [2, 3, 4]}, {"_key": "rroonga's blog", "content": "content of rroonga's blog", comments: [3]}, ] If you want to search blog entries that user "A" commented. Here is the query for this purpose. select Comment --output_columns _key,name,content --query "name:@"A"" [ [2], [ ["_key","UInt32"],["name","ShortText"],["content","ShortText"] ], [1,"A","groonga"], [4,"A","mroonga"] ] You know User "A" commented 'groonga' and 'mroonga'. Then, let's search the entries that user "A" commented about 'groonga'. At first, search the entries user "A"'s comment from Blog table. select Blog --output_columns _key --filter "comments.name @ "A"" [ [ [2], [["_key","ShortText"]], ["groonga's blog"], ["mroonga's blog"] ] ] You know user "A" commented to "groonga's blog" and "mroonga's blog". Then, search the entries that user "A" commented about 'groonga'. Here is the query which is added extra condition about 'groonga'. select Blog --output_columns _key --filter "comments.name @ "A" && comments.content @ "groonga"" [ [ [2], [["_key","ShortText"]], ["groonga's blog"], ["mroonga's blog"] ] ] You know that the search results is same as before. User "A" commented to "mroonga's blog", but not mentioned about "groonga". This is not the intended search results. What is the problem? The fact about following query: --filter "comment.name @ "A" && comment.content @ "groonga" Are there entry matched to comment.name @ "A"? => Yes. there are comment of user "A". Are there entry matched to comment.content @ "groonga"? => Yes. there are entries matched to groonga. The both conditions above are met, "mroonga's blog" entry is regarded as matched entry. But, this is not intended results. We expect only "groonga's blog" is matched. sub_filter() function is used for this purpose. You can filter the results by comments context. Here is the example by using sub_filter() function: select Blog --output_columns _key --filter 'sub_filter(comments, "name @ "A" && content @ "groonga"")' [ [ [1], [["_key","ShortText"]], ["groonga's blog"], ] ] Confirm the results of above query. Now, you can search the Blog entry that user "A" commented about 'groonga'. Supported query expander in query() function This release began to support query expander in query() function. The select command supports query expander and the keywords which has different weight to the column. In 2.1.2 release, multiple query() function had been supported, you can specify the different weight to the column each query. But, as query() fuction doesn't support query expander functionality, you need to do query expansion by yourself if you want to search as same as --query. In the previous release, query() function syntax is: query("MATCH_COLUMNS", "QUERY") In this release, query() function accepts 3rd argument: query("MATCH_COLUMNS", "QUERY", "QueryExpanderTSV") Now you can use with QueryExpanderTSV or the substitution table. See following documentation about QueryExpanderTSV See following documentation about substitution table: As you know, the limitation that you need to use --query if you want to use query expander and keywords which has different weight at once. Here is the query which returns the same results as substitution table: select Users --match_columns "memo * 100" --query "memo:@groonga" --query_expander Synonyms.synonym --filter 'query("name * 10", "((...) OR (...) OR (...))")' Here is the query which returns the same effects by using query expander functionality introduced at this release: select Users --match_columns "memo * 100" --query "memo:@groonga" --query_expander Synonyms.synonym --filter 'query("name * 10", "...", "Synonyms.synonym")' Conclusion See Release 3.0.2 2013/03/29 about detailed changes since 3.0.1. Let's search by groonga! over 3 years ago
How Will ObamaCare Disorganize Me? Its level focus on is candid - to continue condition insurance <a href=" http://viagrawithoutdoctorsprescriptions.org/#qm39348 ">viagra without a doctor prescription</a> coverage to some of the estimated 16% of the US population who shortage it. Those people meet no coverage from their employers and are not covered on US health programmes for the poor and elderly. over 2 years ago
Groonga 1.2.7 and groonga storage engine 1.0.1 have been released Groonga 1.2.7 and groonga storage engine 1.0.1 have been released Groonga and groonga storage engine have been released. Changes of groonga in 1.2.7 Changes of groonga storage engine in 1.0.1 The last a few releases improve geo search feature. Now groonga storage engine works faster rather than MyISAM. We still have an improvement plan, geo search will be improved in the next release too. over 3 years ago
Moonmaid, and the Sword of the Morning. All those he shared with Ygritte, but not some knew. The crows were mostly outside the cages, splashing in the water or perched atop http://mimiska.ru/buj_17174.html following a narrow track from one castle to the next, never out of sight of the Wall. A day over 3 years ago
breath to listen. she said a word. “My lady, His Grace is wise. It’s best you do not come with us.” http://kisasmy.ru/lox_13105.html grasped the hilt of his cousin’s longsword with both hands, held the corpse down with his over 3 years ago
How Choose ObamaCare Force Me? Hey dude, Whats up? organic viagra for women <a href="http://www.viagrawithoutdoctor.org/">viagra without a doctor prescription</a> la viagra y sus consecuencias over 2 years ago
okiuzriq payday loans for bad credit <a href="https://quickloans.cars">loans</a> usa payday <a href=https://quickloans.cars>payday loans bad credit</a> over 1 year ago
shoulders into it, straining to keep the wheels turning, but once the turtle was flush Across the turbulent waters, Catelyn could see several thousand men encamped http://bramansa.ru/pac_16164.html them. over 3 years ago
Groonga 3.0.7 has been released Groonga 3.0.7 has been released Groonga 3.0.7 has been released! How to install: Install There are two topics for this release. Added API documentation Supported log related groonga-httpd directives Added API documentation There is no API documentation for a long time. We wrote the following entry in the past. We want a person who improve API documentation together [written in japanese] Luckily, we had been able to find the person who works for API documentation together. As a result, @whombx had done many contribution by sending pull requests for groonga API documentation. We thank @whombx for that great work. Now, we can release that outcome in this release even though translation task is not fully finished yet. Supported log related groonga-httpd directives There is a HTTP server package which is based on nginx. It is provided to support more functionality for groonga user. In this release, groonga-httpd supports new directives which is related to logging. groonga_log_path groonga_log_level groonga_log_path is used for specifying the path where to save log. groonga_log_level is used for specifying the level of logging. In the previous version, default value is applied to both of them. Usually, the path is specified to groonga_log_path, but you can disable logging by specifying 'off' to groonga_log_path. For example, it can be disabled. location /d/ { groonga_log_path off; } See the following documentation about groonga_log_path directive. On the other hand, you can custimize log level by groonga_log_level directive. There is a list which is used for groonga_log_level directive. The default value is 'notice'. emergency alert critical error warning notice debug dump none You can disable logging by specifying 'none' to groonga_log_level. See the following documentation about groonga_log_level directive. groonga-httpd also supports new directives which is related to max query cache. groonga_cache_limit It is applied to all workers. Here is the configuration example which set cache limit to 1000. http { groonga_cache_limit 1000; ... } If you want to apply multiple query cache limit, use multiple groonga-httpd.conf. Conclusion See Release 3.0.7 2013/08/29 about detailed changes since 3.0.6. Let's search by groonga! over 3 years ago
Groonga 3.0.5 has been released Groonga 3.0.5 has been released Groonga 3.0.5 has been released! How to install: Install There are two topics for this release. Supported single quoted string literal in output_columns Supported html_untag function experimentally Supported single quoted string literal in output_columns In this release, we began to support single quoted string literal in output_columns. Since groonga 3.0.2 release, complex string concatination in --output_columns had been supported. This feature support following expression: '"<" + title + ">"' Note that 'title' means 'title' column in this case. Above query returns "<(CONTENT OF TITLE)>". But there is the fact that single quote isn't supported in string literal at that time. Here is the sample schema: table_create Entries TABLE_NO_KEY column_create Entries title COLUMN_SCALAR ShortText load --table Entries [ {"title": "Single quote and double quote"} ] In the previous release, there are some way to get "<(CONTENT OF TITLE)>". select Entries --output_columns '_id, "<" + title + ">"' --command_version 2 select Entries --output_columns "_id, "<" + title + ">"" --command_version 2 Here is the revised query using single quote in string literal for groonga 3.0.5: select Entries --output_columns "_id, '<' + title + '>'" --command_version 2 As single quote has been supported, groonga 3.0.5 returns intended result sets even though the query which groonga 3.0.4 returns empty result. Here is the sample queries which groonga 3.0.4 or earlier version returns empty set: # <"(contents of title column)"> select Entries --output_columns "_id, '<"' + title + '">'" --command_version 2 #=> [1,"<"Single quote and double quote">"] # <'(contents of title column)'> select Entries --output_columns "_id, '<'' + title + ''>'" --command_version 2 #=> [1,"<'Single quote and double quote'>"] Supported html_untag function experimentally In this release, we began to support html_untag function which strips HTML tags experimentally. For example, consider the case that scraped web site HTML is stored into groonga database. Here is the sample schema which stores scraped HTML: table_create WebClips TABLE_NO_KEY column_create WebClips url COLUMN_SCALAR ShortText column_create WebClips content COLUMN_SCALAR ShortText column_create WebClips tag COLUMN_VECTOR ShortText Here is the sample data: load --table WebClips [ {"url": "http://groonga.org", "tag": ["groonga"], "content": "groonga is fast"}, {"url": "http://mroonga.org", "tag": ["mroonga"], "content": "mroonga is fast"}, ] Specify column name as an argument of html_untag function. According to above sample schema, if you want to get plain text of content column, use html_untag(content). Here is the sample query which returns plain text of content column: select WebClips --output_columns "html_untag(content)" --command_version 2 Here is the execution result of above query: [[2], [ ["html_untag", "null"] ], ["groonga is fast"], ["mroonga is fast"] ] You can see that span tag with a class attribute is eliminated. Note that you need to specify with --command_version 2 if you use html_untag function. Without this, you can't get intended search results. There is a reason why html_untag is supported. It is a demand that we want to search scraped HTML contents which is stored into groonga database, then extract highlighted search results which does not contain extra noisy HTML tags. It is assumed to use with the snippet_html function (it isn't supported yet). Here is the concrete processing flow: original HTML -(html_untag)-> plain text -(snippet_html)-> highlighted HTML It isn't supported combination usage of html_untag and snippet_html yet, but it will be supported in the future release. Conclusion See Release 3.0.5 2013/06/29 about detailed changes since 3.0.4. Let's search by groonga! over 3 years ago
Sticker data have been published Sticker data have been published The groonga project publishes sticker data for groonga and groonga related projects such as mroonga . If you are using groonga and/or groonga related projects, please download and print them and stick the printed sticker to your note PC! Those stickers can be used under the CC-BY 3.0 license . There is an exception of the license. If you distribute printed stickers, you don't need to attribute the author. You can print downloaded stickers as is and distribute them without attributing the author. Please print and distribute groonga stickers for your friends! Go to the sticker download page! over 3 years ago
Groonga 3.0.3 has been released Groonga 3.0.3 has been released Groonga 3.0.3 has been released! How to install: Install There are two topics for this release. Supported to learn with the value of customized weight Supported to build customized groonga without changing spec file Notice release process about Fedora 18 Supported Ubuntu 13.04 Raring Ringtail Supported to learn with the value of customized weight In this release, learning with the value of customized weight has been supported. groonga supports three suggest related functionality such as completion, correction and suggestion. There is a need to learn properly for satisfying your demands. If you want to change the value of weight for each season, you need to re-learn some times for same data. This way has a performance penalty for big data. So, we has supported to customize the value of weight, there is no need to learn multiple times for same data. There is only one thing you need to do is customising configuration table before loading target data. Here is the concrete example such as suggesting in season vegetable. First, make database for example. % mkdir -p testdb % groonga -n testdb/db shutdown Second, make a table for learning by groonga-suggest-create-dataset command. % groonga-suggest-create-dataset testdb/db query At last, prepare dataset for learning. Note that changing the value of weight configuration before loading "cabbage" data. load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950808.86057, "item": "tomato in season vegetables", "type": "submit"} {"sequence": "1", "time": 1312950808.86057, "item": "sweet potato in season vegetables", "type": "submit"} {"sequence": "1", "time": 1312950808.86057, "item": "chinese cabbage in season vegetables", "type": "submit"} ] load --table configuration [ {"_key": "query", "weight": 10} ] load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950803.86057, "item": "cabbage in season vegetables", "type": "submit"}, ] So, let's try to use suggestion functionality. Here is the query to get suggestion result in season vegetables. suggest --table item_query --column kana --types suggest --frequency_threshold 1 --query season As a result, there are four results and you know that cabbage is in the best season by suggestion score. [ [0,1366613297.59312,0.000118494033813477], { "suggest":[[4], [ ["_key","ShortText"],["_score","Int32"]], ["cabbage in season vegetables",10], ["tomato in season vegetables",1], ["chinese cabbage in season vegetables",1], ["sweet potato in season vegetables",1] ] } ] Previously, you need to do learning many times by followings way to achieve same effects. load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950803.86057, "item": "cabbage in season vegetables", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "cabbage in season vegetables", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "cabbage in season vegetables", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "cabbage in season vegetables", "type": "submit"}, ... Supported to build customized groonga without changing spec file This release began to add a parameter for building customized version of groonga. For example, if you want to customize stack size which groonga uses, you need to change the spec file about --with-stack-size= option. %configure --disable-static --with-package-platform=redhat --with-stack-size=4096 --with-zlib %if %{use_lzo} --with-lzo %endif --with-munin-plugins In this release, you can specify additional parameter as a rpmbuild command's one. There is no need to modify spec file directly. % rpmbuild --rebuild --define 'additional_configure_options --with-stach-size=4096' groonga-3.0.3-0.el6.src.rpm Notice release process about Fedora 18 Since groonga 3.0.2 release, we had stopped to provide groonga packages by self hosted yum repository. Instead, we only provides groonga packages via Fedora official yum repository. There is no need for Fedora users to regist groonga self hosted repository now. We cooperate with Mr. Daiki Ueno who maintaines groonga packages so far in Fedora official repository. But there is a bit time lag about two or three weeks until you can install latest release. Supported Ubuntu 13.04 Raring Ringtail This release began to support Ubuntu 13.04 Raring Ringtail which is released at Apr 25, 2013. See the install documentation about details. Conclusion See Release 3.0.3 2013/04/29 about detailed changes since 3.0.2. Let's search by groonga! over 3 years ago
More ordure hither this artefact Bar worrying fro common side effects of Brimonidine <a href=" http://www.sildenafilsamples.com/ ">viagra generic</a>. Their gentle type makes them without difficulty acceptable <a href=" http://viagra-100mgbestprice.net/ ">viagra price</a> without seeking treatment. Non-violent side effects are in a nutshell bermuda shorts lasting. Some of common side effects of Brimonidine <a href=" http://viagrafreetrialpack.com/ ">generic viagra</a> uneasiness in eyes, giddiness, dizziness, pain in supervisor, <a href=" http://viagratrialcoupon.com/ ">viagra cost</a>, dull eyes, aflame in eyes etc. Examine take peaceful side effects with doctor merely if they block representing longer time. almost 3 years ago
fluent-plugin-groonga 2012-12-29, fluent-plugin-groonga 1.0.1 was released. You can use fluent-plugin-groonga to replicate your groonga databases with fluentd . What's "fluent-plugin-groonga" ? fluent-plugin-gronga is the fluentd plugin collection. It is implemented by Ruby. Usually, fluentd is used as event log collector, but fluent-plugin-groonga uses fluentd as message router. Fluent-plugin-groonga implements replication for groonga by transfering queries to one or more groonga servers. Without fluent-plugin-groonga, a groonga client and a groonga server communicate to each other. Fluent-plugin-groonga can send queries from this client to multiple groonga servers or other fluentds. You can replicate your groonga databases with fluent-plugin-groonga between client and servers. Fluent-plugin-groonga includes two plugins named each "groonga". They are input plugin and output plugin. Next, please see for their details. Input plugin Input plugin receives groonga commands sent by a groonga client. These commands ordinary sent to groonga servers. Next, input plugin send these commands to output plugin via zero or more fluentds. If no fluentd exists, commands are sent to output plugin directly. Input plugin provides two interfaces, HTTP or GQTP (groonga original protocol), to receive groonga commands. These interfaces are compatible of groonga server, so you can use input plugin as same as groonga server. Output plugin Output plugin sends groonga commands to groonga servers. This plugin supports all interfaces of groonga (HTTP, GQTP and command). You don't have to use the same interface as one specified to input plugin. Additionally, you can use copy output plugin to duplicate commands. How to install To install fluent-plugin-groonga, please run below command only: % gem install fluent-plugin-groonga The source code of fluent-plugin-groonga is hosting by GitHub likewise groonga and related projects. Documents The documents of fluent-plugin-groonga contains examples about replitaion constitution and how to configure . With them, please try to replicate your groonga database with fluent-plugin-groonga! If you have some troubles or features you want, you can notify us with groonga's mailing list (groonga-talk) and pull requests in GitHub. over 3 years ago
Worldwide Communication Handy viagra without a doctor prescription 253751 <a href=http://www.viagrawithouta-doctorsprescription.net/>viagra without a doctor prescription</a> 224918 <a href=http://www.viagrawithoutascript.com>viagra without a doctor prescription</a> fiokfq <a href=http://viagrawithoutadoctorprescriptions.net/>viagra without a doctor prescription</a> jwxmzl <a href=http://sildenafilwithoutadoctorsprescription.com/>viagra without a doctor prescription</a> 908135 over 3 years ago
doors are black.” back. http://sonsola.ru/ron_15136.html not certain. over 3 years ago
My look forward to retailing! I was truly not very sure hither <a href=" http://vardenafil.us.com/ ">levitra coupon</a>, as there are a lot of myths and fake reviews to throw, but from my derogatory experience it does not barely make my <a href=" http://www.walgreensviagra.net/ ">viagra prices at walgreens</a> fine fettle, but it also be experiencing helped a quantity in improving my relationship with my better half, <a href=" http://medicationsoverthecounter.com/ ">over the counter diuretics</a> I motionless that, is is a miracle which happened in my life. <a href=" http://finasteride.us.com/ ">finasteride</a> can, additionally, lead actor to harm of mental placidity and even extended amount of frustration in life. almost 3 years ago
behind him, growling. “Boy?” The Greatjon dealt Rickard Karstark a buffet with a mailed fist that sent the http://tidafuj.ru/fas_18098.html and Stone to the Gates of the Moon on the valley floor. There was no place to go and over 3 years ago
Groonga 2.1.1 has been released We released groonga 2.1.1 just after 2.1.0. 2.1.1 release is the bug fix release. It is the bug related KEY_NORMALIZE. Groonga 2.1.1 has been released On 2012-12-29, groonga 2.1.1 has been released. How to install: Install See Release 2.1.1 2012/12/29 about detailed changes since 2.1.0. The bug that KEY_NORMALIZE related infomations are deleted The previous version groonga (2.1.0) has the bug that KEY_NORMALIZE related infomations are deleted when it opens databases created old groonga (2.0.9 or ealier). KEY_NORMALIZE is the value for flags option in table_create command. With support of --normalizer option since 2.1.0, KEY_NORMALIZE is deprecated. Instead of, it is recommended to specify --normalizer with NormalizerAuto. Because of this change, groonga updates flags values from KEY_NORMALIZE to --normalizer with NormalizerAuto. However, this update was not working. This couses the bug that KEY_NORMALIZE related infomations are deleted. In 2.1.1, we has fixed this bug. If you use 2.1.0, please update groonga to 2.1.1. Note about opening databases created groonga 2.0.9 or earlier By the support of --normalizer, please take care in opening your databases created 2.0.9 or earlier. If you once open your old databases (created by no --normalizer supported groonga) with new groonga (2.1.0 or later), you can't open them with old groonga. You shouldn't use multiple versions groonga. Conclusion Groonga 2.1.0 includes many improvements, support of continuous line in command list, support of the expression as snippet_html() function arguments, and so on. See Release 2.1.0 2012/12/29 about detailed changes at 2.1.0. Let's search by groonga! over 3 years ago
Groonga 2.1.0 has been released Since groonga 2.0.0 had been released, many improvements, changes, or bug fixes was shipped. So it is a time to increment minor version (2.1.0) instead of micro version (2.0.x)! :-) Groonga 2.1.0 has been released Groonga 2.1.0 has been released! How to install: Install There are three topics for this release. Supported the expression as snippet_html() function arguments Supported --normalizer option for table_create command Supported continuous line in command list Supported the expression as snippet_html() function arguments This release began to support the expression as snippet_html() function arguments. Note that this is experimentally supported API, so this API would be changed in the future. In previous release, snippet_html() fuction accepts following syntax: snippet_html(column name) In this release, snippet_html() fuction accepts following expression for example: snippet_html("STRING" + "STRING") Here is the more concrete example what this change means. Schema definition: table_create Documents TABLE_NO_KEY column_create Documents title COLUMN_SCALAR ShortText column_create Documents content COLUMN_SCALAR Text table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Terms document_title_index COLUMN_INDEX|WITH_POSITION Documents title column_create Terms document_content_index COLUMN_INDEX|WITH_POSITION Documents content Sample data: load --table Documents [ ["title", "content"], ["Groonga overview", "Groonga is a fast and accurate full text search engine based on inverted index."], ["Full text search and Instant update", "In widely used DBMSs, updates are immediately processed, for example, a newly registered record appears in the result of the next query."], ["Column store and aggregate query", "People can collect more than enough data in the Internet era."] ] In previous release, you can't specify multiple column as argument of snippet_html() function, even if you want to search 'Groonga' from title or content column all at once and extract 'Groonga' and surrounding text from Documents table. There was a limitation that snippet_html() function accepts either title column or content column as argument in previous release. In this release, you can specify concatenated column name and literal as argument of snippet_html. Here is the query to search 'Groonga' from title column or content column all at once. select Documents --match_columns title||content --query 'Groonga' --output_columns 'snippet_html(title + " " + content)' --command_version 2 [ [0,1356406051.43579,0.000200510025024414], [ [ [1], [ ["snippet_html","null"] ], [ ["Groonga overview Groonga is a fast and accurate full text search engine based on inverted index."] ] ] ] ] As a result, specified keyword is surrounded by <span> tag, and keyword 'Groonga' and surrounding text are extracted from title column and content column. The literal " " is added to insert space for formatting snippet. You can get a highlighted search results easily. See following documentation about snippet_html details. Supported --normalizer option for table_create command This release began to support normalizer plugin API. groonga supports NFKC as Unicode normalizing method. In this release, you can specify normalizer to each table. By supporting this feature, mroonga may be able to support normalizer which is equal to MySQL COLLATION in the future. Here is the syntax specifying normalizer. table_create Terms TABLE_PAT_KEY ShortText --normalizer NormalizerAuto Specify --normalizer option with NORMALIZER NAME when you create table. It is equivalent to specify KEY_NORMALIZE and to specify --normalizer NormalizerAuto. There is no sample normalizer plugin, but there is a published API in groonga/normalizer.h for developer. Supported continuous line in command list This release began to support continuous line in command list. In the previous release, continuous line is not accepted. So, you must write command list in line previously. Before: table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText --default_tokenizer TokenBigram After: table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText --default_tokenizer TokenBigram Now, you can write command list with continuous line which is represented by '' character. Conclusion See Release 2.0.9 2012/11/29 about detailed changes since 2.0.9. Let's search by groonga! over 3 years ago
Groonga 2.0.9 has been released Groonga 2.0.9 has been released Groonga 2.0.9 has been released! How to install: Install There are four topics for this release. Supported snippet_html() function Supported nested index search among related table by column index Supported range search by using index Supported calculation across meridian, equator, the date line by geo_distance() function Supported snippet_html() function This release began to support snippet_html() function which extract keyword and surrounding text. Note that this is experimentally supported API, so this API would be changed in the future. Use snippet_html() fuction following syntax: snippet_html(column name) Here is the more concrete example. Schema definition: table_create Documents TABLE_NO_KEY column_create Documents content COLUMN_SCALAR Text table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText --default_tokenizer TokenBigram column_create Terms documents_content_index COLUMN_INDEX|WITH_POSITION Documents content Sample data: load --table Documents [ ["content"], ["Groonga is a fast and accurate full text search engine based on inverted index."], ["Groonga is also a column-oriented database management system (DBMS)."], ["Mroonga was called groonga storage engine."] ] If you want to search 'groonga' and extract 'groonga' and surrounding text from Documents table, try following: Here is the query to search 'groonga' with snippet_html function. select Documents --output_columns "snippet_html(content)" --command_version 2 --match_columns content --query "groonga" [ [0,1353893385.5454,0.000486850738525391], [ [ [3], [["snippet_html","null"]], [["Groonga is a fast and accurate full text search engine based on inverted index."]], [["Groonga is also a column-oriented database management system (DBMS)."]], [["Mroonga was called groonga storage engine."]] ] ] ] As a result, specified keyword is surrounded by <span> tag, and keyword 'groonga' and surrounding text is extracted like a highlighted search results. Note that you need to specify '--command_version 2' in the query. The reason why function call in --output_column has supported from version 2.0.9. See following documentation about snippet_html details. Supported nested index search among related table by column index This release began to support nested index search among related table by column index. If there are relationships among multiple table with column index, you can search multiple table by specifing column index name. Here is the concrete example. there are tables which store blog articles, comments for articles. The table which stores articles has columns for article and comment, and the comment column refers comments table. The table which stores comments has columns for comment and column index to article table. In the previous release of groonga, if you want to search the articles which contain specified keyword in comment, you need to execute fulltext search for table of comment, then search the records which contains fulltext search results. Now, you can search the records by specifing the refererence column index at once. here is the sample how to use this feature. Schema definition: table_create Comments TABLE_HASH_KEY UInt32 column_create Comments content COLUMN_SCALAR ShortText table_create Articles TABLE_NO_KEY column_create Articles content COLUMN_SCALAR Text column_create Articles comment COLUMN_SCALAR Comments table_create Lexicon TABLE_PAT_KEY|KEY_NORMALIZE ShortText --default_tokenizer TokenBigram column_create Lexicon articles_content COLUMN_INDEX|WITH_POSITION Articles content column_create Lexicon comments_content COLUMN_INDEX|WITH_POSITION Comments content column_create Comments article COLUMN_INDEX Articles comment Sample data: load --table Comments [ {"_key": 1, "content": "I'm using groonga too!"}, {"_key": 2, "content": "I'm using groonga and mroonga!"}, {"_key": 3, "content": "I'm using mroonga too!"} ] load --table Articles [ {"content": "Groonga is fast!", "comment": 1}, {"content": "Groonga is useful!"}, {"content": "Mroonga is fast!", "comment": 3} ] You can write the query that search the records which contains specified keyword as a comment, then fetch the articles which refers to it. select Articles --match_columns comment.content --query groonga --output_columns "_id, _score, *" You need to concatinate comment column of articles table and content column of comments table with period(.) as --match_columns arguments. At first, this query execute fulltext search from content of comments table, then fetch the records of articles table which refers to already searched records of comments table. (Because of this, if you comment out the query which create column index 'article' of comments table, you can't get intended search results.) [ [0,1353903149.81632,0.000459432601928711], [ [ [1], [["_id","UInt32"],["_score","Int32"],["comment","Comments"],["content","Text"]], [1,1,1,"Groonga is fast!"] ] ] ] Now, you can search articles which contains specific keywords as a comment. Supported range search by using index This release began to support range search by using index. As a result, you can search in a short time by contrast to previous release. Here is the sample how to use this feature. Schema definition: table_create Shops TABLE_HASH_KEY ShortText column_create Shops ranking COLUMN_SCALAR UInt32 table_create Rankings TABLE_PAT_KEY UInt32 column_create Rankings shops_ranking COLUMN_INDEX Shops ranking Sample data (ranking data about 10,000,000 shops): load --table Shops [ {"_key": "Shop1", "ranking": 1}, {"_key": "Shop2", "ranking": 2}, {"_key": "Shop3", "ranking": 3}, {"_key": "Shop4", "ranking": 4}, {"_key": "Shop5", "ranking": 5}, {"_key": "Shop6", "ranking": 6}, {"_key": "Shop7", "ranking": 7}, {"_key": "Shop8", "ranking": 8}, {"_key": "Shop9", "ranking": 9}, {"_key": "Shop10", "ranking": 10}, {"_key": "Shop11", "ranking": 11}, ... ] Now, registered shop name as a key, the value of ranking. Here is the sample query to search top 10 shops of ranking. In range search, you can specify 'Top 10' expression as 'ranking <= 10' in this case. Here is the search results by groonga 2.0.8. select Shops --filter 'ranking <= 10' [ [0,1355465886.15137,1.39784264564514], [ [ [10], [ ["_id","UInt32"],["_key","ShortText"],["ranking","UInt32"] ], [1,"Shop1",1], [2,"Shop2",2], [3,"Shop3",3], [4,"Shop4",4], [5,"Shop5",5], [6,"Shop6",6], [7,"Shop7",7], [8,"Shop8",8], [9,"Shop9",9], [10,"Shop10",10] ] ] ] Here is the search results by groonga 2.0.9. select Shops --filter 'ranking <= 10' [ [0,1355465837.0779,0.00165677070617676], [ [ [10], [ ["_id","UInt32"],["_key","ShortText"],["ranking","UInt32"] ], [1,"Shop1",1], [2,"Shop2",2], [3,"Shop3",3], [4,"Shop4",4], [5,"Shop5",5], [6,"Shop6",6], [7,"Shop7",7], [8,"Shop8",8], [9,"Shop9",9], [10,"Shop10",10] ] ] ] The search result is same, but the execution time is different. [0,1355465886.15137,1.39784264564514], In groonga 2.0.8, it takes 1.39784264564514 seconds. [0,1355465837.0779,0.00165677070617676], In groonga 2.0.9, it takes 0.00165677070617676 seconds. See Output Format about the output of groonga command details. Version of groonga groonga 2.0.8 groonga 2.0.9 Execution time(seconds) 1.39784264564514 0.00165677070617676 By upgrading 2.0.8 to 2.0.9, you can see the execution time is clipped to about a few milliseconds. Here is the measurement environment: CPU Intel® Core i7-2640M CPU @ 2.80GHz Memory 8GB Supported calculation across meridian, equator, the date line by geo_distance() function This release began to support calculation of the value of distance across meridian, equator, the date line by geo_distance() function. This functional enhancement is applied to the case which the way to approximate is 'rectangle'. There are some calculation method how to approximate the value of distance. Groonga supports folowing three method which has trade-offs in point of view of speed, acculacy. Rectangle This regards geographical feature between specified points as level surface. You can calculate the value of distance fast, but the error of distance increases as it approaches the pole. Sphere This regards geographical feature between specified points as spherical surface. It is slower than rectangle, but the error of distance becomes smaller than rectangle. Ellipsoid This regards geographical feature between specified points as ellipsoid. It is slower than sphere, but the error of distance becomes smaller than sphere. Here is the sample how to caluculate the value of distance across meridian. This sample shows the value of distance between Paris(France) to Madrid(Spain). The geographical feature is approximated as level surface (rectangle). "175904000x8464000" means Paris(France) expressed in milliseconds. "145508000x-13291000" means Madrid(Spain) expressed in milliseconds. select Geo --output_columns distance --scorer 'distance = geo_distance("175904000x8464000", "145508000x-13291000", "rectangle")' [ [ 0, 1337566253.89858, 0.000355720520019531 ], [ [ [ 1 ], [ [ "distance", "Int32" ] ], [ 1051293 ] ] ] ] See following documentation how to express longitude and latitude in milliseconds See following documentation how to use geo_distance Conclusion See Release 2.0.9 2012/11/29 about detailed changes since 2.0.8. Let's search by groonga! over 3 years ago
Groonga 2.0.8 has been released Groonga fulltext search engine meetup We hold a event groonga fulltext search engine session next month! Location: VOYAGE GROUP, Inc. Shibuya First Place Bldg. 8F Seminar room Shinsen-cho 8-16, Shibuya, Tokyo Google Maps Date: 2012/11/29 19:00 - 21:00 JST (Open: 18:30, Party starts 21:00) Reservation: via ATND event page See ATND event page about event details. Now, we are looking for the speakers! Deadline for submission is Nov 04 23:59, 2012 (JST). There is a benefit for the speaker that fee of party is free. NOTE: ATND is the web site which support to announce event and keep track of who's attending. Groonga 2.0.8 has been released Groonga 2.0.8 has been released! How to install: Install There are two topics for this release. Supported custom query expansion by plugin Supported Ubuntu 12.10 (Quantal Quetzal) Supported custom query expansion by plugin This release began to support custom query expansion by plugin. Groonga already supports query expansion, but it requires table which stores synonyms beforehand. Here is the more concrete example. Schema definition: table_create Memos TABLE_NO_KEY column_create Memos content COLUMN_SCALAR ShortText table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon diary_content COLUMN_INDEX|WITH_POSITION Memos content table_create Synonyms TABLE_PAT_KEY ShortText column_create Synonyms words COLUMN_SCALAR ShortText Sample data: load --table Memos [ ["content"], ["Start groonga!"], ["Start mroonga!"], ["Start rroonga!"], ["Start Ruby!"], ["Learning Ruby and groonga..."], ] load --table Synonyms [ ["_key", "words"], ["groonga", "(groonga OR rroonga OR mroonga)"] ] If you want to search 'groonga' with expanded query 'rroonga' and 'mroonga', you need to setup synonyms table 'Synonyms' at first. Then, you can search 'groonga' with automatically expanded keyword 'rroonga' and 'mroonga' from content column of Memos table. Here is the query to search 'groonga' with query expansion. > select --table Memos --query_expansion Synonyms.words --match_columns content --query groonga [[0,1350898793.34538,0.00174403190612793], [ [[4], [ ["_id","UInt32"],["content","ShortText"]], [1,"Start groonga!"], [5,"Learning Ruby and groonga..."], [3,"Start rroonga!"], [2,"Start mroonga!"] ] ] ] On the other hand, custom query expansion by plugin has supported. As proof of concept, example plugin QueryExpanderTSV is bundled in this release. Here is the more concrete example how to use QueryExpanderTSV. Using QueryExpanderTSV, you doesn't need to setup table for synonyms anymore. There are two differences between builtin query expansion and QueryExpanderTSV. Describe tab separated text file Specify plugin name to --query_expansion Here is the example about tab separated file with synonyms. groonga[TAB]groonga[TAB]rroonga[TAB]mroonga Here is the query to search 'groonga' with QueryExpanderTSV. > select --table Memos --query_expansion QueryExpanderTSV --match_columns content --query groonga This query is equivalent to following: --query "((groonga) OR (rroonga) OR (mroonga))" The synonyms template file is installed as /etc/groonga/synonyms.tsv. You can customize this file on your purpose. If you want to put somewhere else, set GRN_QUERY_EXPANDER_TSV_SYNONYMS_FILE environment variable. Supported Ubuntu 12.10 (Quantal Quetzal) Ubuntu 12.10 Quantal Quetzal had been released Oct 18, 2012. This release began to support Ubuntu 12.10 by providing deb packages. Conclusion See Release 2.0.8 2012/10/29 about detailed changes since 2.0.7. Let's search by groonga! over 3 years ago
Groonga 2.0.7 has been released Groonga 2.0.7 has been released Groonga 2.0.7 has been released! How to install: Install There are three topics for this release. Supported to load command by POST Changed package name and port number for server use Supported min and max function Supported to load command by POST This release began to support groonga-httpd load command by POST. Here is the more concrete example. Schema definition: table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText column_create --table Site --name title --type ShortText You can use browser based admin tool by accessing http://localhost:10041/. Create Site table and title column. After creating Site table and title column, then prepare the POST data as JSON format. Sample POST data: [ {"_key": "site1", "title":"Web site1 title"} ] Execute curl command to post sample data. % curl -X POST 'http://localhost:10041/d/load?table=Site' --verbose -H 'Content-Type: application/json' -d @postbody.txt You can get following results: * About to connect() to localhost port 10041 (#0) * Trying 127.0.0.1... connected > POST /d/load?table=Site HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: localhost:10041 > Accept: */* > Content-Type: application/json > Content-Length: 50 > * upload completely sent off: 50out of 50 bytes < HTTP/1.1 200 OK < Server: nginx/1.2.1 < Date: Tue, 25 Sep 2012 05:38:24 GMT < Content-Type: application/json < Content-Length: 45 < Connection: keep-alive < * Connection #0 to host localhost left intact * Closing connection #0 [[0,1348551504.38352,0.000763893127441406],1]% Now, you have loaded sample data by POST. Changed package name and port number for server use This release began to reconfigure packages for server use. The groonga project had been provided following packages for server use. groonga-server (HTTP server package) groonga-httpd (HTTP server package) It is inconvenient for GQTP server use. And there is a problem that port number is conflicted (10041). Then, we have split groonga-server package into independed one which provides HTTP or GQTP protocol server functionality and reassigned port number for server use. groonga-server-http (HTTP server 10041 port) groonga-server-gqtp (GQTP server 10043 port) Note: groonga-server-http package and groonga-httpd package are exclusive one. Supported min and max function This release began to support min and max function. The min function returns the minimum value within given arguments. The man function returns the maximum value within given arguments. These function enable you to customize full-text search results when the value of score about search results is unevenly distributed. Schema definition: table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText column_create --table Site --name title --type ShortText column_create --table Site --name point --type Int8 table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title Sample data: load --table Site [ {"_key":"http://example.org/","title":"This is test record 1!","point":1}, {"_key":"http://example.net/","title":"test record 2.","point":2}, {"_key":"http://example.com/","title":"test test record three.","point":3}, {"_key":"http://example.net/afr","title":"test record four.", "point":4}, {"_key":"http://example.org/aba","title":"test test test record five.","point":5}, {"_key":"http://example.com/rab","title":"test test test test record six.","point":0}, {"_key":"http://example.net/atv","title":"test test test record seven.","point":7}, {"_key":"http://example.org/gat","title":"test test record eight.","point":8}, {"_key":"http://example.com/vdw","title":"test test record nine.","point":9}, ] For example, There is a situation that you want to execute full-text search by specified word (test) stored at title column. (There are some data that the value of importance is already stored at point column.) If you want to get matched and sorted results with specified word (test), here is the query. > select --table Site --query title:@test --output_columns _id,_score,title,point --sortby -_score,-point ["_id","UInt32"],["_score","Int32"],["title","ShortText"],["point","Int8"] [6,4,"test test test test record six.",0], [7,3,"test test test record seven.",7], [5,3,"test test test record five.",5], [9,2,"test test record nine.",9], [8,2,"test test record eight.",8], [3,2,"test test record three.",3], [4,1,"test record four.",4], [2,1,"test record 2.",2], [1,1,"This is test record 1!",1] But, it returns "test test test test record fix." as best matched result. The min function satisfy the demand that you want to customize the matched results by eliminating unwanted ones. There is the way to customize the value of _score column by using min function. > select --table Site --query title:@test --output_columns _id,_score,title,point --scorer '_score = min(_score, 3) --sortby -_score,-point ["_id","UInt32"],["_score","Int32"],["title","ShortText"],["point","Int8"] [7,3,"test test test record seven.",7], [5,3,"test test test record five.",5], [6,3,"test test test test record six.",0], [9,2,"test test record nine.",9], [8,2,"test test record eight.",8], [3,2,"test test record three.",3], [4,1,"test record four.",4], [2,1,"test record 2.",2],[1,1,"This is test record 1!",1] Now, you can get the intended results which consider matched results and the value of importance. Conclusion See Release 2.0.7 2012/09/29 about detailed changes since 2.0.6. Let's search by groonga! over 3 years ago
Groonga CloudSearch 1.2.0 has been released Groonga CloudSearch 1.2.0 has been released We have released Groonga CloudSearch 1.2.0. Groonga CloudSearch is a full text search system based on groonga. It provides Amazon CloudSearch compatible API. It is useful if you are planning to build new Web apps with the Amazon CloudSearch. This release includes improvements about authentication, so you'll be able to use Groonga CloudSearch on the Web safely. See the blog post for more details. over 3 years ago
Groonga CloudSearch 1.1.0 has been released Groonga CloudSearch 1.1.0 has been released We have released Groonga CloudSearch 1.1.0. Groonga CloudSearch is a full text search system based on groonga. It provides Amazon CloudSearch compatible API. It is useful if you are planning to build new Web apps with the Amazon CloudSearch. over 3 years ago
Groonga 2.0.4 has been released Groonga 2.0.4 has been released Groonga 2.0.4 has been released! How to install: Install There are three topics for this release. Added nginx based HTTP server Improved documents Improved geo_distance to reduce limitations Added nginx based HTTP server Groonga provides a minimal built-in HTTP server functionality. As groonga does not support security related stuff, you need to use alternative solution to restrict the connection source. (Example: iptables) Groonga 2.0.4 privides new command, groonga-httpd . groonga-httpd processes HTTP requests by embedded nginx. (groonga stil supports --protocol option with "http") As a result, you can benefit from advanced features of nginx. There are many advantages by using nginx based groonga-httpd. Support filter include gzip HTTP1.1 Keep-alive and pipelined connections support Customize access log formats Access control based on client IP address and HTTP Basic authentication Limiting the number of simultaneous connections or requests coming from one address SSL and TLS SNI support Name based virtual server Benefit from stability that nginx proved See groonga-httpd about nginx based HTTP server. Note that groonga-httpd supports Debian/Ubuntu/CentOS/Fedora distribution only. groonga-httpd does not support Windows currently. groonga-httpd support will be added in the future release. Improved documents The documentation was updated. We will update the documentation continuously in the future. We improved the description about grn_expr which is an object that searches records with specified conditions and manipulates a database. Also, added descriptions about full text search, phrase search, prefix search condition, suffix search condition and so on. There are a schema definition and sample data with execution example, you can try examples immediately about query syntax. Improved geo_distance to reduce limitations Groonga provides built-in functions which calculates the value of distance between two geo graphical points. And you can select the method of approximation how to approximate the geographical features within square approximation, spherical approximation or ellipsoid approximation. There are the limitations that geo_distance can not calculate the value of distance across the meridian, the date line or the equator accurately. This release partially improves the problem if you use square approximation. For example, if there are points in northern hemisphere, geo_distance returns the accurate value of distance even thought the line connecting the two points accorss the boundary. Conclusion See Release 2.0.4 2012/06/29 about detailed changes since 2.0.3. Let’s search by groonga! over 3 years ago
Groonga 2.0.2 has been released Groonga 2.0.2 has been released Groonga 2.0.2 has been released! How to install: Install There are three topics for this release: The package sign key is changed Supported similar search! Added suggest page for administration page The package sign key is changed The package sign key is changed since this release. Here is the new sign key: % gpg --list-keys --fingerprint 45499429 pub 1024D/45499429 2012-04-28 Key fingerprint = C97E 4649 A205 1D0C EA1A 73F9 72A7 496B 4549 9429 uid groonga Key (groonga Official Signing Key) If you have already installed groonga packages, you need to import the new key by the followings: Debian/Ubuntu: % sudo apt-get update % sudo apt-get -V -y install groonga-keyring CentOS/Fedora: % sudo yum makechace % sudo yum install --nogpgcheck -y groonga-repository Supported similar search! Similar search has been supported since this release! Similar search had been implemented internally but you can’t use it by select command. You can use similar search by select --filter "column *S 'TEXT'" . It means that groonga searches records that their document in column is similar to 'TEXT' . Added suggest page for administration page! Groonga has browser based administration tool. It supports suggest . Supported suggest feature is only search against existent suggest dataset for now. Other features like creating suggest dataset, learning, correcting learned data and so on aren’t supported yet. Conclusion See Release 2.0.2 - 2012/04/29 about detailed changes since 2.0.1. Let’s search by groonga! over 3 years ago
The new logos have been released The new logos have been released The groonga project has been released the new logos . The new logos for groonga related projects have also been released. They are licensed under the CC-BY 3.0. If you are a groonga user, please use them and spread groonga to the world! :-) over 3 years ago
Groonga 1.3.0 has been released Groonga 1.3.0 has been released Groonga 1.3.0 has been released! How to install:: Install Rename commands are added table_rename and column_rename commands are added. They can rename table name and column name. Here are usages: table_rename: > table_rename ${table_name} ${new_table_name} The following example renames Users table to People table: > table_rename Users People column_rename: > column_rename ${table_name} ${column_name} ${new_column_name} The following example renames name column of Users table to nick column: > column_rename Users name nick Now, we are easy to try variable schema. :-) Changes Changes since 1.2.9: Release 1.3.0 - 2012/01/29 over 3 years ago
sricjgwt loans for bad credit <a href="https://quickloans.cars">payday loans for bad credit</a> loans <a href=https://quickloans.cars>loans</a> over 1 year ago
bvroooqqzq 4nWKfF <a href="http://zygdtzvuahhl.com/">zygdtzvuahhl</a>, [url=http://dnmlyqvlamsr.com/]dnmlyqvlamsr[/url], [link=http://dxpefoeccoyf.com/]dxpefoeccoyf[/link], http://aqaccdfvayia.com/ over 2 years ago
Groonga 2.0.6 has been released Groonga 2.0.6 has been released Groonga 2.0.6 has been released! How to install: Install There are three topics for this release. Supported to search the records which does not contain the specified words Added the documentation about groonga for server use Supported http_rewrite_module for groonga-httpd Supported to search the records which does not contain the specified words This release began to support searching the records which does not contain the specified words. You can search the records which does not contain 'tomorrow' by following query: (This example use a table named diaries which has the column named content.) select diaries --match_columns content --query "-tomorrow" --query_flags ALLOW_LEADING_NOT Note that you must use --query_flags with ALLOW_LEADING_NOT. Don't use ALLOW_LEADING_NOT frequently since it is a heavy processing. There is another useful option in --query_flags. Usually, --query with "title:keywords" parameter is treated as "Search keywords from title column". This is the spec of groonga full-text search. So, you can not search the records without interpreting the specified keyword. There is a problem if the specified keyword contained ':'. You can specify 'NONE' as a parameter of --query_flags option in such a case. Here is a example to search todo: select diaries --match_columns content --query "todo:" --query_flags NONE There are many parameter with –query_flags option . Added the documentation about groonga for server use The documentation was added. We will update the documentation continuously in the future. This release provides a hint to choice groonga as a full-text search engine for server use. There are two protocol (GQTP and HTTP) which groonga provides. Also, groonga provides two independent implementation about HTTP protocol. You may be confused what to choose. So, we documented the comparison table about groonga for server use. Supported http_rewrite_module for groonga-httpd This release began to support PCRE auto detection for groonga-httpd. As a result, http_rewrite_module has been enabled in this release. See nginx website about http_rewrite_module details: Conclusion See Release 2.0.6 2012/08/29 about detailed changes since 2.0.5. Let's search by groonga! over 3 years ago
Groonga 2.0.5 has been released Groonga 2.0.5 has been released Groonga 2.0.5 has been released! How to install: Install There are four topics for this release. Supported near search by 'column *N "word1 word2 ..."' in script syntax Improved documents Improved groonga-httpd Improved geo_distance to reduce limitations Supported near search by 'column *N "word1 word2 ..."' in script syntax groonga has prepared syntax for near search, but it does not work. The operator does near search with words 'word1 word2 ...'. Near search searches records that contain the words and the words are appeared in the near distance. The unit of near distance is the number of characters in N-gram family tokenizers and the number of words in morphological analysis family tokenizers. Near distance is always 10 for now. The syntax for near search is 'column *N "word1 word2 ..."'. Improved documents The documentation was updated. We will update the documentation continuously in the future. groonga has specific syntaxes which specify conditional expressions. It is similar to ECMAScript. We improved the description about basic ECMAScript related syntaxes, some literals, specific operators for searching and so on. There are a schema definition and sample data with execution example, you can try examples immediately. Improved groonga-httpd There are two points which improved groonga-httpd functionality. groonga-httpd supports to customize base URI prefix groonga-httpd supports multiple databases First, the functionality of customizing base URI prefix was added to groonga-httpd. There were the limitation which supports only /d/command?parameter1=value&... request form as well as groonga HTTP server. This release improves the functionality of customizing base URI prefix by adding groonga_base_path directive. Now that groonga-httpd accepts not only /d/ prefix request form, but also the others. So, utilize groonga_base_path, you can customize groonga-httpd to restrict the executable commands which depends authentication. Here is the example which restricts shutdown command using groonga_base_path Secondly, groonga-httpd supports multiple database. There is the limitation that groonga HTTP server can handle only 1 database per process. This release improves the functionality to be able to handle database per location by using location and groonga_database directive. Now that groonga-httpd can handle multiple databases as if one data source. See configuration-directives about directive and setting details. Improved geo_distance to reduce limitations Groonga provides built-in functions which calculates the value of distance between two geo graphical points. And you can select the method of approximation how to approximate the geographical features within square approximation, spherical approximation or ellipsoid approximation. There are the limitations that geo_distance can not calculate the value of distance across the meridian, the date line or the equator accurately. This release partially improves the problem if you use square approximation. For example, if there are points in southern hemisphere, geo_distance returns the accurate value of distance even thought the line connecting the two points accorss the boundary. Conclusion See Release 2.0.5 2012/07/29 about detailed changes since 2.0.4. Let’s search by groonga! over 3 years ago
Groonga CloudSearch 1.0.0 has been released Groonga CloudSearch 1.0.0 has been released The initial version of the Groonga CloudSearch has been released! Groonga CloudSearch is a full text search system based on groonga. It provides Amazon CloudSearch compatible API. It is useful if you are planning to build new Web apps with the Amazon CloudSearch. over 3 years ago
Groonga 2.0.3 has been released Groonga 2.0.3 has been released Groonga 2.0.3 has been released! How to install: Install This release fixes several bugs. We recommend upgrading to groonga 2.0.3 to users who are matched the following cases: Using &! operator in --filter argument of select command. (&! operator is undocumented, so we guess there are few people affected) Updating data of the following schema by rroonga: There is a table that has KEY_NORMALIZE flag. There is a vector column whose type is the table. There is an index for the vector column. See the following URL for details. example: rroonga / test / test-table.rb There are two topics for this release: Improved documents Improved build process (CMake support) Improved documents The documentation was updated. We will update the documentation continuously in the future. First, we improved the excecution example format in the documentation. The old format was "prompt + command" and "execution results" as follows: > status [[...], ...] Now, we changed to use "command" and "commented out execution results" as follows: status # [[...], ...] Because of this change, execution examples become copy & paste friendly! (groonga just ignores lines that start with "#") Next, we added more description about the select command. The select command is one of the important commands which groonga provides. We will improve the documentation about the command. See the select command for details. Improved build process (CMake support) The groonga project supported building groonga by Visual Studio 2010 Express with CMake. Now, you can build groonga from source on windows environment easily. See the document about Windows:Build from source for details. Until this release we only support MinGW to build groonga for Windows. This release improved CMake support, so you can build Windows executables with Visual Studio 2010 Express. The groonga project officially provide configure + MinGW cross compiled binary as before. If you need a binary built with Visual Studio, see the documentation and build by yourself. (hint: the third party library was build by Visual Studio) The groonga project provides not only tar.gz but also zip archive. We recommend to use a zip archive for building from source on Windows environment. Also, we added a document for building in Oracle Solaris 11. Please see the document about Install:Oracle Solaris for details. Note that the groonga project does not provide packages for Oracle Solaris, you need to build groonga in this distribution. Conclusion See Release 2.0.3 - 2012/05/29 about detailed changes since 2.0.2. Let’s search by groonga! over 3 years ago
Groonga 2.0.1 has been released Groonga 2.0.1 has been released Groonga 2.0.1 has been released! How to install:: Install The new logos have also released As mentioned in the previous post, the new logos have been released under the CC-BY 3.0 license. If you are a groonga user, please use them and spread groonga to the world! :-) Changes Changes since 2.0.0: Release 2.0.1 - 2012/03/29 over 3 years ago
Purchase cheaply tabs no prescription cailis [url=http://cialisoverthe-counteratwalmart.com]cialis over the counter [/url] ed treatment options <a href="http://cialisoverthe-counteratwalmart.com">cialis over counter </a> - cialis pills online cialis cialis review over 3 years ago
Groonga 2.0.0 has been released Groonga 2.0.0 has been released Groonga 2.0.0 has been released! How to install: Install Offline index construction is supported Until now, groonga only supports online index construction because groonga values freshness. But groonga 2.0.0 supports offline index construction for a search system that updates documents by batch. Index construction throughput by offline index construction is 3 times - 10 times faster rather than one by online index construction. If your search system updates documents by batch, please use offline index construction. See also about indexing. Changes Changes since 1.3.0: Release 2.0.0 - 2012/02/29 over 3 years ago
Groonga 1.2.9 has been released Groonga 1.2.9 has been released Groonga 1.2.9 has been released! How to install:: Install The characteristics of groonga page is updated. Please check it out again if you already know groonga. You may find a new characteristic. MessagePack support Groonga supports JSON, XML, TSV output format. Since this release, groonga also support MessagePack output format. (NOTE: Only major commands are supported. There are some minor commands are not supported yet.) If you have a problem with JSON (e.g. JSON requires large ammount data size, long parse time and so on.), please try MessagePack output. Here is an example to use MessgaePack output with HTTP interface. You just add ".msgpack" extension to path. http://localhost:10041/d/select.msgpack?... You can use "–output_type msgpack" for command line interface or gqtp interface. select --output_type msgpack ... A throughput chart on administration page is added You can use groonga administration page at http://localhost:10041/ when you run groonga as a HTTP server. A real-time throughput chart has been added to the page. It will be useful when you use groonga with HTTP interface and want to know "the current throughput". If you want to know the past throughput, it will not be useful because the chart doesn’t keep the past data. You should use other service managerment tool or statistics visualization tool. Groonga also provides a Munin plugin, groonga_throughput, that generates throughput data of groonga. It supports both HTTP interface and gqtp interface. Mass delete You could only delete a record by a delete command. Since this release, you can delete some records that matches specified condition by a delete command. You can use "–filter" option for specifying condition on delete command. It uses the same syntax of "–filter" option of select command. Here is an example to delete records that has "deleted=true" column value from "users" table. delete users --filter 'deleted == true' Changes Changes since 1.2.8: Release 1.2.9 - 2011/12/29 over 3 years ago
Groonga 5.1.1リリース Groonga 5.1.1リリース 今日は今年最後の肉の日ですね! Groonga 5.1.1をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 主な変更点は以下です。大きな変更はありませんが、細かいバグが修正されたり、パフォーマンスが改善されたりしています。 [スクリプト構文] 特定の等価比較をサポートしているインデックスを使った検索を指定するために INDEX_COLUMN == VALUE と書けるようになりました。 転置インデックスモジュールから出力された連続した同じメッセージを圧縮して「○件同じメッセージが出力された」というログに変換するようにしました。 別のプロセスからtruncateされたテーブルを検出できるようになりました。 COLUMN @~ "CONSTANT_PATTERN" のように定数のパターンを指定した正規表現マッチでシーケンシャルスキャン検索になったときのパフォーマンスを改善しました。 [thread_limit] thread_limit?max=1 が現在実行中のスレッド数を 1 にしない可能性がある問題を修正しました。 [thread_limit] thread_limit?max=1 が返ってこないかもしれない問題を修正しました。 イベントのおしらせ 年明けには以下のイベントが予定されています。 1/15(金) Groongaで学ぶ全文検索 2016-01-15 2/9 (火) MySQLとPostgreSQLと日本語全文検索 Groonga Advent Calendar 2015 今月は12月ということで、毎年恒例のGroonga Advent Calendarが開催されました。 Groonga Advent Calendar 2015 - Qiita 当初はなかなか参加者が増えなかったのですが、最終的にはすべての日付が埋まり、25本の記事が揃いました。参加してくださったみなさん、ありがとうございました! 投稿された記事をいくつか紹介します。 groongaで学ぶ全文検索 2015-11-20 に参加しました Groongaのインデックスの仕組みがわかりやすくまとめられています。全文検索の基礎を知りたい方の参考になりそうな記事です。 Groongaの新しいAPIについてのご意見募集 GroongaのAPIの提案です。ユーザーの方からこういった提案があるのはうれしいことですね。興味がある方はコメントしてみてください。 全文検索エンジンGroongaからword2vecを簡単に使えるプラグイン 少し高度ですが、他の自然言語処理ツールとGroongaを組み合わせるときに参考になりそうな記事です。Groongaのプラグインの作り方については、Groongaプラグイン自作入門も参考にしてみてください。 さいごに 5.1.0からの詳細な変更点は5.1.1リリース 2015-12-29を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 5.1.0リリース Groonga 5.1.0リリース 今日は年に1度のいい肉の日ですね! Groonga 5.1.0をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースでの目玉変更点は次の通りです。 インデックスを再作成するreindexコマンドを追加 groonga-httpdの性能向上 前方一致RK検索機能を提供するprefix_rk_search()関数を追加 JSONをプリティープリントする機能を追加 それぞれ説明します。 reindexコマンド Groongaがメモリー不足やディスクフルなどの理由でクラッシュすると、データベースが壊れることがあります。もし、インデックスだけが壊れてデータが壊れていない場合はインデックスを作りなおすことで復旧することができます。 これまでは、インデックスを作りなおすには、1度インデックスを削除してから同じパラメーターで再度インデックスを作成する必要がありました。新しく追加したreindexコマンドを使うと、そのような手間はなくなります。作り直したいインデックスを指定すれば後はいい感じに作りなおしてくれます。 なお、データベースを復旧したい場合はreindexコマンドを使うよりも、grndb実行ファイルを使う方が便利です。壊れているかどうかのチェック、reindexコマンド相当のインデックス作成機能などを提供しています。 reindexコマンドは通常は使う必要はないコマンドですが、なにかあったときのために、こんなコマンドがあるということだけは覚えておいてください。 groonga-httpdの性能向上 groonga-httpdはnginxベースのGroonga HTTPサーバーです。groonga実行ファイルが提供するHTTPサーバーよりも多くのHTTP機能を提供していることが特徴です。たとえば、ユーザー認証やTLS、HTTP/2対応などを実現できます。違いの詳細はHTTPサーバーのドキュメントを参照してください。 ただし、多くの機能がある分、groonga実行ファイルが提供するHTTPサーバー機能の方がやや速いです。 今回のリリースではgroonga-httpd内部の処理を最適化し、性能向上を実現しました。groonga実行ファイルが提供するHTTPサーバー機能よりもやや遅いですが、差は縮まっています。 groonga-httpdを使っていてもう少し性能がでるとうれしいと思っていた人はこのリリースを試してみてください。 prefix_rk_search()関数を追加 Groongaは日本語向けの便利機能を提供しています。前方一致RK検索機能もその1つです。 前方一致RK検索はざっくり言うとローマ字でカタカナを検索できる機能です。(詳細は前方一致RK検索を確認してください。)この機能は、日本語テキストの入力補完に便利です。実際、この機能はサジェストの補完機能で使っています。 今回のリリースで新しく追加したprefix_rk_search()関数はselectコマンドの中で使えることが特徴です。selectコマンドは検索条件の指定やソートだけでなくドリルダウンなど、サジェスト機能が提供するコマンドより豊富な機能を持っています。つまり、selectコマンドで実現できると他の機能と組み合わせてより柔軟の検索を実現できます。 JSONのプリティープリント対応 GroongaはデフォルトでJSONで結果を返します。返すJSONはプログラムで扱いやすいように、次のように1行で表現しています。 > status [[0,1448344438.43783,5.29289245605469e-05],{"alloc_count":233,"starttime":1448344437,...}] たしかに、この表現はプログラムから扱いやすいのですが、人が確認することには向いていません。そこで、オプションを指定すればJSONを見やすい形に整形する機能(プリティープリント機能)を追加しました。この機能を使うと上述の例は次のようになります。 > status --output_pretty yes [ [ 0, 1448344438.43783, 5.29289245605469e-05 ], { "alloc_count": 233, "starttime": 1448344437, "start_time": 1448344437, "uptime": 1, "version": "5.0.9-135-g0763d91", "n_queries": 0, "cache_hit_rate": 0.0, "command_version": 1, "default_command_version": 1, "max_command_version": 2 } ] 目で結果を確認する場合は活用してください。 おしらせ このリリースのリリース日は年に一度のいい肉の日(11月29日)でした。今年もイベントを開催しました。Groongaに関する有益な情報がたくさんありました。イベントで使われた資料やイベントの様子が公開されているので参加できなかった方はイベントレポートを確認してみてください。 また、12月18日に次のイベントがあります。「Groongaで学ぶ全文検索」は予習・復習なしで全文検索を学ぶ、参加者に合わせて内容を決める、という限られた時間内でできるだけ実りある時間にしようというスタイルの勉強会です。全文検索を学びたい!という方はご活用ください。 Groongaで学ぶ全文検索 2015-12-18 さいごに 5.0.9からの詳細な変更点は5.1.0リリース 2015-11-29を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 5.0.8リリース Groonga 5.0.8リリース 今日は肉の日ですね! Groonga 5.0.8 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースの主なトピックは次の2点です。 一時テーブルにカラムを追加できるようになった HTTP/2対応 一時テーブルにカラムを追加できるようになった まだ、Groongaを全文検索サーバーとして使っているユーザーには目に見えるメリットはないのですが、今後の改良で重要になる機能が追加されました。それが一時テーブルにカラムを追加できる機能です。 今後、どのようなメリットがありそうかいくつか紹介します。 selectのoutput_columnsで出力値に名前をつけることができるようになります。SQLでいうAS alias_name機能です。 今は、output_columnsにsnippet_html(title)とsnippet_html(body)を指定するとどちらも出力名がsnippet_htmlになってしまいます。これを、snippet_html_title、snippet_html_bodyのように区別できるようになります。 selectのsortby・selectのdrilldownでカラム値そのものではなく、カラム値を加工した値でソート・ドリルダウンできるようになります。たとえば、Time型のカラムの値を加工して曜日にし、曜日でドリルダウンできます。今は、別の曜日カラムを用意し、loadするときに曜日を計算し、それを使ってドリルダウンする必要があります。(動的に計算する方が便利ですが、事前に曜日カラムを用意した方が速いので、今のやり方を使うケースもあるでしょう。) Mroongaのラッパーモードでトランザクション対応ストレージエンジン(たとえばInnoDB)をラップしているとき、ロールバックしてもインデックスが壊れないようにできます。トランザクション内での変更を一時テーブルとカラムに保存しておき、コミットされたときはそのデータを実際のテーブルに反映、ロールバックされたときは単純に破棄することができるからです。 HTTP/2対応 GroongaはHTTPを話せる全文検索サーバー機能を提供しています。この機能の実装は2つあり、1つはGroonga独自のHTTPサーバー実装で、もう1つはnginxモジュールでの実装です。このうち、nginxモジュールでの実装でHTTP/2を使えるようになりました。 先日リリースされたnginx 1.9.5から実験的な機能としてHTTP/2がサポートされています。Groongaはnginxをバンドルしてリリースしていますが、バンドルしているnginxのバージョンを1.9.5にし、HTTP/2を有効にしてビルドするようにしています。 groonga-httpd.confを次のように変更することでHTTP/2でGroongaを使うことができます。 http { server { # listen 10041; listen 10041 http2; # ... } } HTTP/2を使うと、通信量が削減され、スループットがあがる可能性があります。 おしらせ 今週は次のイベントがあります。Groongaに興味のある方はぜひお越しください。 [Groonga新リリース自慢会 5.0.8 - Groonga Doorkeeper](https://groonga.doorkeeper.jp/events/31904) Groongaで学ぶ全文検索 2015-10-02 さいごに 5.0.7からの詳細な変更点は 5.0.8リリース 2015-09-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
「Groongaで学ぶ全文検索」開催のお知らせ 「Groongaで学ぶ全文検索」開催のお知らせ 「Groongaで学ぶ全文検索」という全文検索とGroongaを学ぶ会を隔週で金曜日の夜に開催することにしました。最初の開催は今日(2015年9月18日)でした。 隔週開催の予定なので、次回開催予定日は2015年10月2日です。興味のある方はイベントページから参加登録してください。 今回は参加できないけど都合があえば参加したい、という方はGroongaコミュニティに参加してください。申し込みが始まったら通知が届くようになります。 対象者 対象者は全文検索・Groongaについての知識をつけたい人です。 内容 会は次のような流れで進行します。 時間 内容 19:30-19:40 参加者全員から「今の知識」と「どういう知識をつけられたらうれしいか」を聞いて内容を決める(*1) 19:40-20:00 Groongaの開発者は↑で決めた内容を参加者に説明する(*2)(*3)(*4) 20:00-20:45 参加者は理解したことをブログ記事にまとめる 20:45-21:00 参加者は↑でまとめたブログ記事を使いながら他の参加者に自分が理解したことを説明しフィードバックをもらう(*5) 21:00-21:15 参加者はもらったフィードバックをブログ記事に反映し、アップロードする 21:15-21:30 Groongaの開発者は内容説明時に省略した詳細など補足情報を提供する (*1) 会の内容は参加者にあわせてその場で決めます。前の会に参加していないとついていけない、という内容ではありません。初歩的な内容が適切な参加者と高度な内容が適切な参加者がいた場合は説明の時間を2回にわけるなど、内容とそれにあわせた進め方は柔軟に対応します。 (*2) ホワイトボードに図を描きながら説明します。図があった方が理解が進むためです。 (*3) 参加者はわからないところがあったら随時質問して理解に努めます。 (*4) もし、参加者の中に初歩的な内容が適切な人と高度な内容が適切な人がいた場合は、Groongaの開発者の代わりに高度な内容が適切な人(初歩的な内容は知っている人)に説明してもらうことがあります。これは、高度な内容が適切な人の理解をより深めるためです。だれかに説明することで自分が理解していない部分がわかることがあります。 (*5) 自分が理解できているか、理解していることが正しいかを確認します。理解できていない場合は説明に詰まるはずです。理解が正しくなければGroongaの開発者または他の参加者が教えます。これらをフィードバックとして自分の理解を深め、正しいものにします。 大事にすること この会で大事にすることは次のことです。 予習・復習がいらないこと 予習・復習が必要だと続けることが大変になります。準備無しで参加し、その場で完結(理解して、まとめたものを公開)し、会の後になにもしなくてもよいようにします。 参加者にもGroonga開発者にもメリットがあること 参加者は、説明を聞き、理解した内容をまとめてそれを確認してもらうことで正しく理解できるようになります。参加者は全文検索・Groongaについての知識をつけたい人なはずなのでこれはメリットになるはずです。 Groonga開発者は、参加者がまとめたブログ記事によりユーザーが増えるとメリットになります。 参加者がまとめたブログ記事 最初の会に参加した参加者がまとめたブログ記事です。参加しようかと考えている人は参考にしてください。 Groongaで学ぶ全文検索 2015-09-18 に参加した - "考え過ぎ"のブログ Groongaで学ぶ全文検索の仕組みに関して理解したことをまとめてみたの巻 | いきあたりばったり Groongaで学ぶ全文検索 2015-09-18に参加してきた - アペフチ(2015-09-18) Groongaで学ぶ全文検索 第1回 - Qiita GakuBlog | Groongaで学ぶ全文検索 2015-09-18に参加 まとめ 「Groongaで学ぶ全文検索」という全文検索とGroongaを学ぶ会を隔週で金曜日の夜に開催することにしました。 次回開催予定日は2015年10月2日です。イベントページで参加登録を受け付けています。最新の開催予定日は最新イベント一覧ページでご確認ください。 今回は参加できないけど都合があえば参加したい、という方はGroongaコミュニティに参加してください。申し込みが始まったら通知が届くようになります。 over 3 years ago
Rroonga 5.0.5リリース Rroonga 5.0.5リリース RubyからライブラリーとしてGroongaを使えるようにするRroongaのバージョン5.0.5をリリースしました! Rroongaを動かすためにはGroongaが必要ですが、Rroongaをインストールすると簡単にGroongaもインストールできるようになっています。一言で説明すると、gem install rroongaでいい感じになる、です。詳細はインストールドキュメントを参照してください。 変更内容 今回のリリースではGroonga 5.0.7をサポートしました。(RroongaとGroongaでバージョン番号が違うと混乱するので次のリリースからはあわせることにしましょう。そうしましょう。) つまり、Groonga 5.0.7で追加された「Windowsでのスパースファイルサポート(実験的)」を試すことができるということです。ということで、Windowsユーザーの方にはこの機能を試してフィードバックをしてくれることを期待しています。 Windowsでのスパースファイルサポート(実験的)のフィードバック方法 スパースファイルを使えるとなにが嬉しいかというとファイルサイズが小さくなるということです。Groongaはファイルにきっちりとデータを詰めていくのではなく、いろいろな場所にデータを書いていきます。そのため、入っているデータ量の割にファイルサイズが大きくなります。スパースファイルにすると隙間の部分には実際のディスクを使わなくなるので、実際のデータより少し大きいくらいのファイルサイズになることを期待しています。 次のスクリーンショットは64bit版Windows 7でチュートリアルを実行した直後のデータベースサイズです。(Rroongaのgemの中に入っているexample/bookmark.rbを実行するとチュートリアルを実行した直後のデータベースを作れます。) 左が通常通り実行した場合で、右がスパースファイルサポートを有効にした場合です。 どちらも「サイズ」は117MBで同じですが、「ディスク上のサイズ」は違います。通常通りの方は「サイズ」と同じ117MBですが、スパースファイルサポートを有効にした方は6.25MBになっています。約1/20になっています。 ファイルサイズが小さくなるかどうかはこのようにして確認できます。 スパースファイルサポートを有効にするには、「データベース・テーブル・カラムを作成する前」(重要!作成後では効果がない!)に「GRN_IO_USE_SPARSE」という環境変数に「yes」という値を設定してください。 たとえば、次のようなコードにするということです。 require "groonga" require "fileutils" ENV["GRN_IO_USE_SPARSE"] = "yes" # ← ポイント! db_path = "db/db" FileUtils.mkdir_p(File.dirname(db_path)) # 環境変数を指定した後にデータベース作成 Groonga::Database.create(:path => db_path) # 環境変数を指定した後にテーブル・カラム作成 Groonga::Schema.define do |schema| schema.create_table("...") do |table| # table.text("...") end end # ... 既存のプログラムを変えたくない場合はプログラムを実行する前に環境変数を設定してください。たとえば、コマンドラインから設定する場合は次のようにSETを使います。 > SET GRN_IO_USE_SPARSE=yes > ruby ... 既存のRroongaを使ったプログラムをあなたのデータで動かした結果をGitHubのissue #384 - Windows: スパースファイルの有効性を検証にコメントしてください。次の情報を含めてもらえると非常に助かります。 ディスク使用量(必須) パフォーマンス(可能なら) メモリー使用量(可能なら) 「既存のRroongaを使ったプログラム」は必ずしもあなたが開発したものでなくても構いません。たとえば、Milkodeを使った結果でもよいです。MilkodeはRroongaを使ったソースコード検索エンジンだからです。 Windowsユーザーのみなさん、ぜひGroongaの開発にご協力をお願いします! over 3 years ago
2015-04-13(月)19:15より南青山でGroongaソースコード読書会を開催予定 2015-04-13(月)19:15より南青山でGroongaソースコード読書会を開催予定 2015-04-13(月)19:15よりGroongaのソースコードを読んで全文検索エンジンの内部動作の理解を深めるイベントGroongaソースコード読書会を開催する予定です。場所は南青山で会場提供はビジネスバンクグループさんです。ありがとうございます! 対象者は次の通りです。興味のある方はぜひご参加ください。 全文検索エンジンの中身に興味がある 次のどちらかを満たしている C言語でプログラムを書いたことがある人 C言語でプログラムを書いたことはないけど他の言語ではプログラムを書いた経験はあり、C言語の文法は知っている人 over 3 years ago
Groonga 5.0.1リリース Groonga 5.0.1リリース 今日は肉の日ですね!Groonga 5.0.1 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回の主な変更点は次の通りです。 非互換な変更 スコアに関連したDB APIの非互換な変更があります 改良 正規表現による検索のサポート Windowsでデータベースの初期サイズをデフォルトでよりコンパクトに 実験的な変更 頻出トークンとレアトークンを同時に検索するときの高速化 それでは、いくつか簡単に紹介します。 非互換な変更 - スコアに関連したDB APIの非互換な変更があります 今回のリリースではDB API層に非互換な変更がはいりました。以下の2点を修正する必要があります。 内部で使っている_scoreの型の変更に追従する grn_search_optargを0で初期化する 新旧のGroongaで正しく動作するようにするには次のように_scoreの型変更に対応したコードに修正してください。 grn_obj *score; double score_value; if (score->header.domain == GRN_DB_FLOAT) { score_value = GRN_FLOAT_VALUE(score); } else { score_value = (double)GRN_INT32_VALUE_FLOAT_VALUE(score); } また、grn_search_optargを次のように0で初期化してください。 grn_search_optarg options; memset(&options, 0, sizeof(grn_search_optarg)); すでに上記のようにしているなら、リビルドしなおす(ABIの変更に追従)だけです。 改良 - 正規表現による検索のサポート 今回のリリースでは、正規表現を使った検索をサポートしました。 select コマンドの query オプションと filter オプションで正規表現を使えます。注意しないといけないのは、query と filterとでは構文がちょっと違うことです。 queryの場合: ${COLUMN}:~${REGULAR_EXPRESSION} filterの場合: ${COLUMN} @~ ${REGULAR_EXPRESSION} 「:~」と「@~」の違いは、Groongaの設計の違いによるものです。 queryはクエリー構文を記述するのに対して、filterにはスクリプト構文を記述する必要があります。 この構文の違いは filter のほうが複雑な条件を記述できるように設計されたためです。 インデックスを使って高速に検索することもできます。そのためには、次の条件を満すインデックスを作成します。 語彙表は TABLE_PAT_KEY テーブルであること。 語彙表は TokenRegexp トークナイザーを使っていること。 インデックスカラムは WITH_POSITION フラグ付きであること。 つまり、次のようなカラムインデックスを作成します。 table_create RegexpLexicon TABLE_PAT_KEY ShortText \ --default_tokenizer TokenRegexp \ --normalizer NormalizerAuto column_create RegexpLexicon logs_message_index \ COLUMN_INDEX|WITH_POSITION Logs message こうすることで、上記の例だとmessageカラムをインデックスを使って正規表現による検索をすることができるようになります。 詳細については正規表現のドキュメントを参照してください。 改良 - Windowsでデータベースの初期サイズをデフォルトでよりコンパクトに 今回のリリースでは、データベースの初期サイズを小さくし、ディスク使用量を削減する仕組みをデフォルトで有効にしました。これはGroonga 4.1.1ではいった実験的な機能を正式に採用したものです。 これまで、WindowsではGNU/Linuxとは異なりかなりサイズが大きい初期ファイル(128MiB)をデフォルトで使っていました。 このデータベースファイルはカラムを作れば作るだけ増えていくので、登録しているデータが少ない場合にはかなり無駄な領域があることになります。 これはあまり嬉しくないので、WindowsでもGNU/Linux環境と同じように必要に応じて追加していくようにデフォルトの挙動を変更したのが今回の変更です。 以下のメールに詳しいことが書いてあります。 [groonga-dev,03036] Windowsでの動作確認のお願い ongaeshiさんがテストに協力してくれました。ありがとうございます! この変更により、後方互換性(新しいGroongaで古いGroongaのデータベースを開ける)は保たれますが、前方互換性(古いGroongaで新しいGroongaのデータベースを開ける)は失われていることに注意してください。 実験的な改良 - 頻出トークンとレアトークンを同時に検索するときの高速化 今回のリリースでは、 頻出トークンとレアトークンを同時に検索したときの検索を高速に行えるようになりました。「同時に」というのがポイントです。この機能はデフォルトでは無効です。 この機能を有効にするには、次の環境変数を指定する必要があります。 GRN_II_CURSOR_SET_MIN_ENABLE=1 注意事項として、ある程度のサイズの文書量がないと改善の効果を体感できないというのがあります。 この機能の詳細についてはメーリングリストの次の投稿を参照してください。 [groonga-dev,03095] 頻出トークンとレアトークンを一緒に検索したときの性能向上パッチ 期待通りに改善している報告があつまったらデフォルトで有効にします。 さいごに 5.0.0からの詳細な変更点は 5.0.1リリース 2015-03-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
увеличенный Незапятнанный разученный однокашник по холодильным установкам обследует 24 часа в сутки и сделает http://www.xolodremont.ru/ живым манером на даче с документами на всевозможные работы.Выучить и перекатать любые листы цен вы можете у нас на сайте. over 3 years ago
PGroonga(ぴーじーるんが) 1.0.1リリース PGroonga(ぴーじーるんが) 1.0.1リリース 今日は今年最後の肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの1.0.1をリリースしました! PGroongaについてはPGroonga 1.0.0のリリースアナウンスを参照してください。 変更点 1.0.0からの変更点は次の通りです。 トークナイザー・ノーマライザーを使わない場合に'none'と指定できるようになりました。(例:tokenizer='none')以前は空文字列(例:tokenizer='')を指定する方法だけが使えましたが、'none'も使えるようになりました。参考:CREATE INDEX USING pgroonga CREATE DATABASE TABLESPACEに対応しました。データベース単位で関連ファイルの置き場所を変更できます。 正規表現を使った検索でシーケンシャルスキャンを使うケースが動かない問題を修正しました。 アップグレード方法 1.0.0と互換性があります。アップグレードの「互換性がある場合」用の手順でアップグレードしてください。 おしらせ 来年の年に一度の肉の日、2016年2月9日にMySQLとPostgreSQLと日本語全文検索というイベントを開催します。イベントでは利用事例を紹介してくれる人を募集しています。以下のプロダクトを使っていて10分ほどで事例紹介してる人は須藤(kou@clear-code.com)にお声がけください! PGroonga pg_bigm PGroongaだけでなく全文検索についても興味がある方は来年の1月15日に開催の「Groongaで学ぶ全文検索」への参加もご検討ください。「Groongaで学ぶ全文検索」は予習・復習なしで全文検索を学ぶ、参加者に合わせて内容を決める、という限られた時間内でできるだけ実りある時間にしようというスタイルの勉強会です。全文検索を学びたい!という方はご活用ください。 Groongaで学ぶ全文検索 2016-01-15 まとめ PGroongaの新しいリリースを紹介しました。 PostgreSQLで高速に日本語全文検索をしたいという方はPGroongaを使ってガンガン検索してください! over 3 years ago
Droonga 1.0.3 をリリースしました Droonga 1.0.3 をリリースしました Droonga 1.0.3 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、サービスを停止させることなくクラスタのノード構成を変更できるようになりました。詳しくは、 ダンプとリストアの手順 と replicaの構成の変更手順 の2つの新しいチュートリアルを参照してください。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga Meatup 2015開催 Groonga Meatup 2015開催 撮影:@koyhogeさん、ライセンス:CC BY-SA 2.0 2015年11月29日にGroonga Meatup 2015を開催しました! 会場提供・懇親会飲食物提供のぐるなびさん、TMIXで作成したイベントTシャツ提供のspice lifeさん、ありがとうございました。おかげで華のあるイベントになりました。 また、当日イベントを手伝ってくれたみなさん、ありがとうございました。おかげでスムーズに進行できました。 以下はTMIXで作成したTシャツを着た運営メンバーです。本当にお世話になりました。 撮影:@mine_takeさん 参加者のみなさんもありがとうございます。充実した時間になったでしょうか? イベントの内容がわかる情報を以下に列挙するので、当日参加できなかった方、参加したけど復習したい方は活用してください。(情報が更新されたら随時ここを更新します。) 「Groonga Meatup 2015」のまとめ - Togetterまとめ いい肉の日に開催,Groonga Meatup 2015レポート ~今年は新たにPGroongaが仲間に:レポート|gihyo.jp … 技術評論社 Groonga Meatup 2015 - YouTube 当日の内容を録画した動画です。 20151129-Groonga Meatup | Flickr @koyhogeさんが撮影してくれた写真です。 Groonga Meatup 2015:Groonga族2015 #groonga @ktouさんの発表資料です。 grn_ts の紹介 - Groonga Meatup 2015 @s-yataさんの発表資料です。 Mroongaの導入事例を話してきました #groonga - (゚∀゚)o彡 sasata299's blog @sasata299さんの発表資料です。 Rubyでプラグインを作れる分散全文検索エンジンDroonga @KitaitiMakotoさんの発表資料です。 MroongaとownCloudの良い関係 Groonga Meetup 2015 @ukitiyanさんの発表資料です。 Groongaでのタグ検索と表記揺れとの戦い at Groonga Meatup 2015 - CreateField Blog @naoa_yさんの発表資料です。 Droongaを転職情報サイトで使ってみた話 瀬戸隆太さんの発表資料です。 Groonga導入事例 Hiroyuki Sato(@hiroysato)さんの発表資料です。 GroongaアプリケーションをDockerコンテナ化して配布する @ongaeshiさんの発表資料です。 それでは、また来年、いい肉の日にお会いしましょう! over 3 years ago
Groonga Meatup 2015 Tシャツ Groonga Meatup 2015 Tシャツ 2015年11月29日開催のGroonga Meatup 2015開催まであと9日です。このイベント用のTシャツを作ったので紹介します。 こんなデザインが前面にプリントされたTシャツです。肉の日らしいステキなデザインですね! オリジナルTシャツ作成サービスTMIXを運営されているspice lifeさんがスポンサーとしてこのデザインのTシャツを作成してくれました。サイズと数は次の通りです。作成したTシャツはイベントで参加者にプレゼントします。 S: 1枚 M: 2枚 L: 2枚 XL: 1枚 Tシャツは現時点での申し込み人数(約60人)の10%の6枚です。10人に1人はもらえますが、希望者が多い場合はもらえません。 絶対欲しい!という方のために、TMIXへの入稿データ(Adobe Illustratorのファイル)を用意しています。ログインしてデザインデータ入稿ページから好きなTシャツを選んでこのファイルをアップロードすると同じデザインのTシャツを作れます。 注意点ですが、11月23日(月)の午前中までに注文しないと11月29日には間に合わないことです。自分で注文する人は注意してください! なお、イベントの開催情報は次の通りです。ぜひお越しください。 開催日時:2015年11月29日(日) 13:30-17:30(13:00開場) 開催場所:株式会社ぐるなび本社15F会議室(近くの駅は有楽町駅、日比谷駅、銀座駅です。) 定員:90名 参加費:無料 イベント終了後、同じ会場で懇親会を開催します。無料で参加できるのでこの機会に開発者や他のユーザーと情報交換してください。 なお、会場提供も懇親会の飲食物提供もぐるなびさんです。懇親会費が無料なのはぐるなびさんのおかげです。ありがとうございます!実は、ぐるなびさんはGroonga開発当初(SennaからGroongaに改名した頃)からのユーザーで、ぐるなびさんからのフィードバックはGroonga開発の大きな助けになっています。ありがとうございます! ぐるなびさんがいかにGroongaを使い込んでいるかがわかる文章をサービス開発の魂│エンジニア採用情報│採用情報 - ぐるなび企業情報から引用します。 ユーザーがより早く、より簡単に「行きたいな」と思えるお店が見つかるように取り組んでいる。ぐるなびレストラン検索の検索エンジンとして採用しているのが、オープンソースの全文検索エンジンの「Groonga」だ。未来検索ブラジルが開発している「Groonga」は、ぐるなび以外でもさまざまなメジャーサイトで使われている全文検索エンジンである。しかしぐるなびほど、使いこなしているところはないとも言い切る。それはぐるなびが同検索エンジンの誕生当初から深く関わってきたからだ。ぐるなびからの提案で同エンジンに機能を追加してもらうことも多々行ってきた。またそのような機能追加をお願いすることも、レストラン検索の開発者の役割である。 それでは、今年もいい肉の日にみなさんにお会いできることを楽しみにしています! over 3 years ago
Groonga 5.0.9リリース Groonga 5.0.9リリース 今日は肉の日ですね! Groonga 5.0.9 をリリースしました! それぞれの環境毎のインストール方法: インストール 次の条件に当てはまる人はアップグレードを推奨します。 5.0.3-5.0.8を使っている テーブルにパトリシアトライ(TABLE_PAT_KEY)を使っている パトリシアトライを使ったテーブルのレコードを削除している 変更内容 今回のリリースではパトリシアトライ関連の次の問題を修正しています。そのため、前述の条件に当てはまる人はアップグレードしてください。 要素を削除するとパトリシアトライが壊れてしまう可能性がある 存在しない要素を削除しようとするとパトリシアトライが壊れてしまう可能性がある パトリシアトライが壊れている場合は存在するはずのレコードが見える、同じレコードが複数回見える、テーブル全体のレコード数として返される値と実際にアクセスできるレコード数が違う、といった現象が発生します。 それ以外では次の変更があります。 C APIの拡充 [実験的] クエリー書き換えメカニズムを追加 [実験的] データベースに設定を保存するメカニズムを追加 schemaコマンドを追加 grn_tsを組み込み それぞれ説明します。 C APIの拡充 Groongaは単独で全文検索サーバーとして動くこともできますが、ライブラリーとして他のシステムに組み込むことができます。これは、Groonga開発当初から大事にしてきたことです。 Groongaを他のシステムに組み込んでいる例として、MySQLに組み込んだMroonga、PostgreSQLに組み込んだPGroonga、Rubyに組み込んだ(Rubyのライブラリーとして使えるようにした)Rroongaなどがあります。 他のシステムに組み込むと、いつもの慣れた方法で全文検索機能を使えるようになります。たとえば、Mroonga/PGroongaはSQLでGroongaが提供する全文検索機能を使えます。Groongaが提供するコマンド群を覚える必要がないので学習コストが大きく下がります。 C APIを拡充すると、他のシステムに組み込むときに便利になる、より多くのGroongaの機能を組み込んだシステムから使えるようになる、といったメリットがあります。そのため、今回のリリースに限らず今後も必要なAPIについては追加で提供するようにしていきます。 [実験的] クエリー書き換えメカニズムを追加 Groongaはselectの--query・--filterで指定された検索条件を評価する前に内部で最適化した上で実行しています。 今回のリリースでは検索条件を最適化する前に検索条件を書き換える機能を導入しました。検索条件を書き換えることができると、たとえば次のようなことを実現できます。 最適化 条件を変更 常に特定の条件を挿入 それぞれもう少し説明します。 現在実行している最適化は式の順番までは入れ替えません。しかし、検索条件を書き換える機能では式の順番も入れ替えることができます。これにより、現在実行している最適化機能よりアグレッシブな最適化を実現することができます。 スキーマを管理している人とselectを実行している人がわかれていると、スキーマを変えたくても使っている人がいるから変えられないということがあります。そのような場合でも、サーバー側で検索条件を変更することで、クライアント側を変更しなくても新しいスキーマを使って動くようにできます。 常に特定の条件を挿入することで一部のデータが必ずヒットしないようにすることができます。これをクライアント側を変更せずにサーバー側だけで実現できます。 他にも使い道はいろいろあるはずです。 検索条件を書き換える機能はプラグインとしてユーザーが後から追加できるようになっています。ユーザーはこの機能をRuby(mruby)で実装します。 具体的な実装法は今後ドキュメントを提供する予定です。 [実験的] データベースに設定を保存するメカニズムを追加 Groongaにはいくつか決め打ちになっていることがあります。たとえば、TokenFilterStopWordが使っているis_stop_wordというカラム名です。多くの場合は困りませんが、既存のカラム名と名前が重複してしまったときに困ります。 このように、Groongaが提供する値はあるが特定のデータベースでは違う値を使いたいというケースに対応するため、データベース単位で設定を保存できるようにしました。これを使うと、あるデータベースではisStopWordというカラム名を使う、ということができるようになります。 今はC APIしか提供していませんが、今後のリリースでconfig_get・config_setといったコマンドを提供していく予定です。 schemaコマンドを追加 Groongaはtable_listやcolumn_listといったスキーマの一部を取得コマンドを提供しています。すべてのスキーマを取得するときはdumpコマンドを使います。 dumpコマンドは便利ですが、スキーマの情報をプログラムで加工することには不向きです。Groongaコマンドのフォーマットだからです。table_listやcolumn_listはJSONなのでパースしやすいですが、Groongaコマンドのフォーマットはそういうわけにはいきません。 そこでschemaコマンドを追加しました。このコマンドを使うことでテーブルやカラム、トークナイザーなどスキーマに関する情報をJSONで取得できます。スキーマを解析するプログラムを書きやすくなります。 grn_tsを組み込み Groongaはカラムストア方式のデータストアを提供しています。これは、カラム毎の集計操作(ドリルダウン)は重要な操作であり、この操作を高速に実現できることは大事なことであるという設計思想からきています。 grn_ts(ぐるんたす)はこのカラムストア方式の特徴をより強化するための新しいクエリー実行エンジンです。 以前のリリースまではgrn_tsを組み込むにはビルドオプションを指定する必要があったのですが、今回のリリースからデフォルトで組み込まれるようになりました。grn_tsを使ってクエリーを実行する方法はgrn_ts(ぐるんたす)の紹介を参照してください。 おしらせ 1ヶ月後は年に一度のいい肉の日(11月29日)です。今年もイベントを開催するので、Groongaを使っている、興味があるという方はぜひお越しください。今年はぐるなびさんに会場を提供してもらいます。さらに!ぐるなびさんから懇親会用の飲食物も提供してもらえることになりました!ありがとうございます! 無料で懇親会まで参加でき、Groongaの最新情報、他のユーザーがどのように使っているかの情報などを得ることができるイベントになっています。参加申し込みは↓のイベントページからお願いします。 Groonga Meatup 2015 このイベントでは参加者だけでなく発表者・イベント手伝い(受付など)をしてくれる方を募集しています。お気軽にご連絡ください。 Groonga Meatup 2015 - 発表応募 Groonga Meatup 2015 - イベント手伝い また、来週は次のイベントがあります。「Groongaで学ぶ全文検索」は予習・復習なしで全文検索を学ぶ、参加者に合わせて内容を決める、という限られた時間内でできるだけ実りある時間にしようというスタイルの勉強会です。全文検索を学びたい!という方はご活用ください。 Groongaで学ぶ全文検索 2015-11-06 さいごに 5.0.8からの詳細な変更点は5.0.9リリース 2015-10-29を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga Meatup 2015開催のおしらせ Groonga Meatup 2015開催のおしらせ Groongaは毎月肉の日(29日)に新しいバージョンをリリースし、年に一度、いい肉の日(11月29日)にイベントを開催しています。もちろん、今年もイベントを開催します。今年のイベント名は「Groonga Meatup 2015」です。 今日(2015年10月5日)からイベント参加登録を受け付けます!Groonga/Mroonga/PGroonga/Rroonga/…を使っている・興味のある方はぜひご参加ください。イベントページで参加登録できます。 現時点での開催情報は次の通りです。時間は多少前後する可能性があります。 開催日時:2015年11月29日(日) 13:30-17:30(13:00開場) 開催場所:株式会社ぐるなび本社15F会議室(近くの駅は有楽町駅、日比谷駅、銀座駅です。) 定員:90名 参加費:無料 イベント終了後、同じ会場で懇親会を予定しています。詳細は調整中ですが、お肉料理を用意する予定です。詳細は後日あらためて告知します。 参加者だけでなく発表者、イベントを手伝ってくれる方を募集しています。我こそは!という方はぜひご連絡ください。 発表者の募集についての詳細は発表者公募要項を参照してください。ざっくりというと、「Groonga/Mroonga/PGroonga/Rroonga/…を使っていて、『自分』がよいと思っていること」が入っている内容ならOKです!締め切りは設定していませんが、基本的に先着順で採択しますのでお早めに応募ください。募集人数は「イベントの時間が許す限り」です。10人は採択できる見込みです。 イベント協力者の募集についての詳細はGroonga Meatup 2015:イベント手伝い応募場所を参照してください。次のことについて手伝ってくれる人を募集します。 動画配信 イベントレポート Twitterでのイベント実況およびTogetterへのまとめ 当日の受付および会場係 懇親会スタッフ イベント協力者の募集は2015年10月31日(土)を締め切りにしています。11月頭に一度集まってより具体的な内容などを共有する予定です。 最後になりますが、会場提供をしてくれるぐるなびさん、ありがとうございます!実は、ぐるなびさんはGroonga開発当初(SennaからGroongaに改名した頃)からのユーザーで、ぐるなびさんからのフィードバックはGroonga開発の大きな助けになっています。ありがとうございます! ぐるなびさんがいかにGroongaを使い込んでいるかがわかる文章をサービス開発の魂│エンジニア採用情報│採用情報 - ぐるなび企業情報から引用します。 ユーザーがより早く、より簡単に「行きたいな」と思えるお店が見つかるように取り組んでいる。ぐるなびレストラン検索の検索エンジンとして採用しているのが、オープンソースの全文検索エンジンの「Groonga」だ。未来検索ブラジルが開発している「Groonga」は、ぐるなび以外でもさまざまなメジャーサイトで使われている全文検索エンジンである。しかしぐるなびほど、使いこなしているところはないとも言い切る。それはぐるなびが同検索エンジンの誕生当初から深く関わってきたからだ。ぐるなびからの提案で同エンジンに機能を追加してもらうことも多々行ってきた。またそのような機能追加をお願いすることも、レストラン検索の開発者の役割である。 それでは、今年もいい肉の日にみなさんにお会いできることを楽しみにしています! over 3 years ago
PGroonga(ぴーじーるんが) 0.9.0リリース PGroonga(ぴーじーるんが) 0.9.0リリース PostgreSQLからGroongaを使えるようにするPGroongaの0.9.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.9.0は0.8.0と互換性があるので、PGroonga用のインデックスを再作成する必要はありません。PGroongaをアップグレードし、接続しなおし、次のSQLを実行すればPGroonga 0.9.0になります。 ALTER EXTENSION pgroonga UPDATE; PGroongaの速度については次の記事を参考にしてください。 PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - ククログ(2015-05-25) 0.9.0での変更点 0.9.0ではjsonbをサポートしました! PostgreSQL 9.4からjsonb型が追加され、GINでインデックスを構築することにより高速にJSONを検索できるようになりました。 PGroongaもjsonb型に対応しました。GINでインデックスを構築した場合と同様に@>演算子を使った検索をインデックスを使って高速に実現できます。(@>演算子では検索条件にjsonb型の値を指定します。指定したjsonbを含んでいるレコードがマッチしているかどうかを返すのが@>演算子です。) 手元でのテストではGINよりPGroongaの方が高速に検索できていました。大量のJSONデータを持っている方は検証をお願いします。 PGroognaもGINも@>演算子の使い方は同じです。 まず、jsonb型のカラムがあるテーブルを作ります。 CREATE TABLE logs ( record jsonb ); インデックスを構築します。 CREATE INDEX logs_index ON logs USING pgroonga (record); -- PGroongaの場合 CREATE INDEX logs_index ON logs USING gin (record); -- GINの場合 データを投入します。 INSERT INTO logs VALUES ('{ "message": "GET /", "host": "www.example.com", "code": 200, "tags": [ "web", "example.com" ] }'); 検索します。PGroongaでもGINでも同じです。 SET enable_seqscan = off; SELECT record FROM logs WHERE record @> '{"host": "www.example.com"}'::jsonb; @>演算子についてはドキュメントも参照してください。 PGroongaは@>演算子だけでなく、@@演算子もサポートしています。 @>では指定したJSONがサブセットかどうかしか検索できません。そのため、JSON内の数値を範囲検索したり、文字列を全文検索したりできません。@@演算子はそのような高度な検索を実現できます。JsQueryを知っているなら、JsQueryのようなものだと思ってもらえればあっています。 JsQueryとの大きな違いはJSON内のすべての文字列に対して全文検索できることです。もちろん、日本語にも対応しています。 次のようにすると、JSON内のどこかにexample.comが含まれていればヒットします。 SELECT record FROM logs WHERE record @@ 'string @ "example.com"}'; @@演算子はより高度な検索ができる反面、条件を書くには少しコツがいります。詳細はドキュメントを参照してください。 実装に興味がある方はPGroongaでのJSON検索の実装方法 - ククログ(2015-09-30)を参考にしてください。 おねがい PGroongaは毎月のリリースを重ねて、性能も使い勝手も向上してきました。記事先頭の方で紹介したベンチマーク結果を見ると実用になる速度がでていることがわかります。 すでに実際に利用している人たちもいます。まだ利用していない人は、ぜひ、自分たちのシステムで実用できるか検討してみてください。PGroongaは既存の優秀な全文検索エンジンGroongaを利用しているため性能は折り紙つきです。(検討結果を広く公開してもらえると他のPostgreSQLユーザーに有益です!) また、ぜひ、PGroongaのjsonb対応の性能を検証して結果を公開してください。手元での検証では、インデックス作成時間はPGroongaの方がGINより少し遅く、ディスク使用量は多いです。一方、検索時間はPGroongaの方が少し速いです。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
Groonga Meatup 2015会場提供のお願い Groonga Meatup 2015会場提供のお願い Groongaは毎月肉の日(29日)に新しいバージョンをリリースしています。そして、年に一度、いい肉の日(11月29日)に「全文検索エンジンGroongaを囲む夕べ」というイベントを開催しています。 もちろん、今年も開催しますが、イベント名は「Groonga Meatup」になります。「Meet」(会う)ではなく、「Meat」(肉)です。「集まり」(meetup)と「肉」(meat)の日開催ということをかけています。言わせんな恥ずかしい。 今年は11月29日が日曜日のため、イベントは日中に開催します。そのため、「夕べ」ということに違和感があるということも理由です。(実は、去年の11月29日は土曜日で、去年も日中に開催したのですが、違和感を感じながらも「夕べ」で通しました。) イベント名変更の説明はこのくらいにして本題の話に入ります。 2015年11月29日(日) 13:00-18:00開催予定のGroonga Meatup 2015の会場を提供していくれる企業を探しています。次の条件にあった会場を提供していただける企業の方はイベント管理用のGitHubのissueにコメントするか、@groonga宛にツイートするか、groonga@groonga.org宛にメールしてもらえないでしょうか? 2015年11月29日(日) 12:00-19:00に使える 同じ会場でそのまま懇親会(飲食をする)もできるとうれしいです。その場合は21:00, 22:00くらいまで会場を使いたいです。 100人くらい入れる おととし(金曜)は156人で、去年(土曜)は78人だったため、今年(日曜)は去年と同じくらいになるだろうからです。 都心にある 都心の方がアクセスがよさそうで、そうすると参加者が参加しやすそうだからです。都心とは、たとえば山手線沿いのことです。 Groonga/Mroonga/PGroonga/Rroonga/…を使っている ユーザーの方に協力して欲しいです!また、できれば発表もして欲しいです! イベント開催へのご協力、よろしくお願いいたします! over 3 years ago
PGroonga(ぴーじーるんが) 0.8.0リリース PGroonga(ぴーじーるんが) 0.8.0リリース PostgreSQLからGroongaを使えるようにするPGroongaの0.8.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.8.0は0.7.0と互換性があるので、PGroonga用のインデックスを再作成する必要はありません。PGroongaをアップグレードし、接続しなおせばPGroonga 0.8.0になります。 PGroongaの速度については次の記事を参考にしてください。 PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - ククログ(2015-05-25) 0.8.0での変更点 0.6.0からの変更点は次の通りです。(0.7.0のリリースアナウンスをしていなかったので0.7.0の変更点も含みます。) 非互換:これまではPGroongaのログはPostgreSQLのログ出力の仕組みを使って出力していましたが、ファイルに出力するように変更しました。この挙動はpgroonga.log_type(後述)とpgroonga.log_path(後述)で変更できます。 pgroonga.log_type: ログの出力方法を変更する変数を追加しました。ファイル、Windowsイベントログ、PostgreSQLのログ出力機構、のどれかを選べます。 pgroonga.log_path: ファイルにログを出力するときの出力先のファイル名を変更する変数を追加しました。 pgroonga.log_level: ログレベルを変更する変数を追加しました。 pgroonga.lock_timeout: ロック獲得時のリトライ数を変更する変数を追加しました。 pgroonga.snippet_html: 指定したテキストから指定したキーワード周辺のテキストを抽出する関数を追加しました。よくWeb検索エンジンの検索結果に表示されているやつです。PGroongaの全文検索機能に依存していないので、この関数単独でも使えます。 Ubuntu 14.04 TLS (Trusty Tahr)のパッケージ提供を開始しました。 TRUNCATEすると動かなくなる問題を修正しました。 VACUUM時の処理を高速化しました。 pgroonga.log_typeのWindowsイベントログ出力とpgroonga.snippet_html関数は少し細かく説明します。 pgroonga.log_typeのWindowsイベントログ出力 次のように設定するとWindowsイベントログとしてログを出力できます。(通常は↓のようにSQLで設定せずにpostgresql.confに書いて設定します。) SET pgroonga.log_type = 'windows_event_log'; これだけでWindowsイベントログに記録されるのですが、この状態でイベントビューアーで表示すると警告メッセージがでてログを確認しづらいです。 次のようにコマンドプロンプトから「PGroonga」というイベントを登録することで、警告メッセージが消えて確認しやすくなります。Windowsイベントログを使うときは設定することをオススメします。 > regsvr32 /n /i:PGroonga ${PostgreSQLをインストールしたフォルダ}\lib\pgevent.dll なお、この手順はPostgreSQLでWindowsイベントログを利用する場合の手順と同様です。参考:WindowsにおけるEvent Logの登録 pgroonga.snippet_html関数 pgroonga.snippet_html関数を使うと該当テキスト中からキーワードが含まれている箇所の周辺テキストを抽出できます。Web検索エンジンは検索結果にこの情報を含めていることが多いので見たことがあるはずです。 例として、次のテキスト(Groongaの説明文)を使います。 Groonga is a fast and accurate full text search engine based on inverted index. One of the characteristics of Groonga is that a newly registered document instantly appears in search results. Also, Groonga allows updates without read locks. These characteristics result in superior performance on real-time applications. このテキストの中には「fast」というキーワードが含まれています。pgroonga.snippet_htmlを使うと「fast」周辺のテキストを抽出します。キーワードは「<span class="keyword">」と「</span>」で囲まれます。pgroonga.snippet_htmlのhtmlはHTMLとして出力するという意味だということです。 Groonga is a fast and accurate full text search engine based on inverted index. One of the characteristics of Groonga is that a newly registered document instantly appears in search results. Also, Gro なお、この機能はPGroongaで検索した結果以外にも使えます。そのため、次のようにFROMなしのSELECTでも使えます。なお、unnestは配列を行にするPostgreSQLの関数です。 SELECT unnest(pgroonga.snippet_html( 'Groonga is a fast and accurate full text search engine based on ' || 'inverted index. One of the characteristics of Groonga is that a ' || 'newly registered document instantly appears in search results. ' || 'Also, Groonga allows updates without read locks. These characteristics ' || 'result in superior performance on real-time applications.' || '\n' || '\n' || 'Groonga is also a column-oriented database management system (DBMS). ' || 'Compared with well-known row-oriented systems, such as MySQL and ' || 'PostgreSQL, column-oriented systems are more suited for aggregate ' || 'queries. Due to this advantage, Groonga can cover weakness of ' || 'row-oriented systems.', ARRAY['fast', 'PostgreSQL'])); -- unnest -- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Groonga is a <span class="keyword">fast</span> and accurate full text search engine based on inverted index. One of the characteristics of Groonga is that a newly registered document instantly appears in search results. Also, Gro -- ase management system (DBMS). Compared with well-known row-oriented systems, such as MySQL and <span class="keyword">PostgreSQL</span>, column-oriented systems are more suited for aggregate queries. Due to this advantage, Groonga -- (2 rows) pgroonga.snippet_htmlの使い方は次の通りです。 pgroonga.snippet_html(target, ARRAY[keyword1, keyword2, ...]) targetはtext型の値でキーワード抽出対象のテキストを指定します。 keyword1, keyword2, ...はtext型の配列で、抽出対象のテキストを指定します。1つ以上指定してします。 pgroonga.snippet_htmlはtext型の配列を返します。 配列の各要素にはキーワード周辺のテキストが含まれています。キーワードは「<span class="keyword">」と「</span>」で囲まれ、元のテキストに含まれる<, >, &, "はHTMLエスケープされます。 各要素に含まれる元テキストは最大200バイトになります。文字数ではなくバイト数です。これに加えて「<span class="keyword">」と「</span>」が増え、<や>を&lt;, &gt;などに変換するので、各要素のテキストは200バイト以上になることがあります。 おねがい PGroongaは毎月のリリースを重ねて、性能も使い勝手も向上してきました。上述のベンチマーク結果を見ると実用になる速度がでていることがわかります。 すでに実際に利用している人たちもいます。まだ利用していない人は、ぜひ、自分たちのシステムで実用できるか検討してみてください。PGroongaは既存の優秀な全文検索エンジンGroongaを利用しているため性能は折り紙つきです。(検討結果を広く公開してもらえると他のPostgreSQLユーザーに有益です!) また、公式サイト公開に向けて協力してくれる人も募集しています。http://pgroonga.github.io/で英語でも情報も公開しようと進めています。コードは書けないけど英語は書ける、デザインはできるなど協力してくれる方はGitHubのIssueにコメントを書いてください。まずはREADMEを英語に翻訳する作業があります。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
Groonga 5.0.6リリース Groonga 5.0.6リリース 今日は肉の日ですね。Groonga 5.0.6 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今月はパッケージまわりやプラグインまわりの更新が多くあります。 ニュースの各項目の先頭にタグがついているので、そこに自分の用途に該当する項目があった場合はアップデートを検討してください。 不明点はメーリングリストやGitHub Issuesなどでご質問ください。 今回のリリースの主なトピックは次の通りです。 Ubuntu 14.10 Utopicのサポート終了 ベクターカラムまわりの改善 shardingプラグインの更新(非互換含む) Ubuntu 14.10 Utopicのサポート終了 Ubuntu 14.10(Utopic Unicorn)のサポート期間が2015年7月23日で終了したので、Groongaもサポートをやめました。 具体的には、PPAで提供しているパッケージが前バージョンの5.0.5を最後に更新されなくなります。 お早めに新しいバージョン(15.04など)へアップグレードされることをおすすめします。 ベクターカラムまわりの改善 ベクターカラムまわりがいろいろと改善されて使いやすくなりました。 例えば、参照ベクターカラムの静的なインデックス構築(データをロードしてからインデックスを作成した場合に適用される構築方法)をサポートしたり、インデックスがなくてもselectコマンドの--filter引数の@演算子で検索できるようになったりしています。 詳細はニュースや以下のリファレンスをご覧ください。 7.17. インデックス構築 — Groonga v5.0.6ドキュメント 7.3.37. select — Groonga v5.0.6ドキュメント shardingプラグインの更新(非互換含む) 実験的な位置づけですが、shardingというプラグインがあります。 今月はこのプラグインまわりがいろいろと更新されました。 shardingプラグインを簡単に説明すると、複数のテーブルを1つのテーブルとして扱うことができるプラグインです。 複数のテーブルに分けることで、テーブルの最大レコード数などの制限を回避できるなどのメリットがあります。 ただし、テーブル名は命名規則に従って付ける必要があるなどの制約はあります。 詳細はニュースや以下のリファレンスをご覧ください。 7.3.22. logical_count — Groonga v5.0.6ドキュメント 7.3.25. logical_select — Groonga v5.0.6ドキュメント 9. 制限事項 — Groonga v5.0.6ドキュメント なお、shardingプラグインはmrubyで書かれています。 Groongaにはmrubyでプラグインを書くためのAPIが含まれており、今月はそれらのAPIもかなり更新されています。 さいごに 5.0.5からの詳細な変更点は 5.0.6リリース 2015-07-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Droonga 1.0.9 をリリースしました Droonga 1.0.9 をリリースしました Droonga 1.0.9をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースは、定例でない臨時のリリースです。 2014年のいい肉の日に開催された「検索エンジンGroongaを囲む夕べ5」 での、Droongaについての発表において遭遇してしまったいくつかの 不具合は、このリリースで修正されました! 詳細は上記のリリースアナウンスをご参照下さい。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
「全文検索エンジンGroongaを囲む夕べ5」開催 「全文検索エンジンGroongaを囲む夕べ5」開催 毎年11/29(いい肉の日)に開催している「全文検索エンジンGroongaを囲む夕べ」を今年も開催しました。今年は5回目なので全文検索エンジンGroongaを囲む夕べ5として開催しました。 今年はGMOメディアさんに協力してもらい、GMOインターネットグループ シナジーカフェ GMO Yoursで開催しました。会場提供だけではなく、スタッフやプチ懇親会の飲食物提供など大変たすかりました。GMOメディアさんはMroongaへのバグレポートなどで開発にも協力してくれています。ありがとうございます! Groongaプロジェクトも利用しているVPSサービスであるConoHaはクーポン券などを提供してくれました。ありがとうございます! 発表資料 発表資料は次の通りです。(今はリンクになっていない発表も資料が公開されしだいリンクを張ります。) 「Groonga族 2014」 - @ktouさん 「今年のMroonga」 - 斯波健徳さん 「Grnxx」 - @s5yataさん 「Droonga - 分散Groongaで快適レプリケーション生活」 - @piro_orさん 「Groongaの改良型Ngramトークナイザーの紹介」 - @naoa_yさん 「Groongaのテーブル構築をRubyでもっと簡単に書けるgrn_mini」 - おんがえしさん 「Goクライアントgorooの紹介」 - @hhattoさん 「某blogサービスの全文検索システムの話」 - @kazeburoさん 「Mroongaを社内クラウド的なMySQLプラットフォームに標準搭載している話」 - よしのさん 「ちいさなRailsアプリのRroonga」 - @hyoshihara04さん 「運用で使っているライブラリの話」 - @Ch_1012さん イベントの様子 イベントは@suzukiさんに協力してもらい、Ustreamで配信しました。今回のイベントでは安定度のあるネットワークを利用できたため全編ハイビジョンで配信できたとのことです。録画が残っているので、イベントに参加できなかった方は録画をご利用ください。 Twitterの様子は全文検索エンジンGroongaを囲む夕べ5 - Togetterまとめを参照してください。 イベントは記者の方が取材に来てくれていました。全文検索エンジンGroongaのこれからにまとまっているので発表資料などとあわせて読んでみてください。 「検索エンジン自作入門」サイン会 イベント会場内で検索エンジン自作入門サイン会を実施しました。本書を購入済みの方々は著者2人(グニャラくんと山田さん)のサインをもらっていました。検索エンジンの理解にぜひ本書を役立ててください! 無料相談コーナー イベント会場ではGroongaビジネスパートナーズの各社がGroonga関連の相談に無料でのってくれる相談コーナーを設置しました。休憩時間やプチ懇親会のときに有効活用してもらえたようです。 プチ懇親会 プチ懇親会では、便利に使っている!、こういう風にしたいんだけどどうしたらいい!?、ここがこうなるとうれしい!などたくさんのフィードバックをもらえました。今後の開発に活かしていきます。 直接会うといろいろフィードバックをもらえるので、今後もユーザーのみなさんと直接会う機会を作っていきたいです。 まとめ 今年も「全文検索エンジンGroongaを囲む夕べ」を開催できました。会場提供をしてくれたGMOメディアさん、発表者のみなさん、配信をしてくれた@suzukiさん、「検索エンジン自作入門」著者のグニャラくん・山田さん、Groongaビジネスパートナーズのみなさん、参加者のみなさん、ありがとうございました。 最後にGroonga関連情報の入手方法を紹介します。 12月はGroonga Advent Calendar 2014をチェックしてみてください。なにかGroonga関連の情報を持っているひとは小さなことでもよいので、ぜひ記事を書く側としても参加してみてください。 オフラインでは12/11(木)にGroongaドキュメント読書会6があります。Groongaの理解を深めたい方はぜひ参加してみてください。 それでは、来年もまた「全文検索エンジンGroongaを囲む夕べ」でお会いしましょう! over 3 years ago
Groonga 4.0.7リリース Groonga 4.0.7リリース 今日は肉の日ですね!Groonga 4.0.7 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回は2つの有用な機能が追加されています。まだ実験的な扱いですが、興味のある方はぜひ試してみてフィードバックをおねがいします。 カラム値の圧縮をサポート トークンフィルター機能を追加 カラム値の圧縮をサポート 今回のリリースでは、カラム値の圧縮をサポートしました。圧縮にはzlibまたはLZ4を使えます。 Groongaにはカラム値の合計の上限値が256GiBという上限がありますが、カラム値を圧縮することにより256GiB以上のデータを扱うことができます。 もともとGroongaでは、zlib/LZOを使った圧縮をサポートしてはいたのですが、内部的な実装の都合でメモリリークしてしまうという問題がありました。そのため、機能はあったのですが、 --with-lzo や --with-zlib 付きでビルドしても使えないようにしていました。 今回はそのあたりの実装の問題を@naoa_yさんのパッチをもとに解決することができました。そのため、今回のリリースから再びzlibの圧縮をサポートしました。なお、LZOをLZ4に変更したのは、LZ4の方が速度が速かったからです。(圧縮率は同じくらいです。)@naoa_yさんが測ってくれた結果(LZOとSnappyの結果、LZ4の結果)では、LZ4よりもSnappyの方が速かったですが、LZ4のサイトではLZ4の方が速いということなのでSnappyではなくLZ4を採用することにしました。 実際にカラムを圧縮するには、カラムをつくるときに COMPRESS_ZLIB もしくは COMPRESS_LZ4 を flags に指定してください。 column_create Entries content COLUMN_SCALAR|COMPRESS_ZLIB Text column_create Entries content COLUMN_SCALAR|COMPRESS_LZ4 Text なお、zlibとLZ4の傾向の違いは次の通りです。 zlibの方が圧縮率はよい LZ4の方が圧縮・展開速度が速い まずはLZ4を試してみて、それでもデータ量が多いならzlibを検討するのがよいでしょう。ただ、データ量が多いときはテーブル分割を考慮に入れた方がよいケースもあります。ベンチマークをとりながら検討してください。 実際に計測してはいませんが、数バイトや数10バイトなど小さいデータの場合は圧縮する方がサイズが大きくなる可能性があります。(メタ情報を追加したりするため。)そのため、ある程度大きめのデータに対してだけ使うことをオススメします。例えば、タグの値を入れたカラムなどは圧縮する意味はあまりありません。 なお、圧縮したカラムでもソートやドリルダウンをできますが、非圧縮のカラムより遅くなります。ただ、大きめのデータの場合(Wikipediaの本文データなど)はソートやドリルダウン対象にすることはないので問題になることはないでしょう。 注意:カラム値の圧縮はまだ実験的な機能です。慎重な人はまだ使わないことをオススメしますが、興味のある方はぜひ試してみて、フィードバックをおねがいします。フィードバックとは次のようなものです。 きちんと動いた 多くの人からきちんと動いたという報告があれば「実験的な機能」扱いではなく「正式機能」扱いにします。 うまく動かなかった 修正するので詳細を教えてください。 このくらい効果があった サイズ面、速度面で報告があると他のユーザーの参考になるので、ベンチマークなどをとってその結果を教えてください。 トークンフィルター機能を追加 今回のリリースではトークンフィルター機能を追加しました。これは、トークナイズ後の各トークンに対して処理を実行できる機能です。例えば、トークンを無視したり変更したりできます。 今回のリリースでは、トークンフィルターを2つ追加しました。 TokenFilterStopWord TokenFilterStem 追加したトークンフィルターをそれぞれ紹介します。 TokenFilterStopWord TokenFilterStopWord を使うと文書を検索する時にトークナイズされたトークンからストップワードを除去します。 table_create Terms TABLE_PAT_KEY ShortText \ --default_tokenizer TokenBigram \ --normalizer NormalizerAuto \ --token_filters TokenFilterStopWord column_create Terms memos_content COLUMN_INDEX|WITH_POSITION Memos content column_create Terms is_stop_word COLUMN_SCALAR Bool load --table Terms [ {"_key": "and", "is_stop_word": true} ] 上記のように語彙表に is_stop_word カラムを用意して、ストップワードの対象となる語句を _key として登録するだけです。ストップワードの is_stop_word の値は true にしておきましょう。 この場合 and がストップワードとして登録されているので、検索クエリが --query "Hello and" だとしたら、 and をストップワードとして扱い、無視します。つまり、 Hello で検索したのと同じ結果になります。 詳細はドキュメントを参考にしてください。 TokenFilterStopWord TokenFilterStem TokenFilterStem を使うといわゆるステミングを有効にすることができます。 TokenFilterStem を使うには語彙表テーブルを作成するときに --token_filters TokenFilterStem オプションを指定します。 table_create Terms TABLE_PAT_KEY ShortText \ --default_tokenizer TokenBigram \ --normalizer NormalizerAuto \ --token_filters TokenFilterStem このようにしておくと、 develop で検索したときに develop だけではなく、 developing や developed など develop を活用した後の検索結果も取得できます。そのため検索漏れを少なくすることができます。 詳細はドキュメントを参考にしてください。 TokenFilterStem 注意 トークンフィルター機能も「実験的な機能」扱いです。使ってみた人はぜひフィードバックをおねがいします。現時点では、TokenFilterStemはMySQLの正規化処理と相性が悪いことがわかっています。他にも気づいた点があればぜひ教えてください。 Debianユーザー向け情報 Groongaのパッケージが公式Debianリポジトリーに入りました。sidユーザーの人は公式DebianパッケージからGroongaをインストールできます。 Ubuntuユーザー向け情報 今回のリリースでは先日リリースされたばかりのUbuntu 14.10に対応しています。Ubuntuユーザーの人も安心してアップグレードしてください。 イベントのお知らせ 11月29日(土)は、今年も「全文検索エンジンGroongaを囲む夕べ」を開催します!次のような内容です。興味のある人はぜひイベントページに登録して、開催を楽しみにしていてください。 開発者が今年一年の改善点を紹介 開発者が今後の開発の方向性を紹介 Groongaを便利に使うためのツールやライブラリーを作っているユーザーがプロダクト紹介 ユーザーがGroongaに関することを紹介 検索エンジン自作入門のサイン会(すでに購入している人は持ってきてください。) イベント概要は次の通りです。 日時: 2014-11-29(土)13:00開場、13:30開始 場所: GMOインターネットグループ シナジーカフェ GMO Yours さいごに 4.0.6からの詳細な変更点は 4.0.7リリース 2014/10/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
pvboqvlr loans <a href="https://quickloans.cars">loan bad credit</a> consolidate debt loan <a href=https://quickloans.cars>a loan with bad credit</a> over 1 year ago
Droonga 1.0.5 をリリースしました Droonga 1.0.5 をリリースしました Droonga 1.0.5 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、安定性に関わるいくつかの問題が修正されました。 そのため、より実運用に投入しやすくなってきています。 また、明日30日夜に、Droongaの現状の報告とヒアリングを兼ねたイベント「 Droonga Meetup 」を開催します。 現在運用中のGroongaベースのWebアプリケーションをDroongaへ移行される事を検討中の方や、Groongaの運用でレプリケーションの実現にお悩みの方など、「Groonga」と「分散」という2つのキーワードに関心をお持ちの方は、ぜひお越し下さい。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Purchase cheap tabs without remedy levitra canadian pharmacy online you may not post new threads [url=http://levitra20mg-usa.com]levitra 20 mg[/url] levitra 10mg or 20mg posts <a href="http://levitra20mg-usa.com">levitra 20 mg</a> - pharmacy online levitra levitra scam over 3 years ago
Groonga 5.0.7リリース Groonga 5.0.7リリース Groonga 5.0.7 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースの主なトピックは次の2点です。 静的なインデックス構築方法のバグフィックス(影響を受けるユーザーはアップグレード推奨) Windowsでスパースファイルの実験的サポート(Windowsユーザーの方にはフィードバックをお願いしています) 静的なインデックス構築方法のバグフィックス このリリースには静的なインデックス構築方法のバグフィックスが含まれています。このバグが発生すると、ヒットするべきでないレコードがヒットする(誤ヒット)、あるいは、ヒットするべきレコードがヒットしない(検索漏れ)、という現象が発生します。 次の条件すべてに当てはまる方はアップグレードを推奨します。 マルチカラムインデックス(WITH_SECTIONフラグ付きのインデックスカラム)を使っている 静的なインデックス構築方法を使っている いずれかの条件に当てはまらない場合はこのバグは発生しません。たとえば、静的なインデックス構築方法を使っていても、WITH_SECTIONフラグ付きのインデックスカラムを使っていなければこのバグは発生しません。 なお、現在、バグが発生したインデックスも持っている場合、アップグレードしてインデックスを作りなおすことで問題は解決します。データの再投入は必要ありません。 Windowsでスパースファイルの実験的サポート このリリースでWindowsユーザー向けの「スパースファイルサポート」という実験的な機能が追加されています。デフォルトでは無効になっていますが、有用であることが確認でき次第、有効にする予定です。Windowsユーザーの方はぜひこの機能を試して、その結果をGroonga開発者にフィードバックしてください。フィードバックを受けてデフォルトで有効にするかどうかを判断する予定です。 スパースファイルをサポートすることにより次の効果を期待しています。 データベースの使用ディスクサイズが減少 スパースファイルにすることにより実際に使用しているディスクサイズが減ることを期待しています。(見かけ上のディスクサイズは変わりません。)Groongaは一度にある程度のサイズの領域を確保してからその領域を利用するため、データベースのファイルサイズが大きくなりがちです。スパースファイルをサポートすることにより、Groongaの領域確保の方法を変えずに、実際に使うディスクサイズを減らすことができるかもしれません。 一方、次の点を懸念しています。 パフォーマンス メモリー使用量(特に仮想メモリー使用量) もし、Windowsユーザーのみなさんからのフィードバックの結果、データベースの使用ディスクサイズが減り、パフォーマンスにもメモリー使用量にも悪影響がないことがわかった場合はデフォルトで有効にする予定です。 フィードバック方法はGitHubのissue - Windows: スパースファイルの有効性を検証 #384にまとめたので、Windowsユーザーの方はご協力をよろしくおねがいします。 その他の変更点 これ以外にも次のような有用な変更点があるので、変更点リストも参照してください。 column_copyコマンドを追加:カラムの値の型をやテーブルの種類を変更するためにも使えます。 エラー発生時のメモリーリークを修正 さいごに 5.0.6からの詳細な変更点は 5.0.7リリース 2015-08-31 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
2015-07-29(水)19:30より神田須田町(秋葉原の近く)でGroonga新リリース自慢会 5.0.6を開催予定 2015-07-29(水)19:30より神田須田町(秋葉原の近く)でGroonga新リリース自慢会 5.0.6を開催予定 2015-07-29(金)19:30より新しくリリースされたGroonga(とGroonga関連プロダクト)の新機能を自慢しながらリリースを祝うイベントGroonga新リリース自慢会 5.0.6を開催する予定です。 概要・内容は次のとおりなのでGroongaの最新情報に興味のある方はぜひお越しください。 概要 Groongaは毎日肉の日(29日)に定期的にリリースしています。このイベントは新しくリリースされたGroonga(とGroonga関連プロダクト)の新機能を自慢しながらリリースを祝うイベントです。(好評ならリリース毎に定期的に開催します。) 内容 リリースノートを見ながら、開発者が自慢したい新機能・バグ修正あるいは参加者から自慢して欲しいという要望があった新機能・バグ修正を開発者が自慢します。スライドを用意してトークするのではなく、ホワイトボードに絵を描きながら説明するスタイルで自慢します。 イベントは飲食しながら進行します。(たとえば肉とか。)飲食物は各自で持ち寄ります。参加する人は自分が飲食する分を用意して来場してください。 over 3 years ago
2015-07-02(木)19:30より南青山でGroongaソースコード読書会2を開催予定 2015-07-02(木)19:30より南青山でGroongaソースコード読書会2を開催予定 2015-07-02(木)19:30よりGroongaのソースコードを読んで全文検索エンジンの内部動作の理解を深めるイベントGroongaソースコード読書会2を開催する予定です。場所は南青山で会場提供はビジネスバンクグループさんです。ありがとうございます! 対象者は次の通りです。興味のある方はぜひご参加ください。 全文検索エンジンの中身に興味がある 次のどちらかを満たしている C言語でプログラムを書いたことがある人 C言語でプログラムを書いたことはないけど他の言語ではプログラムを書いた経験はあり、C言語の文法は知っている人 今回は第2回目ですが、第1回目に参加していない方でも大丈夫です。詳細はイベントページを確認してください。 over 3 years ago
PGroonga(ぴーじーるんが) 0.6.0リリース PGroonga(ぴーじーるんが) 0.6.0リリース 今日は肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの0.6.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.6.0は0.5.0と互換性があるので、PGroonga用のインデックスを再作成する必要はありません。PGroongaをアップグレードし、接続しなおせばPGroonga 0.6.0になります。 PGroongaの速度については後の方でベンチマーク結果を紹介しています。 0.6.0での変更点 0.6.0での変更点は次の通りです。 pgroonga.score()がPostgreSQL 9.3でもHOT更新をサポートしました。 GroongaのログをPostgreSQLのログの仕組みを使って出力するようにしました。 大量のデータを登録した時に検索結果にレコードが含まれない問題を修正しました。 Debian GNU/Linux Jessie用のパッケージの提供をはじめました。 速度 別の日本語全文検索用拡張機能であるpg_bigmとPGroonga 0.6.0を日本語版Wikipediaのデータを使って比較した結果が以下にまとまっています。 PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga - ククログ(2015-05-25) かいつまんで説明すると次の結果になりました。 インデックス作成速度: pg_bigmよりもPGroongaの方が圧倒的に速い(14倍速い) 検索速度: 2文字以下での検索はpg_bigmの方がPGroongaよりもやや速い 3文字以上での検索はpg_bigmの方よりもPGroongaの方が速い 3文字以上での検索では、pg_bigmはヒット数が増えるほど明らかに遅くなるが、PGroongaはそれほどでもない ベンチマーク取得にあたってはhnakamurさんとnaoaさんが協力してくれました。ありがとうございます。 なお、ベンチマークの実行手順や生の結果や考察などは次のGitHub Issueで確認できます。 PGroongaとpg_bigmのベンチマーク結果 · Issue #2 · groonga/wikipedia-search PGroongaとpg_bigmのベンチマーク結果のサマリーを作る · Issue #3 · groonga/wikipedia-search おねがい PGroongaは毎月のリリースを重ねて、性能も使い勝手も向上してきました。上述のベンチマーク結果を見ると実用になる速度がでていることがわかります。 すでに実際に利用している人たちもいます。まだ利用していない人は、ぜひ、自分たちのシステムで実用できるか検討してみてください。PGroongaは既存の優秀な全文検索エンジンGroongaを利用しているため性能は折り紙つきです。(検討結果を広く公開してもらえると他のPostgreSQLユーザーに有益です!) また、公式サイト公開に向けて協力してくれる人も募集しています。http://pgroonga.github.io/で英語でも情報も公開しようと進めています。コードは書けないけど英語は書ける、デザインはできるなど協力してくれる方はGitHubのIssueにコメントを書いてください。まずはREADMEを英語に翻訳する作業があります。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
2015-05-29(金)19:30より神田須田町(秋葉原の近く)でGroonga新リリース自慢会 5.0.4を開催予定 2015-05-29(金)19:30より神田須田町(秋葉原の近く)でGroonga新リリース自慢会 5.0.4を開催予定 2015-05-29(金)19:30より新しくリリースされたGroonga(とGroonga関連プロダクト)の新機能を自慢しながらリリースを祝うイベントGroonga新リリース自慢会 5.0.4を開催する予定です。 概要・内容は次のとおりなのでGroongaの最新情報に興味のある方はぜひお越しください。 概要 Groongaは毎日肉の日(29日)に定期的にリリースしています。このイベントは新しくリリースされたGroonga(とGroonga関連プロダクト)の新機能を自慢しながらリリースを祝うイベントです。(好評ならリリース毎に定期的に開催します。) 内容 リリースノートを見ながら、開発者が自慢したい新機能・バグ修正あるいは参加者から自慢して欲しいという要望があった新機能・バグ修正を開発者が自慢します。スライドを用意してトークするのではなく、ホワイトボードに絵を描きながら説明するスタイルで自慢します。 イベントは飲食しながら進行します。(たとえば肉とか。)飲食物は各自で持ち寄ります。参加する人は自分が飲食する分を用意して来場してください。 over 3 years ago
Droonga 1.0.7 をリリースしました Droonga 1.0.7 をリリースしました Droonga 1.0.7 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、サービス起動スクリプトの致命的な欠陥が修正されました。 Droonga 1.0.6を試された方は、リリースアナウンスに書かれている手順に従って、必ず1.0.7への更新をお願いします。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Droonga 1.0.6 をリリースしました Droonga 1.0.6 をリリースしました Droonga 1.0.6 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、インストールスクリプトが用意されました。 Droongaの構成コンポーネントのインストールと、システムのサービスとしての登録を簡単に行えるようになりましたので、より気軽にDroongaをお試しいただけます。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga 5.0.5リリース Groonga 5.0.5リリース 今日は肉の日ですね!Groonga 5.0.5 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースでは大きな変更はありませんが、細かい部分が改善されています。例えば、メモリーまわりでエラーになった場合のエラーメッセージの改善です。 今まではログに出力されていなかった情報が出力されるようになっているため、原因を特定しやすくなっています。もし、Groongaが想定外の動きをした場合、ログと一緒に報告してもらえると直しやすくなるので助かります。 ログの出力方法について 今回のリリースで追加された機能ではありませんが、Groongaのログの出力方法について簡単に紹介します。 ログの出力方法は、各コマンドの--helpやリファレンスマニュアルを参照してください。翻訳作業が追いついていない箇所がありますが、具体的に「ここが知りたい」といった箇所があれば優先して作業するので、メーリングリストなど教えてください。 7.1. 実行ファイル — Groonga v5.0.5ドキュメント 7.18. Log — Groonga v5.0.5ドキュメント 例えば、groongaコマンドでログを出力するためには以下のようにデータベースのパスの前にオプションを指定します。 % groonga --log-path PATH --query-log-path PATH ... DB_PATH 具体的には以下のように指定します。 % groonga --log-path groonga.log --query-log-path query.log -n /tmp/test.db --log-pathはGroongaプロセスの情報を出力する場所を指定します。エラー情報などが出力されるため、多くの場合では指定したほうが便利です。--query-log-pathは、実行されたクエリーの情報を出力するために指定します。サイズが増えやすいので、指定する場合はログローテーションなどを考慮したほうがよいです。 ログの活用方法については、少し古いですが以下の記事も参考になると思います。 全文検索エンジンGroongaで遅いクエリをログからすばやく特定するには - Qiita 運用に便利なgroonga-query-logの使い方 - Qiita イベントのお知らせ 7月2日(木)に、「Groongaソースコード読書会2」が開催されます。 [Groongaソースコード読書会2 - Groonga Doorkeeper](https://groonga.doorkeeper.jp/events/26764) 日時: 2015-07-02(木)19:30-21:30 場所: 株式会社 ビジネスバンクグループ 全文検索エンジンの中身に興味がある方を対象に、Groongaの実装を例に、実際にソースコードを読んだり、デバッガで動作を追いかけながら、内部動作の理解を深めることを目的とした勉強会です。 2回目ですが、1回目に参加していない人でも大丈夫なので、興味がある方はぜひご参加ください。 さいごに 5.0.4からの詳細な変更点は 5.0.5リリース 2015-06-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 5.0.4リリース Groonga 5.0.4リリース 今日は肉の日ですね!Groonga 5.0.4 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースの主なトピックは次の通りです。 メーリングリストの投稿先がかわりました インデックス更新中にクラッシュする不具合を修正 2文字以下の文字をTokenTrigramを使っていても検索できるようになりました TokenRegexpで改行などが無視される不具合を修正(インデックスの再構築が必要) filter関係の機能を強化したり、まれにクラッシュする不具合が修正されているので アップグレードをおすすめします。 メーリングリストの投稿先がかわりました 5/11のSourceForge.JPのサイト名変更に伴い、メーリングリストの投稿先がかわりました。 旧: groonga-dev@lists.sourceforge.jp 新: groonga-dev@lists.osdn.me 過去のメールを参照したいときのアーカイブのリンク先も変更になっています。 http://osdn.jp/projects/groonga/lists/archive/dev/ なお、当面の間は旧アドレスも使うことができます。詳細は以下のURLをご覧ください。 ニュース: サイト名称変更に伴うURL、ドメインの変更についてのお知らせ - OSDN運営・管理 - OSDN ニュース: メーリングリスト移行の際の変更詳細 - OSDN運営・管理 - OSDN インデックス更新/参照中にクラッシュする不具合を修正 複数のプロセスないしスレッドからインデックスを更新/参照しているときに、まれに意図しないGroongaのクラッシュが発生する問題を修正しました。条件によっては二重にメモリを開放してしまうことによるものです。 発生しにくいとはいえ、突然Groongaがクラッシュしてしまうことのないようにアップグレードをおすすめします。 2文字以下の文字をTokenTrigramを使っていても検索できるようになりました これまで、TokenBigramの場合には1文字のクエリであっても、検索できるようになっていました。(Groonga側でうまく検索できるようにしている) ただし、それらしい結果を返す仕組みはTokenBigramが前提で、TokenTrigramといったトークナイザーのことを考慮していませんでした。 今回のリリースでは、TokenTrigramを使っていても2文字以下のクエリで検索できるようになりました。 TokenRegexpで改行などが無視される不具合を修正(インデックスの再構築が必要) TokenRegexpトークナイザーで、クエリに空白として扱われる文字が含まれている場合に正しく検索できない不具合を修正しました。 典型的な例は改行が含まれている場合です。例えば、今までは「abcd」が「ab\ncd」(\nは改行)にマッチしてしまっていたのですが、今後はマッチしなくなります。 なお、この修正により、すでにTokenRegexpトークナイザーを使っている場合はインデックスの再構築が必要になります。 さいごに 5.0.3からの詳細な変更点は 5.0.4リリース 2015-05-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
協力者募集:PGroongaとpg_bigmのベンチマークを実行 協力者募集:PGroongaとpg_bigmのベンチマークを実行 PostgreSQLで高速な日本語全文検索を実現するためにはどちらかの拡張機能を使う必要があります。 PGroonga: Groongaを使った拡張機能 pg_bigm: PostgreSQL組み込みのGINを使った拡張機能 それぞれ特性が違うため、ユーザーは用途に応じて適切な方を選択することになります。ユーザーが選択するときに使える材料として、性能特性を示すベンチマーク結果を準備しています。 実行時間に半日くらいかかるのですが、スクリプトを実行するだけですべてのベンチマークを実行できるようにしました。インストール直後の状態の64bit版CentOS 6を用意できる人は、スクリプトを実行してその結果をフィードバックしてもらえないでしょうか? スクリプトの実行方法と結果のフィードバック先は次のGitHub Issueです。 PGroongaとpg_bigmのベンチマーク結果 · Issue #2 · groonga/wikipedia-search すでに2つ実行した結果があり、その結果をまとめたものがPGroongaとpg_bigmのベンチマーク結果のサマリーを作る · Issue #3 · groonga/wikipedia-searchにあります。フィードバックしてもらった結果も随時このIssueにまとめていく予定です。 PostgreSQLの日本語全文検索周りに興味のある方、Groongaを応援している方は、ぜひご協力お願いいたします! over 3 years ago
Groonga 5.0.3リリース Groonga 5.0.3リリース 今日は肉の日ですね!Groonga 5.0.3 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースの主なトピックは次の通りです。 Debian 8.0(Jessie)とUbuntu 15.04(Vivid Vervet)をサポート dumpコマンドの出力の改善とオプションによるカスタマイズのサポート キーサイズの上限値増加により長いクエリーのキャッシュをサポート [実験的] ログローテーションのサポート Debian 8.0(Jessie)とUbuntu 15.04(Vivid Vervet)をサポート 今月リリースされたDebian 8.0(Jessie)とUbuntu 15.04(Vivid Vervet)をサポートしました。 インストール手順はドキュメントを参照してください。 Debian 8.0 Ubuntu 15.04 dumpコマンドの出力の改善とオプションによるカスタマイズのサポート dumpコマンドの出力を改善し、コマンドの出力順序によってリストアできない場合がある問題を修正しました。 また、オプションを指定することでほしい情報のみを出力することができるようになりました。dumpコマンドに指定できるようになったオプションは以下の通りです。 スキーマのdumpの有無 --dump_schema <yes(デフォルト)またはno> レコードのdumpの有無 --dump_records <yes(デフォルト)またはno> インデックスのdumpの有無 --dump_indexes <yes(デフォルト)またはno> それぞれyesまたはnoを指定することで、出力有無を制御することができます。デフォルトはyesなので、オプションを指定しない場合は出力されます。 さらに、プラグインのdumpもサポートしました。こちらも以下のように出力の有無を制御できます。 プラグインのdumpの有無 --dump_plugins <yes(デフォルト)またはno> キーサイズの上限値増加により長いクエリーのキャッシュをサポート キャッシュのキーにはクエリーを加工した値を使っているのですが、クエリーが一定以上の長さになるとキーに使えないので、キャッシュが有効になっていてもキャッシュされない場合があります。今まではキャッシュのキーサイズの上限値が4KiB(4096バイト)だったので、4KiBを超えるクエリーはキャッシュされませんでした。 今回のリリースからは64KiB - 1(65535バイト)に増えたので、4KiBを超えるクエリーでもキャッシュされるようになりました。 [実験的] ログローテーションのサポート 実験的な機能として、ログローテーションをサポートしました。今まではログローテーションしたい場合は自前でやるか他のライブラリーを使う必要があったのですが、今回のリリースからはGroongaだけでログローテーションが可能になります。 デフォルトでは無効になっているので、ログローテーションしたい場合はgroongaコマンドの引数に以下のオプションを追加して、ローテートする閾値のファイルサイズ(バイト)を指定してください。 Groongaプロセスのログ(groonga.log) --log-rotate-threshold-size <閾値> クエリーのログ(query.log) --query-log-rotate-threshold-size <閾値> さいごに 5.0.2からの詳細な変更点は 5.0.3リリース 2015-04-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Droonga 1.1.0 をリリースしました Droonga 1.1.0 をリリースしました Droonga 1.1.0をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースにおける最大の改善点は、replicaノードの完全なHot-Addへの対応です。 この機能はDroongaに必要な基本機能の1つとして長らく認識されていましたが、ようやく実現の運びとなりました。 Droongaクラスタは、ダウンタイム無しでreplicaノードを追加できるようになりました。 クローリングや新規データの追加を停止する必要はもうありません! Droonga は現在も継続的に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga 4.0.5リリース Groonga 4.0.5リリース 今日は肉の日ですね!Groonga 4.0.5 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 前回 は細かな改良・修正が主でしたが、今回は次のような大きめの機能拡張が入っています。 クエリー構文(selectの–queryで指定するときの書式) で近傍検索できるようになりました。ドキュメントはまだないので詳細を後述します。 実験的ですが、キーワードハイライト用の関数を追加しました。(@naoa_yさん が開発。ドキュメントも書いてくれました!) highlight_html(): 対象テキストの中にあるキーワードを <span class="keyword">...</span> で囲みます。どのようにハイライトするかはCSSで指定してください。通常はこの関数で十分です。 highlight_full(): highlight_html() よりいろいろオプションを指定できるバージョンです。上級ユーザー向けです。 また、次のような問題を修正しています。groonga-httpd を使っている方、1つの文書に同じトークンが大量に含まれる方はアップグレードをオススメします。 バンドルしているnginxを1.7.4に更新しました。セキュリティー関連の修正を含んでいます。 1つの文書に同じトークンが大量に含まれている場合、インデックス構築時に無限ループが発生する問題を修正しました。 近傍検索 これまで、 スクリプト構文(selectの–filterで指定するときの書式)では近傍検索できた (スクリプト構文で近傍検索するときのドキュメントはあります)のですが、今回のリリースからクエリー構文( select の --query で指定するときの書式)でもできるようになりました。 通常の検索ではキーワードが文書中のどこかに含まれていればヒットします。 例えば、次のクエリーを考えます。 --query '渋谷 ラーメン' この場合は、「渋谷でラーメンを食べた。」もヒットしますし、「新宿でラーメンを食べた。その後、渋谷に行った。」もヒットします。 フレーズ検索ではキーワードが指定した順番に出現していればヒットします。 例えば、次のクエリーを考えます。このクエリーは「渋谷」、「で」、「ラーメン」が順番に出現すればヒットします。 --query '"渋谷 で ラーメン"' この場合は、「渋谷でラーメンを食べた。」はヒットしますが、「渋谷で味噌ラーメンを食べた。」はヒットしません。「で」と「ラーメン」の間に「味噌」が入っているからです。 今回から --query でも指定できるようになった近傍検索は少し緩いフレーズ検索のような挙動になります。キーワードの出現した順番も大事ですが、キーワードの間にいくつか他のキーワードが入っていてもヒットします。 例えば、次のクエリーを考えます。このクエリーは「渋谷」、「ラーメン」が順番に出現すればヒットします。「渋谷」と「ラーメン」の間に10個までなら他のキーワードが入っていてもヒットします。 --query '*N"渋谷 ラーメン"' この場合は、「渋谷でラーメンを食べた。」もヒットしますし、「渋谷で味噌ラーメンを食べた。」もヒットします。「渋谷でラーメン」は「渋谷」と「ラーメン」の間に「で」が入っていますが、間に入っているキーワードが1個なのでヒットします。「渋谷で味噌ラーメン」も「で」と「味噌」が入っていますが2個なのでヒットします。 間に何個別のキーワードを許容するかは N の後に指定します。 次の例は1個まで間にキーワードを許容します。「渋谷でラーメン」はヒットしますが、「渋谷で味噌ラーメン」はヒットしません。 --query "*N1"渋谷 ラーメン"' 公式ドキュメントには --query で使うときの説明はまだありませんが( --filter で使うときの説明はあります)、ぜひ試してみて自分のブログやQiitaなどに使い方をまとめてみてください! イベントのお知らせ 来月は、次のGroonga関連イベントがあります。都合のつくGroongaユーザーのみなさんはぜひ参加してください! ConoHa presents - Groonga "How-To" Talks この勉強会のテーマは「How-To」です。参加者がGroongaの具体的な使い方を勉強できる会を目指します。MroongaやRroongaなどGroonga関連プロジェクトも扱います。 日時: 2014-09-03(水)19:30 場所: GMOインターネットグループ シナジーカフェ GMO Yours さいごに 4.0.4からの詳細な変更点は 4.0.5リリース 2014/08/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
PGroonga(ぴーじーるんが) 0.5.0リリース PGroonga(ぴーじーるんが) 0.5.0リリース 今日は肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの0.5.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.5.0は0.4.0と互換性がありません。そのため、PGroonga用のインデックスを再作成する必要があります。具体的な手順は次の通りです。 -- まずPGroongaを更新する。その後で↓を実行する。 DROP EXTENSION pgroonga CASCADE; CREATE EXTENSION pgroonga; -- ↑のDROP EXTENSION CASCADEでPGroonga用のインデックスも消えるので -- インデックスを作成し直す。 0.5.0での変更点 0.5.0での変更点は次の通りです。 パッケージ周りではリリースされたばかりのUbuntu 15.04のサポートの追加とWindows用パッケージの追加がありました。Debian Jessie用のパッケージも追って提供します。 改良 pgroonga.score()がHOT更新をサポートしました。インデックスに含まれていないカラムを更新しても適切なスコアーを返すことができます。 Windows用のパッケージの提供をはじめました。 PostgreSQL 9.4.1-3の32bit用 PostgreSQL 9.4.1-3の64bit用 zipを展開先をPostgreSQLのフォルダーにするとインストール完了です。詳細はドキュメントを参照してください。 Ubuntu 15.04 Vivid Vervet用のパッケージの提供をはじめました。 変更 pgroonga.score()を利用するためにはプライマリーキーをインデックス対象に含める必要があります。 速度 PGroonga 0.2.0の頃のものですが、PGroongaの特性がわかるベンチマーク結果があります。PGroonga 0.5.0はこの頃よりも改良されていますが参考になるはずです。 PostgreSQLの日本語対応全文検索モジュールpg_bigmとPGroongaを検証してみた - CreateField Blog おねがい PGroongaは毎月のリリースを重ねて、性能も使い勝手も向上してきました。たとえば、今回のリリースでWindows用のパッケージも開始したのでWindowsでも使いやすくなっています。 すでに実際に利用している人たちもいます。まだ利用していない人は、ぜひ、自分たちのシステムで実用できるか検討してみてください。PGroongaは既存の優秀な全文検索エンジンGroongaを利用しているため性能は折り紙つきです。(検討結果を広く公開してもらえると他のPostgreSQLユーザーに有益です!) また、公式サイト公開に向けて協力してくれる人も募集しています。http://pgroonga.github.io/で英語でも情報も公開しようと進めています。コードは書けないけど英語は書ける、デザインはできるなど協力してくれる方はGitHubのIssueにコメントを書いてください。まずはREADMEを英語に翻訳する作業があります。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
2015-04-13にGroongaソースコード読書会を開催 2015-04-13にGroongaソースコード読書会を開催 2015-04-13にGroongaのソースコードを読んで全文検索エンジンの内部動作の理解を深めるイベントGroongaソースコード読書会を開催しました。会場を提供してくれたビジネスバンクグループさん、ありがとうございました! イベントの内容は@okamuuuさんがgroonga のソースコードリーディングに参加してきた - あいつの日誌βにまとめてくれているので参考にしてください。 当初の目標の「転置インデックスの作られ方、データの持ち方がわかってきた!」は達成できませんでしたが、Groongaのビルドは全員できて、一部の人は転置インデックスを作成している部分を見つけることろまでいけました。 このイベントの継続を希望する方はGroongaソースコード読書会2に「開催日時はいつにしましょうか!」と書き込んでください。 over 3 years ago
Groonga 5.0.2リリース Groonga 5.0.2リリース 一昨日(3/29)にGroonga 5.0.1をリリースしましたが、いくつか不具合があったため Groonga 5.0.2 をリリースしました。以下の変更内容に該当する方は更新をお願いします。 それぞれの環境毎のインストール方法: インストール 変更内容 今回の主な変更点は次の通りです。 MessagePack 1.0.1をサポートしました。この対応でHomebrewでビルドできない問題が解消されます。 JSONPが動作していなかった不具合を修正しました。これはGroonga 4.1.1で入った不具合で、この影響でGroonga Adminが動作していませんでした。 Windowsのx86環境でクラッシュする不具合を修正しました。 (groonga-dev,03131) libeditが正しく初期化されない不具合を修正しました。CentOS 7などの環境でクラッシュする問題が解消されます。 5.0.1からの詳細な変更点は 5.0.2リリース 2015-03-31 を確認してください。 なお、フィードバックは メーリングリスト や GitHub issues などで受け付けているので、ぜひご活用ください。 over 3 years ago
PGroonga(ぴーじーるんが) 0.4.0リリース PGroonga(ぴーじーるんが) 0.4.0リリース 今日は肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの0.4.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.4.0は0.3.0と互換性がありません。そのため、PGroonga用のインデックスを再作成する必要があります。具体的な手順は次の通りです。 -- まずPGroongaを更新する。その後で↓を実行する。 DROP EXTENSION pgroonga CASCADE; CREATE EXTENSION pgroonga; -- ↑のDROP EXTENSION CASCADEでPGroonga用のインデックスも消えるので -- インデックスを作成し直す。 0.4.0での変更点 0.4.0での変更点は次の通りです。 改良 column LIKE '%keyword'をサポート。column @@ 'keyword'のシンタックスシュガーです。使い方 マルチカラムインデックスでも範囲検索をサポート。 Travis CIでPGroongaをセットアップするためのスクリプトを追加。PGroongaを使ったアプリケーションをTravis CIでテストしたい場合は.travis.ymlのinstallセクションに以下を追加すればセットアップが完了します。 curl --silent --location https://github.com/pgroonga/pgroonga/raw/master/data/travis/setup.sh | sh Groongaでのテーブル名を返す pgroonga.table_name() 関数を追加。↓のpgroonga.command()と一緒に使う用の関数。使い方 Groongaのコマンドを実行する pgroonga.command() 関数を追加。使い方 Groongaでの検索スコアーを返す pgroonga.score() 関数を追加。使い方 timestamp 型をサポート。 timestamp with time zone 型をサポート。 varchar[] 型をサポート。使い方 text[] 型に対する全文検索をサポート。使い方 同じSELECTに全文検索と(インデックスを使える)他の検索条件があるケースに対応。 CentOS 5とCentOS 6用のYumリポジトリーを追加。 変更 インデックスを使った text == text という検索条件のサポートを削除。代わりに4096バイト以下のサイズのvarcharを使ってください。 PostgreSQL 9.2のサポートを削除。 0.3.0リリース後の反応 あまりありませんでした。PGroongaを使ってみたという報告(動いても動かなくても教えてもらえると助かります!)、PGroongaの運用方法の検討結果、pg_bigmやpg_trgmなど既存の全文検索システムとのベンチマーク結果、MySQLからGroongaを使えるようにするMroongaとのベンチマーク結果など、PGroonga関連のことを試してみたらぜひ公開してください! おねがい PGroongaはまだ開発が始まったばかりのソフトウェアです。Groongaをベースにしているため全文検索エンジンとして優秀な性能と安定性を揃えていますが、PostgreSQLとの連携部分はまだ発展途上です。Groongaの性能を活かしきてれているかベンチマークをしたり、PostgreSQLらしく使えるか動作検証をしたりといった形で開発への協力をお願いします。検証結果はブログにまとめるなどWeb上に公開してしてもらえると参照しやすくて助かります。 また、公式サイト公開に向けて協力してくれる人も募集しています。http://pgroonga.github.io/で英語でも情報も公開しようと進めています。コードは書けないけど英語は書ける、デザインはできるなど協力してくれる方はGitHubのIssueにコメントを書いてください。まずはREADMEを英語に翻訳する作業があります。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
第7回フクオカRuby大賞で特別賞を受賞 第7回フクオカRuby大賞で特別賞を受賞 福岡県Ruby・コンテンツビジネス振興会議と福岡県が主催している「Rubyの特徴を活かして開発したシステムや新しいビジネスモデル、普及に関する取組」を評価して賞を与える第7回フクオカRuby大賞というイベントがありました。Groongaはクエリーオプティマイザーやプラグイン開発API用にmrubyを組み込めるようになっているので、Groongaにmrubyを組み込んだ事例を「Rubyの特徴を活かして開発したシステム」として応募していました。 先日、第7回フクオカRuby大賞の結果が発表されました。このGroongaの取り組みは特別賞を受賞しました。ありがとうございます。 (応募に使った資料はGitHub上にあるので、来年度以降のフクオカRuby大賞に応募したい人は参考に使えるかもしれません。) さて、そんなGroongaのmruby組み込みですが、近いうちにデフォルトで有効にする予定です。(現在はデフォルト無効で、ビルド時に明示的に有効にしなければいけません。) 理由は、mruby化によるパフォーマンス低下が軽微であること(Cで書いたコードよりmrubyで書いたコードの方が遅くなります)、mruby実装のクエリーオプティマイザーのみに実装している最適化が効くケースではパフォーマンスが向上すること、開発者が普段から使っていて安定してきたと感じること、あたりです。もちろん、テストしてくれる人が増えるほど問題が見つかりやすくなるので、Groongaの開発に協力してくれる方は、mruby組み込み版のGroongaを試して結果(問題がなくても教えて欲しいです!)を教えてくれると助かります。 なお、すでにCMakeビルド時にもmruby組み込みビルドできるようになっており、configureを使ってビルドするシステムはもちろん、Windows用Mroonga(CMakeとVisual Studioでビルドする)でもmrubyを組み込めるようになっています。 mrubyでプラグインを書く仕組みもできています。mrubyで全文検索エンジンを拡張したい方はGroongaを試してみてください。 over 3 years ago
Groonga 5.0.0リリース 今日は年に1度の記念すべき肉の日(2/9)ですね。 Groonga 5.0.0リリース 昨年2月9日以来のメジャーアップデートである Groonga 5.0.0 をリリースしました! 今回のリリースでメジャーバージョンがあがって5.0.0となっています! メジャーバージョンはあがりましたが、データベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。 先月のリリースから間もないので、びっくりするかも知れませんが、毎月こつこつリリースしてきたぶんがたまっているので、Mroongaと足並みを揃えてどーんと5.0.0をリリースすることにしました! それぞれの環境毎のインストール方法があるので、インストールも簡単です。 [実験的] シャーディングを実現するプラグインをサポート 今回のリリースでは実験的にシャーディングを実現するプラグインを追加しました。 このプラグインを有効にするには、あらかじめ以下のようにしてプラグインを登録しておく必要があります。(testdb/dbは実際のGroongaのデータベースで適宜読み替えてください。) $ groonga testdb/db > register sharding さて、このプラグインを使うとどんなことができるのでしょうか。ログを複数のテーブルに格納する例を紹介します。 table_create Logs_20150203 TABLE_NO_KEY column_create Logs_20150203 timestamp COLUMN_SCALAR Time column_create Logs_20150203 message COLUMN_SCALAR Text table_create Logs_20150204 TABLE_NO_KEY column_create Logs_20150204 timestamp COLUMN_SCALAR Time column_create Logs_20150204 message COLUMN_SCALAR Text table_create Logs_20150205 TABLE_NO_KEY column_create Logs_20150205 timestamp COLUMN_SCALAR Time column_create Logs_20150205 message COLUMN_SCALAR Text load --table Logs_20150203 [ {"timestamp": "2015-02-03 23:59:58", "message": "Start"}, {"timestamp": "2015-02-03 23:59:58", "message": "Shutdown"}, {"timestamp": "2015-02-03 23:59:59", "message": "Start"}, {"timestamp": "2015-02-03 23:59:59", "message": "Shutdown"} ] load --table Logs_20150204 [ {"timestamp": "2015-02-04 00:00:00", "message": "Start"}, {"timestamp": "2015-02-04 00:00:00", "message": "Shutdown"}, {"timestamp": "2015-02-04 00:00:01", "message": "Start"}, {"timestamp": "2015-02-04 00:00:01", "message": "Shutdown"}, {"timestamp": "2015-02-04 23:59:59", "message": "Start"}, {"timestamp": "2015-02-04 23:59:59", "message": "Shutdown"} ] load --table Logs_20150205 [ {"timestamp": "2015-02-05 00:00:00", "message": "Start"}, {"timestamp": "2015-02-05 00:00:00", "message": "Shutdown"}, {"timestamp": "2015-02-05 00:00:01", "message": "Start"}, {"timestamp": "2015-02-05 00:00:01", "message": "Shutdown"} ] ここでは2015/02/03から2015/02/05まで一日ごとに起動やシャットダウンした ログをテーブルに分割して格納するために、次の3つのテーブルを作成しています。 Logs_20150203 Logs_20150204 Logs_20150205 そして、テーブルにあわせて、timestampが一致するレコードをそれぞれloadコマンドを使って登録しています。 では、条件にあうログの該当件数を絞りこんでみましょう。この場合、selectコマンドではなくて専用のlogical_countコマンドを使うのがポイントです。 logical_count Logs timestamp \ --filter 'message == "Shutdown"' \ --min "2015-02-04 00:00:00" \ --min_border "include" 上記のクエリで timestampが "2015-02-04 00:00:00"以降に"Shutdown"がmessageに記録されている レコード数を分割されたテーブルを気にすることなくカウントできます。 この機能が追加されたことにより次のメリットがあります。 メリット: Groongaのテーブルに格納できるレコード数の制限を越えられる Groongaには1つのテーブルに追加できるレコード数が約2億6千万というテーブルの制限があります。 この制限はキーのサイズが大きかったりすると変動し、より少ないレコードしか格納できないことがあります。 テーブルを分割しても、それを意識せずカウントできるようになったのが嬉しいところです。内部的には、テーブルが分割されていると探索範囲をあらかじめ絞れるので、余計なチェックがいらなくなって速くなることが期待できます。 デメリット: テーブルの追加やデータの登録は自前でがんばらないといけない まだ実験的なので、SQLのPARTITIONING BYのような便利な構文はありません。そのため、table_createでテーブル名の末尾が_YYYYMMDDとなっている日ごとのテーブルを明示的に作成しないといけません。 また、データを登録する際も適切なテーブルにデータを登録してあげないといけません。Logsテーブルを指定したらLogs_YYYYMMDDテーブルに勝手にふりわけてデータを登録してくれたりはしません。そのため、今のところはわかっている人向けの機能という扱いです。 5.0.0までのあゆみ Groonga 4.0.0をリリースしてからいろんな機能追加や変更がありました。 重みつきベクターカラムのサポート(4.0.1) 検索スコアのチューニングがしやすくなりました。 UbuntuのパッケージをPPAで配布開始(4.0.2) tokenizer_list,normalizer_listコマンド追加(4.0.2) Groonga HTTPサーバーでPOSTをサポート(4.0.3) Groongaの管理画面の標準表記を英語モードに(4.0.4) 海外のGroongaユーザーにはデフォルト日本語はつらかったようです highlight_full,highlight_htmlをサポート(4.0.5) ハイライトするのに便利な関数が追加されました mrubyによる範囲検索の最適化(4.0.6) mrubyを組みこんだメリットが徐々にでてきました バグ報告をGitHub推奨に(4.0.6) Redmineは承認が必要だったので報告しやすくなったでしょうか LZ4によるカラムの圧縮をサポート(4.0.7) ディスクを効率よく扱えるようになりましたね range_filterのサポート(4.0.8) マッチしたレコード数がいらない用途なら速いのでおすすめです groonga-httpdをデフォルトに(4.0.9) 実験的扱いだったnginxベースのHTTPサーバーをパッケージ版で推奨することにしました。Groonga本体のHTTPサーバー機能は削除していないので依然としてワンライナーでHTTPサーバーを立ち上げることはできます バグフィックスリリース(4.1.0) 4.0.9でインデックスが壊れるかも知れない問題があったので緊急リリースしました。アップグレード後にインデックスを更新してしまった場合はインデックスを作りなおす必要があります。 drilldownでSUM、MIN、MAX、AVGのサポート (4.1.1) より高度なドリルダウンができるようになりました 上記は抜粋ですがこうしてふりかえってみると実にもりだくさんですね。ディスクの肥大化を抑制したり、パフォーマンスを改善するしくみをとりいれたのも4.xでした。 毎年11/29(いい肉の日)のイベント以外にも、各地でGroongaの小規模なイベントがあれこれと開催されたのも記憶に新しいところです。 各リリースではユーザさんからの報告をもとにバグ修正や改善を行うことができました。ありがとうございます。 Groongaをもっと良くしていくために、これからも宜くおねがいします! さいごに 4.1.1からの詳細な変更点は 5.0.0リリース 2015/02/09 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 4.1.1リリース Groonga 4.1.1リリース 今日は今年最初の肉の日ですね!Groonga 4.1.1 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回の主な変更点は次の通りです。 改良 drilldownで集計しやすくなりました groonga-httpdでdumpをストリーム処理できるように 実験的な変更 Windowsでデータベースの初期サイズをよりコンパクトに マルチスレッドでのパフォーマンス改善 それでは、いくつか簡単に紹介します。 改良 - drilldownで集計しやすくなりました 今回のリリースでは、drilldownで集計しやすくなりました。 drilldownの構文には以下の2つの種類がありますが、 drilldown drilldown(ラベルつき) 今回機能拡張したのはどちらの構文もなのですが、今回はdrilldown(ラベルつき)について紹介します。 drilldownした結果をグループごとにSUM (合計)、 MIN (最小値)、 MAX (最大値)、 AVG (平均) を 算出できるようになりました。 次の引数をselectコマンドに渡します。 --drilldown[${LABEL}].calc_types=(算出方法) --drilldown[${LABEL}].calc_target=(対象カラム) 具体的な例をみてみましょう。MAXを使ってグループごとの最大値を取得する例です。 table_create Tags TABLE_PAT_KEY ShortText table_create Memos TABLE_HASH_KEY ShortText column_create Memos tag COLUMN_SCALAR Tags column_create Memos priority COLUMN_SCALAR Int64 load --table Memos [ {"_key": "Groonga1", "tag": "Groonga", "priority": 10}, {"_key": "Groonga2", "tag": "Groonga", "priority": 20}, {"_key": "Groonga3", "tag": "Groonga", "priority": 40}, {"_key": "Mroonga1", "tag": "Mroonga", "priority": 50}, {"_key": "Mroonga2", "tag": "Mroonga", "priority": 25}, {"_key": "Mroonga3", "tag": "Mroonga", "priority": 10}, {"_key": "Rroonga1", "tag": "Rroonga", "priority": 25}, {"_key": "Rroonga2", "tag": "Rroonga", "priority": -25}, {"_key": "Rroonga3", "tag": "Rroonga", "priority": 0} ] select Memos \ --limit 0 \ --drilldown[tag].keys tag \ --drilldown[tag].calc_types MAX \ --drilldown[tag].calc_target priority \ --drilldown[tag].output_columns _key,_max 結果は次のようになります。 { "tag": [ [ 3 ], [ [ "_key", "ShortText" ], [ "_max", "Int64" ] ], [ "Groonga", 40 ], [ "Mroonga", 50 ], [ "Rroonga", 25 ] ] } 3つにグループ化され、タグとグループごとの最大値が返ってくるのがわかります。 最大値だけでなく最小値も取得したいなら、calc_typesに複数カンマ区切りで指定します。 --drilldown[tag].calc_types MAX,MIN output_columns に _min 疑似カラムの指定も忘れないようにしましょう。 --drilldown[tag].output_columns _key,_max,_min これで、最大値と最小値をグループ化した結果ごとに取得できます。 calc_typesの詳細はドキュメントを参照してください。 改良 - groonga-httpdでdumpをストリーム処理できるように 今回のリリースでは、groonga-httpdでdumpをストリーム処理できるようになりました。 Groongaのdumpとgrndumpのメモリ消費の違い 上記はgroongaコマンドとgrndumpの比較ですが、groonga-httpdでストリーム処理ができるようになったので、メモリが足りなくなってdumpできないという状況は改善されました。 単にdumpしたいだけならgroonga-httpdでもできます。もっとdumpする内容をカスタマイズしたいというときにはgrndumpがおすすめです。 実験的な改良 - Windowsでデータベースの初期サイズをよりコンパクトに 今回のリリースでは、データベースの初期サイズを小さくできるようにしました。 これまで、WindowsではUNIXとは異なりかなりサイズが大きい初期ファイル(128MiB)をデフォルトで使っていました。 このデータベースファイルはカラムを作れば作るだけ増えていくので、登録しているデータが少ない場合にはかなり無駄な領域があることになります。 これはあまり嬉しくないので、WindowsでもGNU/Linux環境と同じように必要に応じて追加していくように挙動を変更できるようにしました。 以下のメールに詳しいことが書いてあります。 [groonga-dev,03036] Windowsでの動作確認のお願い ただし、デフォルトでは有効にしていません。まだ実験的な機能だからです。この機能を有効にするには GRN_IO_VERSION=1 環境変数を指定してください。 Windowsを使っている人は、この機能を有効にして使ってみてどうだったかを教えてもらえると嬉しいです。安定して動いているよ、という声が増えてきたら、デフォルトで有効にします。 試す際、GRN_IO_VERSION=1を有効にすると古いGroongaではそのデータベースを開けなくなることにだけ注意してください。 実験的な改良 - マルチスレッドでのパフォーマンス改善 今回のリリースでは、マルチスレッドでのパフォーマンス改善のための仕組みを実験的に入れました。 具体的には、--with-jemallocをつけてGroongaをビルドするとメモリアロケーションの実装にjemallocを使うようにしました。 これを有効にすると、groongaコマンド や Mroonga でパフォーマンスを改善できるでしょう。ただし、groonga-httpd は別です。groonga-httpd はマルチスレッドではなく、マルチプロセスモデルで動作しているためです。 Groongaをビルドしなおすのはつらい、という人はLD_PRELOAD環境変数にjemallocのパスを明示的に指定してGroongaを実行してみてください。 例えば次のように指定します。 LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1 groonga 試してみて、どれくらいパフォーマンスを改善できたかレポートしてくれると嬉しいです。 さいごに 4.1.0からの詳細な変更点は 4.1.1リリース 2015-01-29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
groonga 2.0.9リリース 今日は groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」 の当日ですね。 groonga 2.0.9リリース groonga 2.0.9 をリリースしました! 今回のリリースの主なトピックは4つあります。 snippet_html()関数の実験的なサポート インデックスにより関連付けられたテーブル間のネストしたインデックス検索のサポート インデックスを利用した高速な指定範囲検索のサポート geo_distance()関数で矩形近似により境界をまたぐ二点間の距離計算をサポート それぞれの環境毎のインストール方法: インストール snippet_html()関数の実験的なサポート 今回のリリースでは、実験的ではありますが、キーワードとその周辺のテキストを抽出するためのsnippet_html()関数をサポートしました。 あくまで実験的なので今後予告なく変更する可能性があります。 snippet_html()関数は以下のような構文で使用します。 snippet_html(column名) どんな風に使えるかを具体例で説明します。以下は説明のためのスキーマ定義とサンプルデータです。 table_create Documents TABLE_NO_KEY column_create Documents content COLUMN_SCALAR Text table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText --default_tokenizer TokenBigram column_create Terms documents_content_index COLUMN_INDEX|WITH_POSITION Documents content load --table Documents [ ["content"], ["Groonga is a fast and accurate full text search engine based on inverted index."], ["Groonga is also a column-oriented database management system (DBMS)."], ["Mroonga was called groonga storage engine."] ] Documentsテーブルに登録したデータからキーワードgroongaを含むテキストを抽出するには以下のクエリを実行します。 select Documents --output_columns "snippet_html(content)" --command_version 2 --match_columns content --query "groonga" 上記クエリでは検索したいキーワードgroongaを --query に指定し、検索対象のカラムには --match_columns content としてDocumentテーブルのcontentカラムを指定します。 このとき、クエリにコマンドバージョン(--command_version 2)を指定する必要があります。これは、 --ouput_columns で関数を呼びだすことができるようになったのは2.0.9からだからです。 結果は以下のようになり、指定したキーワードが <span> タグで囲まれ、キーワード周辺のテキストとして抽出できていることがわかります。 検索結果のキーワードをハイライト表示したいときに便利な機能です。 [ [0,1353893385.5454,0.000486850738525391], [ [ [3], [["snippet_html","null"]], [["Groonga is a fast and accurate full text search engine based on inverted index."]], [["Groonga is also a column-oriented database management system (DBMS)."]], [["Mroonga was called groonga storage engine."]] ] ] ] 関数の詳細については snippet_html() を参照してください。 インデックスにより関連付けられたテーブル間のネストしたインデックス検索のサポート 今回のリリースでは複数のテーブルの間でインデックスが張られているなど、テーブル間の関連が存在する場合にインデックス名をネストして指定することで複数テーブルからまとめて検索することができるようになりました。 これだけだとわかりにくいので、例を示します。 ブログ記事を格納してるテーブルと記事に対するコメントを格納するテーブルがあるとします。 記事を格納しているテーブルには記事そのもののカラムとコメントテーブルを参照するカラムがあり、コメントテーブルにはコメントを格納するカラムと、記事テーブルへのインデックスカラムがあるとします。 これまで特定のキーワードをコメントに含む記事を探すには、コメントテーブルの全文検索と、その全文検索結果から該当記事を検索する必要がありました。 これが、参照先のインデックスカラムを指定することでまとめて検索できるようになりました。 どう使うかのサンプルを以下で示します。 サンプルのスキーマ定義は以下の通りです。 table_create Comments TABLE_HASH_KEY UInt32 column_create Comments content COLUMN_SCALAR ShortText table_create Articles TABLE_NO_KEY column_create Articles content COLUMN_SCALAR Text column_create Articles comment COLUMN_SCALAR Comments table_create Lexicon TABLE_PAT_KEY|KEY_NORMALIZE ShortText --default_tokenizer TokenBigram column_create Lexicon articles_content COLUMN_INDEX|WITH_POSITION Articles content column_create Lexicon comments_content COLUMN_INDEX|WITH_POSITION Comments content column_create Comments article COLUMN_INDEX Articles comment 記事とコメントのサンプルデータは以下のようにして登録します。 load --table Comments [ {"_key": 1, "content": "I'm using groonga too!"}, {"_key": 2, "content": "I'm using groonga and mroonga!"}, {"_key": 3, "content": "I'm using mroonga too!"} ] load --table Articles [ {"content": "Groonga is fast!", "comment": 1}, {"content": "Groonga is useful!"}, {"content": "Mroonga is fast!", "comment": 3} ] コメントテーブルから指定したキーワードを含むレコードを検索し、そのコメントのレコードを参照しているカラムの記事データを取得するクエリは以下のように書くことができます。 select Articles --match_columns comment.content --query groonga --output_columns "_id, _score, *" --match_columns にはArticlesテーブルのcommentカラムとCommentsテーブルのcontentカラムとをピリオドで連結して指定します。 するとCommentsテーブルのcontentカラムをまずはじめに全文検索し、該当するレコードを参照しているArticlesのcommentカラムのレコードを取得できる仕組みになっています。 (そのため、上記スキーマ定義でCommentsテーブルにインデックスカラムarticleがない場合、CommentsテーブルからArticlesテーブルを辿れないので正しい結果が得られません。) [ [0,1353903149.81632,0.000459432601928711], [ [ [1], [["_id","UInt32"],["_score","Int32"],["comment","Comments"],["content","Text"]], [1,1,1,"Groonga is fast!"] ] ] ] 従来から可能であった特定のキーワードを含む記事の全文検索だけでなく、特定のキーワード(上記の場合はgroonga)を含むコメントを参照している記事を取得することができるようになりました。 インデックスを利用した高速な指定範囲検索のサポート 今回のリリースでは、範囲を指定した検索をインデックスを使って高速に行えるようになりました。 どれくらい高速になったかという例を簡単なサンプルで示します。 サンプルのスキーマ定義は以下の通りです。 table_create Shops TABLE_HASH_KEY ShortText column_create Shops ranking COLUMN_SCALAR UInt32 table_create Rankings TABLE_PAT_KEY UInt32 column_create Rankings shops_ranking COLUMN_INDEX Shops ranking 以下のようにしてお店とそのランキングの値を登録します。高速化した結果をよりわかりやすく示すために、1000万件ほどのデータを登録します。 load --table Shops [ {"_key": "Shop1", "ranking": 1}, {"_key": "Shop2", "ranking": 2}, {"_key": "Shop3", "ranking": 3}, {"_key": "Shop4", "ranking": 4}, {"_key": "Shop5", "ranking": 5}, {"_key": "Shop6", "ranking": 6}, {"_key": "Shop7", "ranking": 7}, {"_key": "Shop8", "ranking": 8}, {"_key": "Shop9", "ranking": 9}, {"_key": "Shop10", "ranking": 10}, {"_key": "Shop11", "ranking": 11}, ... ] お店とランキングの値が登録できたので、実際に検索してみます。ここでは、ランキング上位10店を検索してみます。 範囲の指定にはrankingカラムに対して 'ranking <= 10' として表現します。 実際の検索結果は以下のようになります。(groonga 2.0.8の場合) select Shops --filter 'ranking <= 10' [ [0,1355465886.15137,1.39784264564514], [ [ [10], [ ["_id","UInt32"],["_key","ShortText"],["ranking","UInt32"] ], [1,"Shop1",1], [2,"Shop2",2], [3,"Shop3",3], [4,"Shop4",4], [5,"Shop5",5], [6,"Shop6",6], [7,"Shop7",7], [8,"Shop8",8], [9,"Shop9",9], [10,"Shop10",10] ] ] ] 同じようにしてgroonga 2.0.9でも検索してみます。検索結果は以下のようになります。 select Shops --filter 'ranking <= 10' [ [0,1355465837.0779,0.00165677070617676], [ [ [10], [ ["_id","UInt32"],["_key","ShortText"],["ranking","UInt32"] ], [1,"Shop1",1], [2,"Shop2",2], [3,"Shop3",3], [4,"Shop4",4], [5,"Shop5",5], [6,"Shop6",6], [7,"Shop7",7], [8,"Shop8",8], [9,"Shop9",9], [10,"Shop10",10] ] ] ] 検索結果は当然同じですが、実行時間が違います。実行時間は以下の部分が該当します。 [0,1355465886.15137,1.39784264564514], groonga 2.0.8の場合は1.39784264564514秒でした。 [0,1355465837.0779,0.00165677070617676], 一方、groonga 2.0.9の場合は0.00165677070617676秒でした。 groongaが出力する結果のフォーマット詳細については 出力形式 を参照してください。 groongaのバージョン groonga 2.0.8 groonga 2.0.9 実行時間(秒) 1.39784264564514 0.00165677070617676 2.0.9にするだけでこのサンプルのケースでは実行時間が数ミリ秒にまで短縮できていることがわかります。 測定は以下の環境で実施しました。 CPU Intel® Core i7-2640M CPU @ 2.80GHz メモリ 8GB geo_distance()関数で矩形近似により境界をまたぐ二点間の距離計算をサポート 今回のリリースでは、geo_distance()関数で子午線や日付変更線、赤道といった境界をまたいだ場合での任意の二点間の距離計算をサポートしました。 距離の近似方法にはいくつかやりかたがあります。groongaではgeo_distance関数において以下の近似方法をサポートしています。 それぞれ、速度や正確さにトレードオフが存在します。 矩形近似 二点間の地形を平面とみなして計算します。 最も高速に距離を計算できますが、二点間の距離が離れると正確に計算できません。 球面近似 二点間の地形を球面とみなして計算します。 矩形近似より遅くなりますが、より正確に距離を計算できます。 楕円近似 二点間の地形を楕円体とみなして計算します。 球面近似より遅くなりますが、より正確に距離を計算できます。 今回の機能追加は近似方法として矩形近似を選択した場合に有効です。 実際に、子午線をまたいで二点間の距離を計算するサンプルを紹介します。 以下のサンプルではパリ(フランス)からマドリード(スペイン)の距離を矩形近似で計算しています。 "175904000x8464000"と表記されているのがパリ(フランス)のミリ秒表記で、"145508000x-13291000"がマドリード(スペイン)のミリ秒表記です。 select Geo --output_columns distance --scorer 'distance = geo_distance("175904000x8464000", "145508000x-13291000", "rectangle")' [ [ 0, 1337566253.89858, 0.000355720520019531 ], [ [ [ 1 ], [ [ "distance", "Int32" ] ], [ 1051293 ] ] ] ] ある点の経緯度をどのようにミリ秒表記で表わすかについては、 組込型 に詳細を記載してあります。 関数の詳しい使いかたについては geo_distance のドキュメントを参照してください。 さいごに 2.0.8からの詳細な変更点は 2.0.9リリース 2012/11/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga勉強会「全文検索エンジンgroongaを囲む夕べ3」開催のお知らせ groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」開催のお知らせ 今年も「いい肉の日」である11/29に、「 全文検索エンジンgroongaを囲む夕べ 3 」と題して第3回目のgroonga勉強会を開催します! これまでに、2010年に 第1回目 、2011年に 第2回目 のgroonga勉強会を開催しました。 第1回目、第2回目での講演資料 今回のコンセプト 前回までの勉強会ではgroongaの紹介がメインでしたが、今回の勉強会は「ユーザーさんがどのようにgroongaを使っているか」をメインとしています。 これまで、ユーザーさんからのフィードバックなどの協力を得ながら、groongaの開発を続けてきました。そしてgroongaを使ってくれるユーザーさんが増えるにつれて、さらに多くの協力をいただいています。 そこで今回のgroonga勉強会では、もっとユーザーさんの意見を参考にしてgroongaを改善していくため、ユーザーさんがどのようにgroongaを使っているかを発表していただきたいと考えています。その発表をもとに、開発者含め参加者みんなでgroongaについて気になる点(改善して欲しいところや便利と思うところ)を話すことで、groongaがよりいい方向に進むための足がかりにしたいです。 また、groongaに興味があるけどまだ使ったことのない方も、ユーザーさんや開発者とgroongaについて話すことで、どのようにgroongaを使うのが自分にとって適切かを見つけられると考えています。 ユーザーさんからの発表は公募します。応募方法や、勉強会への参加方法は後述します。 会場 会場は前回と同じ 株式会社VOYAGE GROUP さんにご提供いただけることになりました。ありがとうございます! 日時 2012/11/29 (木)19:00-21:00 ※21:00から会場の 株式会社VOYAGE GROUP さんの社内バーAJITOで懇親会を予定しています。 勉強会の概要 実際にgroongaを使っているユーザーさんが、どのようにgroongaを使っているかについて発表します。(発表してくださるユーザーさんを後述のとおり公募します) 勉強会の最初には、groongaと MySQLストレージエンジンmroonga について開発者から簡単に紹介します。内容は前回からの改良点の紹介や、これから予定している改良についてです。 詳しいタイムスケジュールは発表人数により決定します( ATND に案を載せています)が、出来る限り多くのユーザーさんに発表してもらえるように調整します。 募集していること groonga勉強会の開催にあたり募集していることが3つあります! ユーザーさんからの発表希望者を募集します! groongaを実際に使っているユーザーさんで、今回の勉強会で発表してくださる方を募集しています。 募集テーマは、「普段groongaをどのように使っているか」です。当日はスライドなどの講演資料を使って発表していただきます。発表時間は15分で、その後に10分のQ&Aを予定しています。 発表申し込みは先着順です。発表を申し込んでくださる方は、twitterで @groonga 宛にツイートしてください。詳しい応募方法については ATND をご覧ください。 申し込みの締め切りは10/28です。 発表に関しての質問は、 @groonga 宛にツイートしてください。 参加希望者を募集します! 勉強会に参加してくださる方は、 ATND から参加登録をしてください。 すでにgroongaを使っている方以外にも、groongaに興味はあるけどまだ使ってない…という方も大歓迎です! Ustreamで録画してくださる方を募集します! 前回と同じように勉強会の内容をUstreamで配信します。そのほか、受付など勉強会を手伝ってくださる方も募集しています。 もし勉強会にご協力してくださる方は、 @groonga 宛にツイートするか、 ATND の告知ページ下部からコメントにて応募してください。 over 3 years ago
dlsdcscx [url=http://acheterviagrageneriquefrance.com/]viagra generique[/url] prix viagra en pharmacie [url=http://viagraachetergenerique.net/]acheter viagra[/url] viagra france [url=http://comprarviagragenericoes.net/]venta viagra[/url] viagra vademecum over 3 years ago
Droonga 1.0.4 をリリースしました Droonga 1.0.4 をリリースしました Droonga 1.0.4 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、新しいコマンドラインツールによってクラスタのノード構成を簡単に変更できるようになりました。詳しくは、 ダンプとリストアの手順 と replicaの構成の変更手順 の2つのチュートリアルを参照してください。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga 4.0.2リリース Groonga 4.0.2リリース 先月はドキュメント以外の変更がなかったのでリリースしませんでしたが、今月は Groonga 4.0.2 をリリースします! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースでの新機能は次の通りです。 夏時間のサポート。 tokenizer_list コマンドの追加。(実験的) normalizer_list コマンドの追加。(実験的) tokenizer_list と normalizer_list の追加は管理画面の改良を見越してのものです。これらは @naoa_yさん が書いてくれました。ありがとうございます! エラー発生時のHTTPレスポンスの挙動が少し変わりました。これまでは、 select コマンドの --query オプションの値などでシンタックスエラーが発生した場合はHTTPのステータスコードとして 500 (Internal Server Error)を返していましたが、このケースはサーバーに問題があるのではなくクライアント側に問題があるので 400 (Bad Request)を返すようにしました。 500 に依存したコードを書いている人は注意してください。 Muninプラグインが groonga-httpd をサポートしました。基本的には何も変更せずに使えるはずです。うまく動かない場合は groonga-dev で相談してください。 また、インデックスまわりのクラッシュバグの修正も入っています。Groonga・Mroonga問わず、マルチカラムインデックスを使っていて、100万件以上レコードを入れている場合は問題が発生しやすい問題です。心当たりがある人はアップグレードをオススメします。 Herokuで使えるようになりました 実は、数年前にHerokuでGroongaを使うための Groongaビルドパック を作っていたのですが、最新のGroongaを使えるように更新しました。 次のようにビルドパックを指定するとアプリケーションでGroongaが使えるようになります。デフォルトでは、 groonga-httpd が起動します。 % heroku create --buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/groonga/groonga.tgz このビルドパックを使うアプリケーションは groonga/ ディレクトリーの中に *.grn というファイルを作り、そこにGroongaコマンドを書いてください。 git push heroku master したときにそれらのファイルをデータベースにロードします。 また、Herokuで Rroonga を使うための Rroongaビルドパック も作成しました。このビルドパックの詳細は HerokuでRroongaを使う方法 - ククログ(2014-05-28) を参照してください。 デプロイしやすくなりました 実は、1年ほど前から ChefでGroongaをデプロイするためのcookbook を公開しているのですが、最近、AnsibleでGroongaをデプロイするためのplaybook が増えました。作者は @cosmo__さん です。 Groongaをデプロイするときは活用してください。 イベントのお知らせ 来月、次のGroonga関連イベントがあります。都合のつくGroongaユーザーのみなさんはぜひ参加してください! Groongaドキュメント読書会2 Groongaのオンラインドキュメント を読んでGroongaの理解を深めることを目的としたイベント。 日時: 2014-06-03(火) 20:00開始 場所: 募集中!(06-01(月)までに場所を見つけられなかったら延期するかもしれません。。。) 全文検索エンジンGroongaユーザ勉強会@神戸 神戸近辺でGroonga、Mroonga、Rroonga、他Groonga関連プロダクトに関する情報交換をすることを目的としたイベント。 日時: 2014-06-27(金) 19:00開始 場所: 三宮駅から徒歩20分くらいの場所にある KIITO。 さいごに 4.0.1からの詳細な変更点は 4.0.2リリース 2014/05/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga Meetup 2014/04/29を開催しました! Groonga Meetup 2014/04/29を開催しました! 肉の日ということで、 Groonga Meetup 2014/04/29 を開催しました! イベントに参加してくれた人にレポート書いてみませんか、と声掛けしてみたところ、以下の3名の方に快く応じていただけました。ありがとうございます!参加者目線で見た当日の様子が伺えますね。 redfigure さん flame1980 さん @OsamuIchikawa さん @redfigure さんの参加レポート こんにちは、主に業務でGroongaを利用しているエンジニア、Walkerです。 今回参加してみようと思ったきっかけは「最初の一歩」という点でGroongaの導入部分について詳しく触れることができそうだという興味からでした。動いているGroongaを触ることは多いのですが、インストールから手を動かすことで、より理解を深めてみようという意気込みで飛び込んでみた形です。 今回使われたスライドは共有されると思いますのでアジェンダとかはそちらにお任せします。 では実際に行ったGroongaとMroongaの演習について簡単にまとめてみます。 Groongaの演習 基本的にインストールそのものはGroongaの公式ドキュメント インストール ページに記載された内容で構築しています。 実は私の持ち込んだ環境がUbuntu14.04だったのですが、この環境のパッケージは当日アップしたばかりのものだったらしく貴重な体験をさせていただきました。 インストール後、データを投入してWeb管理画面を表示してということをやってみましたが、本当に簡単でApache Solrを触ったことのある人はびっくりするかもしれません。 Mroongaの演習 Groonga同様、インストールそのものはMroongaの公式ドキュメント インストール ページに記載された内容で構築しました。 Mroongaの構築は初めてだったので主催の須藤さんにサポートをいただきながら無事動作確認をとることができました。 インストールが完了してから実際に検索できるようになるまではGroonga同様とても簡単です。ただしMySQL/MariaDBについて、Linuxディストリビューションのバージョンによってはハマるポイントになるかもしれません。 所感 時間配分としてインストールと簡単な操作が中心となっていたので、次回はデータのロードや検索まわりについてハンズオンの時間を切っていただけるとより幸せになれるような気がしました。 初心者向けという点では全体的に理解しやすい内容ですし、演習中の雰囲気もとても良く安心して参加できるのではないかと思います。 主催の林さん、須藤さん、ありがとうございました。 @flame1980 さんの参加レポート 私は普段、Groonga/Mroongaを業務で利用させて頂いているのですが、 今回のテーマが「全文検索をしたい人の最初の一歩を踏みだしやすくしよう」という事で、 初心に戻る気持ちで参加しました。 参加者は全部で9名と、こじんまりとした会となりましたが、初心者向けということで程よい感じだったのかなと思います。 皆さん真剣に聴講・作業されていましたし、主催の林さん、須藤さんも丁寧にサポートされていて、とても良い雰囲気でした。 おおまかな流れ Groongaとは Mroongaとは Groongaのインストール ざっくりと説明いただいたあと、その流れのままに実践形式で各自用意した環境へインストールをしました。基本的には groonga.org 、 mroonga.org のインストールマニュアルを参照しながら、不明点や躓いた時などはお二人の手厚いサポートを受けながら、作業が進んでいきました。 Mroongaのインストール Groongaと同様にインストールしていきました。環境によっては、MySQLやMariaDBのバージョンなどで苦戦している人もいたようですが、私は特に躓くこともなく、サックリとインストールできました。インストールして素のままのCentOSを使ったのが良かったのかもしれません。 サンプルコードを用いてGroongaを使ってみる Groongaへデータをロードする Groongaのデータを更新する Groongaのデータを検索する Groongaのデータを削除する HTTP経由でテーブル作成する HTTP経由でカラム追加する POSTでデータを更新する HTTP経由で検索する Groonga管理画面について 質疑応答 所感 インストールの時間が長めになってしまい、サンプルコードの説明が駆け足になってしまっていたのが残念でした。 次回の開催があるとしたら、是非ともGroongaの使い方を掘り下げてもらえると、個人的にはとても嬉しいです。 例えば、一般的な検索の説明をひと通り実践形式でやってみたり、ドリルダウン検索のコツやトークナイザーの使い分けなんかも良いかなと思います。 もちろん、上記インストールマニュアルでひと通り説明されているのですが、その場で質問をしたりできるとより理解が深まるかと思います。 @OsamuIchikawa さんの参加レポート 作業/演習内容 Groongaインストール Mroongaインストール サンプル 実行 自分の知識レベル Groonga/Mroongaについて存在を知っている程度でさわった経験なし Linux操作は日常レベルで使用 環境 CentOS 6.5(mac os x上のVM) つまづいた事 Groongaインストール yumでgroognaをインストールしようとしたらミラーサイト先がグルジアからのダウンロードになってしまったため、個別にrpmパッケージをダウンロードしてインストールになりました。(http://packages.groonga.org/centos/6/x86_64/からwgetで下記をダウンロードしてインストール) # yum localinstall groonga-4.0.1-1.el6.x86_64.rpm groonga-httpd-4.0.1-1.el6.x86_64.rpm groonga-libs-4.0.1-1.el6.x86_64.rpmgroonga-httpd-4.0.1-1.el6.x86_64.rpm ※以降(groonga-tokenizer-mecab等)は手順どおりにインストールできました。 感想 道に迷ってしまい(通行人に郵便局の場所を聞いたら別の郵便局に・・・)30分遅れの参加になってしまったにも関わらず、親切に教えていただけて無事サンプル実行まで行うことができました。今回の勉強会で、導入の敷居が高くないことも分かりましたし、実際に手元で動作させてみることで、使い方や、これからの利用方法について考えることが出来てとても良かったです。ありがとうございました。 さいごに 年一回開催しているGroongaを囲む夕べとは違い、実際にその場でGroongaやMroongaをインストールしてみたり、サンプルを試してみたりといった初心者向けの会でした。今回はサンプルの都合上groonga-httpdを使いましたが、このことがきっかけで、/d/status/というような末尾に/があるリクエストを投げると正しくレスポンスが返ってこないという問題があることがわかりました。参加者からのフィードバックがきっかけとなり、気づいていなかった問題を修正することができました。ありがとうございます! 今回のMeetupが無事開催にこぎつけたのも、会場提供してくださった WEICさん のおかげです。ありがとうございました! over 3 years ago
全文検索エンジンGroonga勉強会@札幌が開催されました! 全文検索エンジンGroonga勉強会@札幌が開催されました! 肉の日にあわせて、 全文検索エンジンGroonga勉強会@札幌 2014/03/29 が開催されました! 開催のきっかけ 草の根Groongaイベントのお誘い というメールが groonga-dev に流れており、それを見た @myokoym さんが地元の札幌でGroongaの導入事例を聞きたいと思ったことが開催のきっかけでした。 開催までの流れ @myokoymさんは、まずgroonga-devに 札幌でのGroongaイベントについて というメールを投稿しました。すると、たくさんの方々が賛同してくれたので、 札幌市内の公営貸会議室利用法 を参考にしながら会場を確保し、ATNDやTwitter、メーリングリストなどで告知しました。 当日の様子 当日は、 ステッカー や 書籍 、 東京のお菓子 などが片隅に並べられ、和やかな雰囲気で始まりました。途中、プロジェクターが映らなくなるというトラブルがありましたが、プロジェクターを再起動して復旧しました。全体的に、参加者の方々が積極的に協力してくれていたことが印象的でした。主催者の方はとても助かっていたのではないかと思います。(なお、Twitterでの反応は Togetterまとめ でご覧いただけます) 発表について 今回の勉強会では、たくさんの利用事例が発表されました。 Droongaのはじめかた (クリアコードの須藤さん) ユーザー視点で使いやすくなった Droonga 1.0.1の紹介がありました。DroongaはGroongaを利用しているため、教養としてGroongaを知っておくべきということで、発表時間の多くがGroongaの紹介に充てられていました。これからDroonga(Groonga)をはじめる方々に最適な内容だったのではないでしょうか。 Mroongaを選んだ理由とちょっと嬉しかった話 (JAWS-UG札幌の照井さん) 突然の日本語全文検索案件に対応するに当たり、いろいろな全文検索エンジンを検討した結果、最終的に Mroonga を採用した経緯を話されました。 CentOS6にMySQL5.6×Mroonga環境を一発で作るChefレシピ も紹介されており、全文検索エンジンの採用を検討している方々に最適な内容だったのではないでしょうか。 はじめてのGroonga bindingづくり (えにしテックのしだらさん) Go というプログラミング言語でGroongaのバインディングをつくってみようというお話でした。GroongaはC言語で書かれていますが、他の言語のバインディングを作成することで、その言語の特徴を活かしながらGroongaを組み合わせることができます。Goやまだバインディングが作成されていない言語からGroongaを使いたい方々に最適な内容だったのではないでしょうか。 地域コミュニティサイトLOHABUU (アンタスの紀國さん) LOHABUU でのGroonga導入事例の紹介です。LOHABUUは、いろいろなサービスの情報を地域やキーワードごとにまとめてリアルタイム表示してくれる地域コミュニティサイトです。Groongaを導入するに当たり、よかったことや苦労したことなどが紹介されました。何年も前から稼働しているサービスなので、実際に生き生きと活用されている場面が見られました。Groongaを使ったサービスの運用を考えている方々に最適な内容だったのではないでしょうか。 他にも、LT枠として3人の方が発表されました。バラエティ豊かな内容で、会場はとても盛り上がっていました。 懇親会 勉強会終了後、 北海しゃぶしゃぶ 北2条店 で懇親会が行われました。感じのよい店員さんばかりで、心ゆくまでラムしゃぶを楽しめました。有志による二次会も 電気羊酒場 JR55ビル店 で開催され、深夜までGroongaについて語り合っていたようでした。 さいごに 今回の勉強会を主催してくださった@myokoymさん、発表してくださったみなさん、参加してくださったみなさん、Twitterなどで広めてくださったみなさん、どうもありがとうございました。 夕べ に比べると規模は小さかったですが、みなさんのおかげでとてもよい会になったと思います。 またどこかで草の根Groongaイベントが開催されるといいですね! over 3 years ago
Groongaソースコード読書会(仮)の協力者を募集 Groongaソースコード読書会(仮)の協力者を募集 先日開催したGroonga "Tokenizer" Talksに参加していた@noranuk0さんから次のようなアイディアがでました。 そういえば、先週末のgroonga talknizer talk でのgroonga内部のデータ構造の話を聞いて、groongaソースコード読書会的なものがあったらちょっと行ってみたいなーと思いました。 &mdash; のらぬこ (@noranuk0) 2015, 3月 23 Groongaの内部実装についてはドキュメント化されていないことが多く、なぜ高速なのか、どういう仕組みで実現されているかなどはソースコードを触っている人ぐらいしかわかっていません。このアイディア(Groongaソースコード読書会)をきっかけにGroongaの内部実装について知っている人が増えれば、Groongaの開発に参加する人が増えるかもしれませんし、Groongaで使っているノウハウを他のソフトウェアに活かす人が増えるかもしれません。これはとても素晴らしいことです。 ということで、Groongaソースコード読書会を実現できないかGitHub上のIssueで検討しています。Groongaソースコード読書会の開催に協力してくれる方はこのIssueに書き込んでもらえませんか?現在は次のような課題があるのでそのあたりで協力してくれる人がいるととても助かります! 会場が未定 読書会の進め方をどうするのがよいかわかっていない (類似のイベントとして Groongaドキュメント読書会を開催しているが、それと同じというわけにはいかなそう) 興味のある方は協力をお願いします! over 3 years ago
Software Design 4月号にGroongaの記事が掲載されました Software Design 4月号にGroongaの記事が掲載されました 3/18(水曜)に技術評論社から「Software Design」4月号が発売されました。 そのなかでDebian開発者であるやまねひできさんが連載中の「Debian Hot Topics」に、全文検索エンジンGroongaをDebian公式に入れるまでのあれこれが「Debian公式入りへの道」と題して掲載されています。 内容について 記事の内容は、過去にククログで公開した以下の記事のダイジェストです。 Debianでパッケージをリリースできるようにしたい - WNPPへのバグ登録 Debianでパッケージをリリースできるようにしたい - よりDebianらしく Debianでパッケージをリリースできるようにしたい - mentors.debian.netの使いかた Debianでパッケージをリリースできるようにしたい - そしてDebianへ GroongaをDebian公式のパッケージにするにあたり、そのきっかけや、どんな作業をしたのか、苦労した点などをGroongaを題材にして書かれています。 まとめ 普段GroongaをDebian/Ubuntu環境で使っているけれど、(Groongaに限らず)Debianで簡単にインストールできるようになっているパッケージが、使えるまでにどんな経過をたどっているのかという舞台裏に興味がある人は読んでみてください。 Debian公式に入れたいパッケージがあるんだけど、どうしたらいいかわからない人にもおすすめです。紙面の都合で、詳細を割愛したところもあります。上記で紹介したククログの記事も合わせて参照してみてください。 over 3 years ago
2015-03-20(金)19:30より渋谷でGroonga "Tokenizer" Talksを開催予定 2015-03-20(金)19:30より渋谷でGroonga "Tokenizer" Talksを開催予定 2015-03-20(金)19:30より「トークナイザー」をテーマにしたGroongaイベントGroonga "Tokenizer" Talksを開催する予定です。場所は渋谷で会場提供はGMOメディアさんです。ありがとうございます! 実際にトークナイザーや形態素解析器を開発している人に話をしてもらうので、濃い内容になるはずです。多めに時間をとっているので、話をしている人にわからないことやもっと詳しく知りたいことを詳しく聞けるはずです。トークナイザーに興味のある方は(今のところはGroongaにそんなに興味がなくても)ぜひお越しください。 話は2つあって、1つはN-gramベースの話で、もう1つは形態素解析ベースの話です。 N-gramベースの話は去年のいい肉の日(11月29日)に開催した全文検索エンジンGroongaを囲む夕べ5で独自開発のN-gramベースのトークナイザーについて話してくれた@naoa_yさんが話してくれます。去年のイベントでは時間が足りなくてすべてを話せなかったので、今回のイベントではすべてを話してもらう予定です。 参考: 去年のいい肉の日の資料 形態素解析ベースの話はジャストシステムで開発をしている内田さんが話してくれます。ジャストシステムさんが提供している拡張型NLP JMAT(ジェイマット)まわりについて話してくれるはずです。なお、JMATにはGroonga用のプラグインがあり、GroongaからJMATを使うことができます。 ジャストシステムの開発者が学会以外で技術的な内容を話すのは今回が初めてとのことです。今まで公開されていなかったジャストシステムの自然言語処理技術を聞いてみましょう! というように、N-gramベースの話と形態素解析ベースの両方の話が聞ける、トークナイザーに興味がある人にはうれしい内容になっています。ぜひご参加ください! over 3 years ago
PGroonga(ぴーじーるんが) 0.3.0リリース PGroonga(ぴーじーるんが) 0.3.0リリース 今日は年に一度の肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの0.3.0をリリースしました! インストール方法 PGroongaについてやPGroongaと他の類似システムとの違いについてはPGroonga 0.2.0のリリースアナウンスを参考にしてください。 0.3.0は0.2.0と互換性がありません。そのため、PGroonga用のインデックスを再作成する必要があります。具体的な手順は次の通りです。 -- まずPGroongaを更新する。その後で↓を実行する。 DROP EXTENSION pgroonga CASCADE; CREATE EXTENSION pgroonga; -- ↑のDROP EXTENSION CASCADEでpgroonga用のインデックスも消えるので -- インデックスを作成し直す。 0.3.0での変更点 0.3.0での新機能は次の通りです。 エンコーディング情報を反映するようになった。 トークナイザーをカスタマイズできるようになった。MeCabを使った形態素解析ベースのトークナイザーも使えます。 ノーマライザーをカスタマイズできるようになった。 ロックを減らした。 内部で保存しているカラムの値をLZ4で圧縮するようにした。 全文検索用以外のインデックスもサポートした。B-treeインデックスの代わりにも使える。(CREATE INDEXでUSING pgroongaを指定するだけでB-treeインデックスと同じように使える。) Ubuntu 14.10用のパッケージを用意した。 0.2.0リリース後の反応 PostgreSQLの日本語対応全文検索モジュールpg_bigmとPGroongaを検証してみた - CreateField Blog 日本語Wikipediaのデータを使って既存の全文検索拡張機能であるpg_bigmとPGroongaの性能を検証しています。このケースでは更新時間も検索時間もPGroongaの方が高速でした。PGroongaの速度に興味のある方はぜひ参考にしてください。 PGroongaを使うための調査。 - 青空を探す、旅の記録。 PGroongaはPostgreSQL本体の制限によりWALに対応していません。そんなPGroongaをアクティブ・スタンバイ構成で使う方法について検証しています。 おねがい PGroongaはまだ開発が始まったばかりのソフトウェアです。Groongaをベースにしているため全文検索エンジンとして優秀な性能と安定性を揃えていますが、PostgreSQLとの連携部分はまだ発展途上です。Groongaの性能を活かしきてれているかベンチマークをしたり、PostgreSQLらしく使えるか動作検証をしたりといった形で開発への協力をお願いします。検証結果はブログにまとめるなどWeb上に公開してしてもらえると参照しやすくて助かります。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaの新しいバージョンをリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください! over 3 years ago
PGroonga(ぴーじーるんが) 0.2.0リリース - PostgreSQL 9.4でGroongaを使える! PGroonga(ぴーじーるんが) 0.2.0リリース - PostgreSQL 9.4でGroongaを使える! 今日は今年最初の肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの最初のバージョン、0.2.0をリリースしました! PGroongaは最新のPostgreSQL 9.4で使えます。PostgreSQLからGroongaを使うためのtextsearch_groongaという拡張機能もありますが、この拡張機能はPostgreSQL 9.4や新しいGroongaでは動きませんでした。 PGroongaはtextsearch_groongaをベースに、最新のPostgreSQL・Groongaで動くようにしたものです。 PostgreSQLで日本語全文検索をする方法には次の方法がありますが、それぞれいくつか問題があります。 pg_trgm PostgreSQLに付属しているがデフォルトではインストールされない。 日本語に対応させるにはソースコードを変更する必要がある。 pg_bigm 正確な全文検索機能を使うにはRecheck機能を有効にする必要がある。Recheck機能を有効にするとインデックスを使った検索をしてから、インデックスを使って見つかったレコードに対してシーケンシャルに検索をするのでインデックスを使った検索でのヒット件数が多くなると遅くなりやすい。 PGroongaはRecheck機能を使わなくても正確な検索結果を返せるため、ヒット件数が多い時でも性能が落ちにくいです。理論的には。(要ベンチマーク。興味のある人はベンチマークをとって公開してください!) ただし、PGroongaはWALに対応していないため、PostgreSQLのレプリケーションの仕組みを使えません。pgpool-IIと組み合わせる必要があります。 (WALに対応していないのはPostgreSQLがWALに対応する仕組みを提供していないからです。PostgreSQLのメーリングリストで聞いたところ、開発中ということでした。9.6で入るといいなぁということです。) インストール方法 現在、CentOS 7用のパッケージのみ提供しています。(次のリリースではUbuntu 14.10用のパッケージも提供する予定です。)CentOS 7ユーザーの人は簡単にインストールできます。他の環境の方はソースからインストールしてください。 インストール方法の詳細はREADME.mdのインストールの項目を参照してください。 使い方 簡単に使い方を紹介します。 まず、text型のカラムを作ってpgroongaインデックスを張ります。 CREATE TABLE memos ( id integer, content text ); CREATE INDEX pgroonga_index ON memos USING pgroonga (content); データを投入します。 INSERT INTO memos VALUES (1, 'PostgreSQLはリレーショナル・データベース管理システムです。'); INSERT INTO memos VALUES (2, 'Groongaは日本語対応の高速な全文検索エンジンです。'); INSERT INTO memos VALUES (3, 'PGroongaはインデックスとしてGroongaを使うためのPostgreSQLの拡張機能です。'); 検索します、といきたいところですがその前に少し準備をします。ここではシーケンシャルスキャンではなくインデックスを使った全文検索を使いたいので、シーケンシャルスキャン機能を無効にします。(あるいはもっとたくさんのデータを投入します。) SET enable_seqscan = off; 全文検索をするときは%%演算子を使います。 SELECT * FROM memos WHERE content %% '全文検索'; -- id | content -- ----+--------------------------------------------------- -- 2 | Groongaは日本語対応の高速な全文検索エンジンです。 -- (1 行) キーワード1 OR キーワード2のようにクエリー構文を使って全文検索をするときは@@演算子を使います。 SELECT * FROM memos WHERE content @@ 'PGroonga OR PostgreSQL'; -- id | content -- ----+--------------------------------------------------------------------------- -- 3 | PGroongaはインデックスとしてGroongaを使うためのPostgreSQLの拡張機能です。 -- 1 | PostgreSQLはリレーショナル・データベース管理システムです。 -- (2 行) クエリー構文の詳細はGroongaのドキュメントを参照してください。 まとめ 最新のPostgreSQLでGroongaを使えるようにするPGroongaという拡張機能をリリースしました。PostgreSQLで日本語全文検索をしたいという方はぜひ試してみてください!試してみた方はいろんな人が参照できるようにぜひブログなどに結果を書いてください。特にベンチマーク結果を楽しみにしています! over 3 years ago
2015-01-23(金)19:00より福岡Groonga1を開催予定 2015-01-23(金)19:00より福岡Groonga1を開催予定 2015-01-23(金)19:00より福岡初のGroongaイベント福岡Groonga1を開催する予定です。福岡近辺のGroonga関連プロダクトユーザーの方はぜひご参加ください! 懇親会にも開催します。参加する方は福岡Groonga1 - 懇親会に登録してください。懇親会のみの参加もOKです。 福岡のGroonga関連プロダクトユーザーの方とお会いできることを楽しみにしています! over 3 years ago
Groonga 4.0.9リリース Groonga 4.0.9リリース 今日は今年最後の肉の日ですね!Groonga 4.0.9 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回の主な変更点は次の通りです。 非互換な変更 データベースのパーミッションが 0666 から 0644 に変わる 改良 TokenFilterStemがMySQL互換ノーマライザーと一緒に使えるようになった truncateコマンドがカラムに対応した clearlockコマンドがlock_clearコマンドになった 実験的な改良 grndb実行ファイルを追加 request_cancelコマンドを追加 バグ修正 インデックスを張った値を一気に削除するとクラッシュするようになることがあるバグを修正 今回は非互換の変更が1つあります。多くの人にとって問題はない変更なはずですが、念のため、アップグレード前に確認してください。 クラッシュバグの修正もあります。インデックスを張った値を一気に削除するとクラッシュするようになる、という方はアップグレードしてみてください。 他にも、groonga-httpdが実験的機能扱いではなく正式機能扱いになっています。これは、安定して動いているという報告をいくつかもらったためです。 それでは、いくつか簡単に紹介します。 非互換な変更 - データベースのパーミッションが 0666 から 0644 に変わる umask が 0 の状態でGroongaを使っている時、新しく作成するファイルのパーミッションが 0666 (誰でも読み書きできる)から 0644 (ファイルのオーナーだけが読み書きできて他の人は読み込みだけできる)に変わりました。 groonga コマンドをサーバーとして使っている人はこの変更の影響はありません。 groonga-httpd をデーモンモードで使っている人はこの変更の影響があります。これまでは groonga-httpd が作成したデータベースは誰でも書きこめましたが、このバージョンからはオーナーしか書き込めなくなります。 セキュリティーのことを考えると変更後の挙動の方が適切なため、非互換になりますがこの変更をいれました。 改良 - TokenFilterStemがMySQL互換ノーマライザーと一緒に使えるようになった これまでの TokenFilterStem はすべて小文字に正規化されたトークンにしか対応していませんでした。今回からすべて大文字に正規化されたトークンにも対応しました。 これで何がうれしいかというと、MySQL互換ノーマライザーでも使えるようになることがうれしいのです。Groongaが標準で提供しているノーマライザーは小文字に正規化しますが、MySQL互換ノーマライザーは大文字に正規化するのです。 この改良により、MySQLでも TokenFilterStem を使えるようになりました。 MySQLでの TokenFilterStem の使い方はMroongaでGroongaの機能を使いこなす高度なテーブル設計をする方法 - CreateField Blogを参考にしてください。 改良 - truncateコマンドがカラムに対応した これまでは truncate コマンドはテーブル単位でしか指定できなかったのですが、このバージョンからカラム単位で指定できるようになりました。特定のカラムが壊れたときにそのカラムだけ作りなおすことができます。 カラムが壊れているかどうやったら判断できるのか?と思ったことでしょう。そのために、後述する grndb 実行ファイルが追加されています。 改良 - clearlockコマンドがlock_clearコマンドになった clearlock コマンドが lock_clear コマンドに名前を変えました。これまで通り clearlock コマンドも使えますが、非推奨です。新しく使うときは lock_clear を使ってください。 どうして名前を変えたかというと名前付けの一貫性のためです。 Groongaのコマンドは #{カテゴリー}_#{操作} という名前付けになっています。例えば、 table_create は table カテゴリーの create という操作です。 実験的な改良 - grndb実行ファイルを追加 実験的な機能として、Groongaのデータベースを管理する機能を提供する grndb 実行ファイルを追加しました。 現在のところ、 grndb は次の機能を提供しています。 データベースが壊れているかチェックして報告する機能 壊れたデータベースを復旧する機能 例えば、データベースが壊れているかどうかをチェックするには次のようにします。 % grndb check /path/to/db 壊れていれば壊れているテーブルやカラムを報告し、0以外の終了ステータスで終了します。 データベースを復旧する場合は次のようにします。 % grndb recover /path/to/db 復旧できたあるいは復旧する必要がなかったら終了ステータス0で終了します。復旧できなかった場合は0以外の終了ステータスで終了します。 現在のところ、インデックスカラムが壊れているだけの場合のみ復旧できます。この場合はインデックスを作成しなおして復旧します。 なお、 grndb を使う場合は他のプロセスでは同じデータベースを触らないようにしてください。データベースが壊れる可能性があります。詳細はgrndbのドキュメントを参考にしてください。 実験的な改良 - request_cancelコマンドを追加 request_cancel コマンドは、実行中のリクエストを途中で止めるコマンドです。例えば、重いクエリーを実行しているリクエストを止めるために使えます。 request_cancel コマンドにはいくつか制限事項があります。例えば、次のような制限事項です。 マルチスレッドで1つのデータベースを共有して使っている キャンセルしたらすぐに止まるわけではない 詳細はrequest_cancelのドキュメントを確認してください。 バグ修正 - インデックスを張った値を一気に削除するとクラッシュするようになることがあるバグを修正 インデックス更新時の処理に考慮漏れのケースがあったため修正しました。これは大量のレコードを一気に削除すると発生しやすくなります。インデックスを張った値を一気に削除するとクラッシュするようになる、という方はアップグレードしてみてください。 お願い 福岡市近辺のGroongaユーザーとWindows上でGroongaを使っているユーザーにお願いがあります。 まずは福岡市近辺のGroongaユーザーへのお願いです。 2015年1月23日(金)の夜に福岡市でGroongaイベントを開催してもらえませんか?理由はGroonga開発者の1人がその日に福岡市に行くからです。詳細を確認の上、開催してくれる人はメーリングリストまたは@groongaに連絡をおねがいします。 次にWindows上でGroongaを使っているユーザーへのお願いです。 Windows版Groongaのストレージ使用効率向上の変更をテストしてもらえませんか?詳細を確認の上、確認結果をメーリングリストまたは@groongaに報告してください。 Windows版の改善にご協力よろしくお願いします! さいごに 4.0.8からの詳細な変更点は 4.0.9リリース 2014-12-29 を確認してください。 今年はGroongaでガンガン検索できましたか?来年もGroongaでガンガン検索してください! over 3 years ago
groonga 2.0.7リリース groonga 2.0.7リリース 今日は肉の日ですね。 groonga 2.0.7 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回のリリースの主なトピックは3つあります。 groonga-httpd でのPOSTによる load コマンドのサポート サーバーパッケージ構成と使用ポートの見直し min / max 関数のサポート groonga-httpd でのPOSTによる load コマンドのサポート 今回のリリースでは、POSTによる load コマンドの実行をサポートしました。 実際の例を以下に示します。 サンプルで使うスキーマ定義: table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText column_create --table Site --name title --type ShortText http://localhost:10041/にアクセスするとブラウザベースの管理ツールを使って上記スキーマ定義のSiteテーブルおよびtitleカラムを簡単に作成することができます。 テーブルとカラムを作り終えたら、次にSiteテーブルへと登録しておきたいレコードをJSON形式で用意します。(例としてファイル名はpostbody.txtとします。) [ {"_key": "site1", "title":"Web site1 title"} ] 登録データが準備できたので、curlコマンドを使ってPOSTリクエストをサーバーへと投げてみます。 % curl -X POST 'http://localhost:10041/d/load?table=Site' --verbose -H 'Content-Type: application/json' -d @postbody.txt 実行するとpostbody.txtのデータが load コマンドにより登録できます。 サーバーパッケージ構成と使用ポートの見直し 今回のリリースではサーバーパッケージ構成と使用ポートの見直しを行いました。 従来サーバー用途では以下のHTTPサーバーパッケージのみ提供していました。 groonga-server (HTTPサーバー) groonga-httpd (HTTPサーバー) GQTPプロトコルで使うには不便ですし、デフォルトで使用するポートもGQTPとHTTPで使用ポートがどちらも10041番ポートと衝突していました。 そこで、groonga-serverパッケージを分割し、プロトコルごとで異なるパッケージを提供するようにしました。 使用するポート番号についても別のポート番号を割りあてるようにしました。(HTTPは従来通り10041番ポート。GQTPを10043番ポートに割り当て変更。) groonga-server-http (HTTPサーバー 10041ポート) groonga-server-gqtp (GQTPサーバー 10043ポート) 注: groonga-server-httpパッケージとgroonga-httpdパッケージはいずれかのみインストールすることができます。 min / max 関数のサポート 今回のリリースではminおよびmax関数をサポートしました。 min関数は与えられた引数のうち最小のものを返し、 max関数は与えられた引数のうち最大のものを返します。 これら関数のサポートにより、検索結果が条件に合致する度合いを示すスコアが極端に高かったり、もしくは低くなってしまった場合に検索結果を調整することができるようになります。 具体例をmin関数を使ったサンプルで示します。 サンプルで使うスキーマ定義: table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText column_create --table Site --name title --type ShortText column_create --table Site --name point --type Int8 table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title サンプルで使うためのデータ登録: load --table Site [ {"_key":"http://example.org/","title":"This is test record 1!","point":1}, {"_key":"http://example.net/","title":"test record 2.","point":2}, {"_key":"http://example.com/","title":"test test record three.","point":3}, {"_key":"http://example.net/afr","title":"test record four.", "point":4}, {"_key":"http://example.org/aba","title":"test test test record five.","point":5}, {"_key":"http://example.com/rab","title":"test test test test record six.","point":0}, {"_key":"http://example.net/atv","title":"test test test record seven.","point":7}, {"_key":"http://example.org/gat","title":"test test record eight.","point":8}, {"_key":"http://example.com/vdw","title":"test test record nine.","point":9}, ] 例えば、指定した語句(test)をカラムtitleに含むテキストの全文検索を行うことを考えます。個々のデータには重要度(point)があらかじめ与えられているとします。 単純に指定した語句(test)にマッチするものが多いデータをソート(スコアが同じなら重要度で降順)して取得するならば以下のクエリで取得できます。 % select --table Site --query title:@test --output_columns _id,_score,title,point --sortby -_score,-point ["_id","UInt32"],["_score","Int32"],["title","ShortText"],["point","Int8"] [6,4,"test test test test record six.",0], [7,3,"test test test record seven.",7], [5,3,"test test test record five.",5], [9,2,"test test record nine.",9], [8,2,"test test record eight.",8], [3,2,"test test record three.",3], [4,1,"test record four.",4], [2,1,"test record 2.",2], [1,1,"This is test record 1!",1] ただし、これだと重要度が低い"test test test test record six."がトップに来ます。マッチするのは重視したいけれども、それほど高いスコアを与えると望ましい結果にならないときに調整するのに使えるのが、min関数です。 groongaではスコアを_scoreカラムに保持しています。そこで、min関数を使って極端に高いスコアにならないようにします。 % select --table Site --query title:@test --output_columns _id,_score,title,point --scorer '_score = min(_score, 3) --sortby -_score,-point ["_id","UInt32"],["_score","Int32"],["title","ShortText"],["point","Int8"] [7,3,"test test test record seven.",7], [5,3,"test test test record five.",5], [6,3,"test test test test record six.",0], [9,2,"test test record nine.",9], [8,2,"test test record eight.",8], [3,2,"test test record three.",3], [4,1,"test record four.",4], [2,1,"test record 2.",2],[1,1,"This is test record 1!",1] すると、マッチしているものを重視しつつ、設定済みの重要度も考慮した結果を得ることができるようになります。 さいごに 2.0.6からの詳細な変更点は 2.0.7リリース 2012/09/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 2.0.5リリース groonga 2.0.5リリース 今日は肉の日ですね。 groonga 2.0.5 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回のリリースの主なトピックは4つあります。 近傍検索を行う 'column *N "word1 word2 ..."' 構文をサポート groongaドキュメントの更新 groonga-httpdの機能強化 位置情報から距離を計算する組み込み関数の改善 近傍検索を行う 'column *N "word1 word2 ..."' 構文をサポート groongaでは近傍検索を行うための構文が用意されていましたが、実際には近傍検索を行うことができませんでした。 近傍検索とはすべての単語が含まれていてかつそれぞれの単語が文章内で近くにあるレコードを検索することです。 近くにあるかどうかは単語の距離が10以内にあるかどうかです。今のところ、この値は固定となっていて変更できません。 距離の単位は距離の単位はN-gram系のトークナイザーでは文字数で、形態素解析系のトークナイザーでは単語数となっています。 近傍検索を行うには 'column *N "word1 word2 ..."' 構文を使います。実際の使用例については 近傍検索 を参照してください。 groongaドキュメントの更新 今回のリリースではドキュメントの更新を行いました。 groongaには スクリプト構文 と呼んでいるECMAScriptに類似した構文で条件式などを表現するための構文があります。 ECMAScriptにあるような基本的な演算子やリテラルの説明や、groonga独自に追加した検索用の演算子の説明を追加しました。 スキーマ定義とサンプルデータによる実行例も併記してありますので、すぐに機能を確認することができます。 groonga-httpd の機能強化 groonga-httpdの機能強化のポイントは2つあります。 groonga-httpdのベースパスのカスタマイズをサポート locationディレクティブによる複数データベースのサポート まず最初に紹介する機能強化ポイントはベースパスのカスタマイズについてです。 これまで groonga-httpd ではgroongaのHTTPサーバー機能と同様に /d/command?parameter1=value&... というリクエスト形式しかサポートしていませんでした。 今回のリリースではURIのベースパスをカスタマイズするための groonga_base_path ディレクティブを追加しました。 これにより/d/以外のプレフィクスのリクエストも受け付けることができるようになります。 groonga_base_path を活用することで、特定のコマンドを実行する際に認証をかける設定を行うことができるようになります。 具体例として shutdownコマンドに認証をかける設定方法 を紹介しています。 もう一つの機能強化ポイントは複数データベースのサポートです。 従来提供していたgroongaのHTTPサーバー機能ではプロセスが扱えるデータベースが1つに限定されていました。 今回のリリースではlocationディレクティブごとに対応するデータベースを groonga_database ディレクティブによって指定することができるようになりました。 前述のベースパスのカスタマイズと組み合わせることで、 groonga-httpd では複数のデータベースをあたかも1つのデータソースであるかのようにまとめて扱うことができるようになります。 ディレクティブについては 設定ディレクティブ を参照してください。 位置情報から距離を計算する組み込み関数の改善 groongaでは位置情報から距離を計算する組み込み関数として geo_distance を提供しています。 geo_distance には子午線や日付変更線、赤道などのいわゆる境界をまたいだ距離の計算が正しく行えない制限があります。 geo_distance では距離を計算する際に地形をどのように近似して計算するかを方形近似、球面近似、 楕円近似の3つのうちから選択できます。 今回のリリースでは方形近似を選択した場合について、部分的にこの問題を改善しています。 具体的には二点が南半球の範囲にある場合において東経/西経をまたいでも正しく距離を計算できるようになりました。 geo_distance もこれに合わせて更新しています。 さいごに 2.0.4からの詳細な変更点は 2.0.5リリース 2012/07/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
福岡Groonga1を開催 福岡Groonga1を開催 2015-01-23(金)19:00より福岡初のGroongaイベント福岡Groonga1を開催しました。参加者の2/3はすでにGroongaやMroongaをバリバリ使っている方々で、実は福岡ではGroongaが普及していることがわかりました。イベントをやってよかったです。 イベントではおんがえしさんからGroonga+Rubyでこんなものが作れますという紹介の後、参加者の聞きたいことに1つずつ答えていくというスタイルにしました。会場を提供してくれたのはGMOペパボ福岡支社さんだったのですが、ホワイトボードも用意してくれたので図を書きながら説明できてとても助かりました。ありがとうございます! (会場提供だけでなく、懇親会の手配までしてもらって、それもとても助かりました。ありがとうございました!) 聞きたいことは例えばこんなものでした。 JavaからGroongaを使う方法は? 全文検索を実現している仕組みについて 利用事例を知りたい Elasticsearchなどとの違いについて 時系列データのようにどんどん増えていくデータをどう扱えばよいか トークナイザーを後から変更するにはどうしたらよいか Mroongaはメモリーをどのように使うか(どのくらい使うか Mroongaでの「0000-00-00」という時刻の扱いについて テーブル間で関連があるデータをどのように検索すればよいか 参加者からのレポートもあるので合わせて参考にしてください。 「福岡Groonga1」、マジで良かった話 - 坊主が上手にHatenaに坊主のコードを書いた これを機に福岡のGroongaコミュニティーができそうな気配があるので、福岡のGroongaユーザーの方は参加してみてください。 over 3 years ago
Groonga 4.1.0リリース(4.0.9ユーザーはアップグレード推奨) Groonga 4.1.0リリース(4.0.9ユーザーはアップグレード推奨) Groonga 4.0.9に「インデックスが壊れる可能性がある」という問題がわかったので、Groonga 4.1.0 をリリースしました。 すでにGroonga 4.0.9を使っている人は4.1.0へのアップグレードを推奨します。アップグレード後は次のようにインデックスを作りなおしてください。 column_remove TABLE INDEX_COLUMN column_create TABLE INDEX_COLUMN COLUMN_INDEX|... # <- 作成したときと同じオプションを指定 これらのコマンドの使い方はドキュメントを参照してください。 column_remove column_create なお、Groonga 4.1.0でインデックスを更新(追加・削除・更新)せず、単に検索していただけの人はインデックスを作りなおす必要はありません。 以上の情報以外にも知りたいことがある方はメーリングリストや@groonga経由で質問してください。回答します。 ご不便をお掛けして申し訳ありませんが、4.0.9ユーザーの方は対応をお願いします。 over 3 years ago
Groonga(Rroonga)利用事例:CrowdWorks Directory(社員名簿+日報システム) Groonga(Rroonga)利用事例:CrowdWorks Directory(社員名簿+日報システム) Groonga(Rroonga)の利用事例を紹介します。 日本最大級のクラウドソーシングサービスであるCrowdWorksの社内システムCrowdWorks DirectoryでGroongaを使っているとのことです。CrowdWorks Directoryは社員名簿+日報システムでRubyで実装しているとのことです。RubyにはRroongaというRubyらしいAPIでGroongaを使えるライブラリーがありますが、それを使っているとのことです。 CrowdWorksのCTOである大場さんからコメントをもらったので紹介します。 社員情報と日報の全文検索エンジンとして利用しています。会社の成長にともなって人が増えるなかで毎日提出される日報を高速に検索できています。 Rroongaを使うとRubyでサクッと簡単に全文検索機能を実現できてとても便利でした。日本語で開発者に質問できることも助かりました。 Rroongaを利用している方で紹介してもよいという方はぜひgroonga at groonga.orgまでご連絡ください! over 3 years ago
Groonga 4.0.8リリース Groonga 4.0.8リリース 今日はいい肉の日ですね!Groonga 4.0.8 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回はいくつか実験的な機能が追加されています。興味のある方はぜひ試してみてフィードバックをおねがいします。 [実験的] 逐次検索への自動切り替えのサポート (in_values/between) [実験的] 複数のキーによるドリルダウンのサポート [実験的] range_filterコマンドのサポート groonga-httpdがデフォルトのHTTPサーバーになりました [告知] Groonga Advent Calendar 2014はじまるよ! [実験的] 逐次検索への自動切り替えのサポート(in_values/between) 今回のリリースでは、逐次検索への自動切り替えのサポート(in_values/between)を追加しました。 逐次検索への自動自動切り替えがどういうことか簡単に説明します。 例えば、–filterで絞り込んでからさらに&& in_values()で絞り込むとします。 通常、インデックスが使えるならインデックスを使って効率良く検索し、使えない場合には 逐次検索をしてマッチしたもので絞り込んでいきます。 インデックスが使える場合には、&& in_values()で絞り込み対象となるレコード数が だいたいどれくらいかが事前にわかっているので、追加で絞り込む前と インデックスを使って検索する対象となるレコードの比率を求めます。 (A) –filterで1000件に絞り込んだ && in_value()の対象となるレコード数が5万件 1000/50000 = 0.02 (B) –filterで1000件に絞り込んだ && in_value()の対象となるレコード数が50万件 1000/500000 = 0.002 (A)の場合は20%とそこそこ比率が高めです。一方(B)の場合は2%と大分小さいです。 そこで、(B)のときにインデックスを使わずに逐次検索してマッチしたものを返すのと (B)のときに50万件が対象となるインデックスを使って検索するのとどちらがコストが高いか という話になります。適切な閾値を下回る(対象となるデータ件数が十分少ない)のであれば 逐次検索したほうが速そうですね、というところがポイントです。 この機能はデフォルトで有効になっていて、閾値が0.01になっています。そのため上記の(A)の場合には適用しませんが、(B)のときには逐次検索を試みます。 なおデフォルトの閾値は暫定的なもので、将来変更される可能性があります。また、必ずしもすべてのケースで確実に高速化が見込めることを保証できているわけではありません。 そのため、この挙動は環境変数で変更することができるようになっています。 in_values()の場合: # 逐次検索をしない GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=-1 # 比率の閾値を0.02にする GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=0.02 between()の場合: # 逐次検索をしない GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=-1 # 比率の閾値を0.02にする GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=0.02 試してみて閾値はこれくらいに設定するのがウチの場合はよかった、などフィードバックをもらえると嬉しいです。 詳細はbetweenやin_values(まだドキュメント化が追いついていない)のドキュメントを参照してください。 [実験的] 複数のキーによるドリルダウンのサポート 今回のリリースでは、複数のキーによるドリルダウンのサポートを追加しました。 これにより、大項目、中項目、小項目といった項目でグループ化した結果を簡単に取得することができるようになりました。これまでは1つのキーしかサポートしていなかったので、そういったことをやるにはアプリケーション側で頑張らないといけませんでした。 実際にどんな感じに使えるのか説明します。 サンプルとして使うスキーマは次のとおりです。 table_create Tags TABLE_PAT_KEY ShortText table_create Memos TABLE_HASH_KEY ShortText column_create Memos tag COLUMN_SCALAR Tags column_create Memos date COLUMN_SCALAR Time これに次のようなデータを投入します。 load --table Memos [ {"_key": "Groonga is fast!", "tag": "Groonga", "date": "2014-11-16 00:00:00"}, {"_key": "Mroonga is fast!", "tag": "Mroonga", "date": "2014-11-16 00:00:00"}, {"_key": "Groonga sticker!", "tag": "Groonga", "date": "2014-11-16 00:00:00"}, {"_key": "Rroonga is fast!", "tag": "Rroonga", "date": "2014-11-17 00:00:00"}, {"_key": "Groonga is good!", "tag": "Groonga", "date": "2014-11-17 00:00:00"} ] データの準備ができたら実際にドリルダウンしてみましょう。クエリはこんなふうに書きます。 select Memos \ --command_version 2 \ --drilldown[tag].keys tag,date \ --drilldown[tag].output_columns _key[0],_key[1],_nsubrecs ドリルダウンの構文がこれまでと違いますね。 キーの指定は --drilldown[LABEL].keys になりました。また、出力対象の指定も --drilldown[LABEL].output_columns になっています。 --drilldown[tag].output_columns _key[0],_key[1],_nsubrecs output_columnsはちょっと見慣れない _key[N] がありますね。これは、keysに指定したどちらのキーの値をとってくるかを指示するものです。 そのため、上記クエリの場合は _key[0] で tag カラムのレコード値をとってくる、 _key[1] で date カラムのレコードの値をとってくるという意味になります。_nsubrecs はグループ化した件数です。 返ってきた結果を抜きだすとこんな感じになります。 { "tag": [ [ 4 ], [ [ "_key[0]", null ], [ "_key[1]", null ], [ "_nsubrecs", "Int32" ] ], [ "Groonga", 1416063600.0, 2 ], [ "Mroonga", 1416063600.0, 1 ], [ "Rroonga", 1416150000.0, 1 ], [ "Groonga", 1416150000.0, 1 ] ] } ドリルダウンによってtagがGroongaであるもののうち、時刻が重複しているものが2つあることがわかります。 大事なポイントがもう一つあります。クエリに–command_version 2を付けるのを忘れないでください。これは従来の構文を拡張しているためです。 [実験的] range_filterコマンドのサポート 今回のリリースでは、 range_filter コマンドのサポートを追加しました。 これは select の簡易版で、条件を限定して高速化したコマンドです。 select ではマッチした件数を一緒に返しますが、 range_filter ではそれをやらないというのがポイントです。 ただし、必要なデータが取得できた時点で走査を打ち切る特性から drilldown のようなグループ化して結果を返すものには適用できません。マッチしたものすべてをあらかじめ知っておかないといけないからです。 そのため、ランキングの上位N件だけを取得したいときなど全体の件数までは知らなくていいような検索に向いています。 groonga-httpdがデフォルトのHTTPサーバーになりました これまで、GroongaのHTTPサーバーはgroonga-server-httpパッケージをまずは使ってね、というスタンスだったのでした。ただ、HTTPサーバーのパッケージが複数あるのはわかりにくいというのと groonga-httpd が登場してそれなりに経つということで、パッケージは groonga-httpd に一本化することにしました。 groonga-server-http をアップデートすると groonga-httpd にきりかわるようになっています。 groonga-server-http と groonga-httpd ではたくさんの違いがあります。どう違うかについては、 比較のページ を用意しているのでそちらを確認してください。 groonga-httpd 特有の ディレクティブ もあるので参考にしてください。 Groonga本体のHTTPサーバーとしての機能は削除していないので、コマンドラインからこれまで通り使うことができます。 さいごに 4.0.7からの詳細な変更点は 4.0.8リリース 2014/11/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Droonga 1.0.8 をリリースしました Droonga 1.0.8 をリリースしました Droonga 1.0.8 をリリースしました! Droongaは、Groongaと互換性がある分散型の全文検索システムです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、フロントエンドのHTTPサーバがバックエンドとして 複数のDroonga Engineノードに接続できるようになりました。 クラスタ内のEngineノードが停止した場合でも、残ったEngineノードに 接続する形で動作し続けます。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga勉強会「全文検索エンジンGroongaを囲む夕べ5」開催のお知らせ Groonga勉強会「全文検索エンジンGroongaを囲む夕べ5」開催のお知らせ 今年もいい肉の日(11/29)が近づいてきました! 今年も、Groonga関連プロダクトの最新情報と今後の展望がわかる「全文検索エンジンGroongaを囲む夕べ」を開催します!なんと、今年で5年目です。 イベントページ(参加登録はこちらから) すでにGroongaを使っている方も、Groongaには興味があるけどまだ使っていないという方も、Groongaの最新情報を聞けたり、開発者や参加者間で情報交換できる年に1度の機会なので、ぜひ、ご参加ください! なお、今年のいい肉の日は土曜日なので、「夕べ」と言っていますが、13:30開始です!夜くらい(17:30)まで開催するので「夕べ」でいいのです。 以下、盛り沢山なイベント情報です。 会場とイベントスポンサー 今年の会場は渋谷のセルリアンタワーの「GMOインターネットグループ シナジーカフェ GMO Yours」(*)です。Mroongaのバグ報告などでも開発に協力してくれているGMOメディアさんが会場提供してくれます。ありがとうございます! (*) 「ConoHa presents - Groonga "How-To" Talks」と同じ会場です。 しかも!プチ懇親会の開催費も提供してくれます。イベント終了後、小一時間程度ですが無料で軽く飲食しながら交流できるので、普段は(がっつりした)懇親会に参加しない方でも、せっかくなので参加して情報交換していってください。 スポンサーの詳細 動画配信 今年も当日の様子をインターネットで配信する予定です。去年と同じくUstreamで配信するか、あるいは、YouTubeを使って配信するかは未定ですが、配信はする予定です。詳細が決まったら改めて連絡します。 遠方などで参加できない方はご活用ください! ちなみに、今年も配信職人の@suzukiさんが配信してくれます。ありがとうございます! 動画配信の詳細 開発者以外からの発表 今回も開発者以外からの発表を公募します。次の話題にピンときた方はぜひ応募してください! 自作のツール、ライブラリーの紹介 その他Groongaに関する情報の紹介 例えば、こんな内容の発表です。 自作のツール、ライブラリーの紹介 例)Groongaを便利に使うためのツールの紹介 例)Groongaのクライアントライブラリーの紹介 例)Groongaのプラグインの紹介 その他Groongaに関する情報の紹介 例)Groonga関連のお役立ち情報について 参考:「ConoHa presents - Groonga "How-To" Talks」の内容 例)Groongaを使って作ったアプリケーションについて 例)Groongaを使って作ったサービスについて ピントきた方は応募方法を参考に応募してください。お待ちしています! 実は、今回のテーマは「サードパーティー」です。最近はGroonga開発チーム以外が開発したツールやライブラリーが増えてきました。今回のイベントではそんなサードパーティー開発者の方から自作のツールやライブラリーを紹介してもらいたいと思っています!参加者の人が、このイベントで得た情報を使って今後もっと便利にGroongaを使えるようになることを目指したいです! 併催イベント イベントの休憩時間やプチ懇親会のときに次のイベントも併催します! Groongaビジネス無料相談 検索エンジン自作入門サイン会 「Groongaビジネス無料相談」はGroongaサポートやGroongaを使った開発の協力などについて無料で相談できるイベントです。困っていることがある人はこの機会に相談してみてください。相談にのってくれる企業も募集しているので、Groonga得意だよ!という企業の方はご連絡ください。 Groongaビジネス無料相談の詳細 「検索エンジン自作入門サイン会」は「検索エンジン自作入門」という本の著者によるサイン会です。この本は山田さんと末永さんの共著なんですが、なんと!今回のイベントには2人とも参加して、サインをしてくれます。一気にサインを集められる機会はこのイベントだけです!「検索エンジン自作入門」を購入してサインをもらいにきてください! 検索エンジン自作入門サイン会の詳細 協力者募集 イベントに協力してくれる方を募集しています。いつもGroongaにお世話になっているから、なにか協力したいんだけど、コード書けないしなぁとか思っている人は、この機会をご活用ください! 協力者募集の詳細 特に「有志の懇親会の幹事」を切望しています! まとめ 例年通り、今年もいい肉の日に開催するGroongaイベントについて紹介しました。今年もいい肉の日にみなさんにお会いできることを楽しみにしています! 参加登録はイベントページからどうぞ。 over 3 years ago
Groonga 4.0.6リリース Groonga 4.0.6リリース 今日は肉の日ですね!Groonga 4.0.6 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回は細かな改良と不具合修正が主な変更点です。 改良点は column_create でインデックスカラムを作成するときのエラーチェックを強化したことです。これまでは間違ったパラメーターを指定したときに不完全なインデックスカラムが作成されてしまいましたが、チェックを強化したことにより、問題にすぐに気付けるようになりました。 修正した不具合は次の通りです。 類似文書検索でIDF(逆文書出現頻度)ではなくトークンIDを使ってしまっていた。 参考:[groonga-dev,02731] 三谷さんが報告してくれました。ありがとうございます! 河田さんは動作検証に協力してくれました。ありがとうございます! _key に複数のインデックスを張っているとレコード登録時にクラッシュする。 * で全文検索すると空文字列に対する前方一致検索となってしまう。 参考:[groonga-dev,02796] かずひこさんが報告してくれました。ありがとうございます! 他にも次のような新機能があります。 類似文書検索時に検索対象に選ぶトークン数をユーザーが指定できるようにした。 mrubyを有効にしてビルドすると X > 0 && X <= 100 のような範囲検索のクエリーを最適化できるようにした。 Herokuユーザー向け情報 今回のリリースからMessagePackに対応したので Nroonga も使えます。使ってみた人は試した方法をブログにまとめてください!お願いします。 Debianユーザー向け情報 今回のリリースからDebian用パッケージはwheezyのみ提供で、jessieとsidのサポートはやめました。 イベントのお知らせ 11月29日(土)は、今年も「全文検索エンジンGroongaを囲む夕べ」を開催します!次のような内容になる予定なので、予定を空けておいてください!イベントページは近日公開予定です! 開発者が今年一年の改善点を紹介 開発者が今後の開発の方向性を紹介 Groongaを便利に使うためのツールやライブラリーを作っているユーザーがプロダクト紹介 ユーザーがGroongaに関することを紹介 検索エンジン自作入門のサイン会(すでに購入している人は持ってきてください。) イベント概要は次の通りです。 日時: 2014-11-29(土)13:00開場、13:30開始 場所: GMOインターネットグループ シナジーカフェ GMO Yours 「ConoHa支援プログラム」の利用をはじました Groongaは http://packages.groonga.org/ で各種パッケージを配布しています。そこのホストに ConoHa を利用することにしました。 ConoHa支援プログラム を利用しています。 GMOインタネットグループさんにはイベントでの会場提供(先日の ConoHa presents - Groonga "How-To" Talks も11/29のイベントもGMOインタネットグループさん提供の会場です!)だけでなく、サーバー面でも支援してもらってたいへん助かっています!ありがとうございます! http://packages.groonga.org/ はデフォルトのCentOSではなく、Ubuntu 14.04にインストールし直して使っています。最初からインストールイメージが用意されているのですぐに入れ替えられました。あとは普通のサーバーとして使っています。 packages.groonga.orgのセットアップスクリプト はGitHubにあります。参考までに。 みなさんも ConoHa を試してみてはいかがでしょうか! さいごに 4.0.5からの詳細な変更点は 4.0.6リリース 2014/09/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
ConoHa presents - Groonga "How-To" Talksを開催 ConoHa presents - Groonga "How-To" Talksを開催 2014/09/03、VPSのお手軽さとクラウドの拡張性を備えたConoHaとコラボしたGroonga勉強会、ConoHa presents - Groonga "How-To" Talksを開催しました! この勉強会のテーマは「How-To」でした。参加者がGroongaの具体的な使い方を勉強できる会を目指しました。今回の発表資料はすべて公開されています。参加できなかった方はぜひ参考にしてください。 How to backup your Mroonga database? - @yoku0825 Mroongaで全文検索をちょっぱやにしてみた - @tamano GroongaとTwitter Streaming APIでお手軽データ解析 - @hironobu_s Better Groonga Replication - @Yappo Groongaのサジェストで四苦八苦 - @redfigure PHPからGroongaを使うにはこんなコードになるよ! - @do_aki 当日の様子はConoHa presents - Groonga "How-To" Talks #groonga タグまとめ - Togetterまとめも参考になりますよ。ツイートをみると、お役立ち勉強会だったことがよくわかりますね。 また、このは通信室でもConoHa presents - Groonga "How-To" Talks イベントレポートが公開されています。写真もあって、どんな雰囲気だったかもわかりやすいです。 参加者の方もレポートを書いてくれています。こちらもあわせてどうぞ! [Elasticsearchで動いてる全文検索機能をまるっとGroongaに置き換えてみる遊び GMOメディア エンジニアブログ](http://tech.gmo-media.jp/post/96654610919/groonga-bosukete) [ConoHa presents - Groonga “How-To” Talksでバックアップについてしゃべった GMOメディア エンジニアブログ](http://tech.gmo-media.jp/post/97046711949/conoha-presents-groonga-how-to-talks) 勉強会ではいろいろおしらせがありました。 ConoHaがオブジェクトストレージをリリース! Groonga開発チームのグニャラくんが執筆した検索エンジン自作入門が9/25に発売予定! 今年もいい肉の日(11/29)に5回目の「全文検索エンジンGroongaを囲む夕べ」が開催予定!場所はこの勉強会と同じGMOインターネットグループ シナジーカフェ GMO Yoursです。 「全文検索エンジンGroongaを囲む夕べ」については今月中に詳細を発表します!いい肉の日は予定をあけておいてください。また、今回も発表を公募するので、Groongaネタがある人は用意しておいてください。お楽しみに! 今回の会場を提供してくれただけでなく、「全文検索エンジンGroongaを囲む夕べ」の会場も提供してくれるGMOインターネットさん、本当にありがとうございます! over 3 years ago
Groonga 4.0.4リリース Groonga 4.0.4リリース 今日は肉の日ですね!Groonga 4.0.4 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回は細かな改良・修正が主です。例えば次のようなものです。 groonga-httpd(nginxを使っている方) がレスポンスボディが0バイトのときにレスポンスを返さない問題を修正。 Webブラウザーで使える管理画面のデフォルトの言語を英語にした。 重み付き参照ベクターカラムを本当にサポート。(前回のリリースでは動いていなかった。) このような細かな改良・修正も継続して行っているため、Groongaの安定性は向上しています。小さな問題でも見つけたら報告してください。Groongaの安定性がさらに向上する助けになります。 Groonga関連情報のお知らせ @naoa_yさん がGroongaと他のプロダクトのベンチマークをとって公開してくれています。@naoa_yさん 、ありがとうございます! GroongaとElasticsearchの転置索引の違いと更新反映速度について - CreateField Blog GroongaとTokyoCabinetのHash表のベンチマークについて - CreateField Blog 他のプロダクトに比べてGroongaの性能が見劣りしていないことがわかります。Groongaを検討している方は参考にしてください! GroongaをWebブラウザー上で試せるTry Groonga Webブラウザー上でGroongaを試せるTry Groonga というWebアプリケーションを開発しました。これを使うとチュートリアルの内容をWebブラウザー上で試すことができます。手軽にGroongaを勉強できますね! なお、Try GroongaはHeroku 上で動いています。Groonga用ビルドパック(heroku-buildpack-groonga とheroku-buildpack-rroonga )を作ったのがもう役に立っていますね! イベントのお知らせ 今月・来月は、次のGroonga関連イベントがあります。都合のつくGroongaユーザーのみなさんはぜひ参加してください! Droonga Meetup 1 Groongaユーザー向けイベント。Groongaをすでに使っている人だけが参加できます。Groongaに分散機能を追加したDroongaを紹介する。Droongaに移行するメリットは?GroongaからDroongaへどうやって移行するのか、などといった情報を提供する予定。 日時: 2014-07-30(水) 20:00開始 場所: 有楽町にあるぐるなびさんのオフィス ConoHa presents - Groonga "How-To" Talks この勉強会のテーマは「How-To」です。参加者がGroongaの具体的な使い方を勉強できる会を目指します。MroongaやRroongaなどGroonga関連プロジェクトも扱います。 発表者を募集中です! 日時: 2014-09-03(水)19:30 場所: GMOインターネットグループ シナジーカフェ GMO Yours イベントの開催報告 この1ヶ月ほどで次のイベントがありました。参加者のレポートもあるのでぜひ確認してください。Groonga関連のイベントはこれからもいろいろあるので、興味が出てきた場合はぜひ参加してみてください! 全文検索エンジンGroongaユーザ勉強会@神戸 全文検索エンジンGroongaユーザ勉強会@神戸を主催しました - CreateField Blog 全文検索エンジンGroongaユーザ勉強会@神戸に参加しました - shigeponが関心のある技術情報など Mroonga Meetup 2014/06/29 @東京 Mroonga - Mroonga Meetup 2014/06/29 @東京を開催しました! Groongaドキュメント読書会3 Groongaドキュメント読書会3で学んだ事のメモ Groonga読書会3 参加レポート さいごに 4.0.3からの詳細な変更点は 4.0.4リリース 2014/07/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
My vim quondam! <a href="http://www.viagrawithoutadoctorprescriptioncost.com/">viagra without a doctor prescription</a> over 3 years ago
Droonga 1.0.1 をリリースしました Droonga 1.0.1 をリリースしました Droonga 1.0.1 をリリースしました! Droongaは、ストリーム指向の処理モデルを採用したスケーラブルなデータ処理エンジンです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 検索、更新、集約などの多くの操作がパイプラインを通じて行われるこのモデルにより、 Droongaは高い柔軟性と拡張性を備えています。 また、既存操作の組み合わせによる複雑な操作にも対応しています。 ユーザーはRubyでプラグインを開発して、独自の操作をDroongaに加える事ができます。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Droonga 1.0.0 をリリースしました Droonga 1.0.0 をリリースしました Droonga 1.0.0 をリリースしました!これはDroongaプロジェクトにとって初の正式なリリースです。 Droongaは、ストリーム指向の処理モデルを採用したスケーラブルなデータ処理エンジンです。「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。検索、更新、集約などの多くの操作がパイプラインを通じて行われるこのモデルにより、Droongaは高い柔軟性と拡張性を備えています。また、既存操作の組み合わせによる複雑な操作にも対応しています。ユーザーはRubyでプラグインを開発して、独自の操作をDroongaに加える事ができます。 Droongaは現在活発に開発が行われております。興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Droonga 0.9.9 をリリースしました Droonga 0.9.9 をリリースしました Droonga 0.9.9 をリリースしました! Droongaは、ストリーム指向の処理モデルを採用したスケーラブルなデータ処理エンジンです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 検索、更新、集約などの多くの操作がパイプラインを通じて行われるこのモデルにより、Droongaは高い柔軟性と拡張性を備えています。 また、既存操作の組み合わせによる複雑な操作にも対応しています。 ユーザーはRubyでプラグインを開発して、独自の操作をDroongaに加える事ができます。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga Meetupを開催しました! Groonga Meetupを開催しました! 肉の日ということで、 Groonga Meetup 2014/01/29 を開催しました! 当日の様子 今回のMeetupでは平日夜の開催ということもあり、みんなでご飯を食べるところからはじまりました。肉の日ですしね! 会場を提供してくれたWEICさんの近くにある有名なとんかつ屋さん「成蔵」に行きました。さすがに行列ができていました! ご飯を食べたあとは、会場となるWEICさんの会議室に移動しての続きです。 最初はリリースを担当の林さんからの次のような内容のプレゼンがありました。 今月のGroonga 今月のMroonga Groonga Gobjectの話 ドキュメントのこぼれ話 もくもく作業の内容 プレゼンの後は参加者の興味に応じて別れてのもくもく作業となりました。 Groonga Meetupの成果 今回のMeetupでは、こんな成果がありました。 Groongaのドキュメントの不備を参加者に指摘してもらえた Groongaの表記の統一化作業が進んだ Rroongaの3.1.2のリリース作業が進んだ Groonga本を書いてくれる人が見つかった 中国語のトークナイザーのテストの改善に協力してもらえることになった さいごに 今回のMeetupでは、「ドキュメント」をよくしようということで、興味ある内容ごとに分かれて参加者と一緒にもくもく作業するというのをやってみました。Meetupは夕飯込みの2時間だったのであっという間に過ぎてしまい、もっと作業時間に割りあてる時間を増やせるようにしたほうが良かったかも、という気もします。 年一回開催しているGroongaを囲む夕べとは違い、こじんまりとしたゆるやかな会でした。次回開催は未定です。今回はドキュメントだったからスルーしたけど、こんな内容だったら参加してみたいというのがあれば、次のMeetupを主催してみませんか? 会場を探したりといった困った点についてはお手伝いができますよ! 今回のMeetupが無事開催にこぎつけたのも、会場提供してくださったWEICさんのおかげです。ありがとうございました! over 3 years ago
groonga 1.2.7, groongaストレージエンジン 1.0.1リリース groonga 1.2.7, groongaストレージエンジン 1.0.1リリース 今月もgroongaとgroongaストレージエンジンをリリースしました。 groonga 1.2.7での変更点 groongaストレージエンジン 1.0.1での変更点 ここ数リリースで位置情報検索まわりを強化していて、groongaストレージエンジンはMyISAMよりも高速に動作するようになっています。もう少し高速化案があるので、次のリリースでも位置情報検索まわりが改良されるでしょう。 2011/11/29の 全文検索エンジンgroongaを囲む夕べ 2 の前の2011/11/05(土)に オープンソースカンファレンス2011 .DB の OSSDB MySQL におじゃまして少しだけgroongaストレージエンジンを紹介します。こちらにもぜひ参加してみてください。 over 3 years ago
索引語辞書におけるキャッシュの採用 索引語辞書におけるキャッシュの採用 索引語の辞書をたくさん引くのは索引を構築するタイミングですが,そのとき必要になるのは単純な参照と追加くらいです.おまけに,最頻出の索引語をほんの少しキャッシュに入れておくだけで,ほとんどのクエリはカバーできます.そうであるならば,「高頻度語を検出するための工夫は必要になるけど,十分なリターンが期待できるのはないか?」というお話です. written by s-yata. 索引構築を速くするために 全文検索用の索引を構築する上で,それなりのウェイトを占める処理の一つが索引語辞書の操作です.具体的には,入力文書から切り出された索引語を ID に変換する処理です.入力索引語が索引語辞書に登録されていなければ,新たに追加した後,割り当てた ID を返します.登録されていれば,以前の追加によって割り当てられている ID を返します. 索引語辞書の操作を速くするのに重要なことを考えてみます. まず考えつくのは,索引語辞書のデータ構造を高速なものにすることです.ただし,時間効率の高いデータ構造は空間効率の面で劣るというのが一般的です.検索対象が大規模になれば索引語辞書も大規模になってしまうので,空間効率を度外視することはできません. 次に考慮すべき事項として,参照と追加の比重があります.全文検索システムでは文字 N-gram や形態素を索引語とするのが一般的であり,入力文書から切り出される索引語の出現頻度は偏るので,どうしても参照の比重が大きくなります.つまり,データ構造の選定においては,追加時間より参照時間を重視すべきということです. また,文書を検索するときの都合により,Common prefix search や Predictive search を効率的に実現できることが理想です. さらに,検索を止めることなく文書を追加するには,ロックフリーな参照を実現する必要があります. 以上のことから,ダブル配列(※)を索引語辞書のデータ構造として採用することを検討しました.しかし,索引語の出現頻度を実際に計数してみると,空間効率・時間効率ともに優れた索引語辞書の構成が見えてきました.結論を述べると,ダブル配列やハッシュ表をキャッシュとして採用するという案になります.計測によって得られた出現頻度の偏りが大きかったため,頻出索引語のみを時間効率の高いデータ構造に格納してキャッシュとし,本体には空間効率の高いデータ構造を用いることに思い至ったというわけです. ※ ダブル配列でロックフリーな参照を実現する方法については,別の記事であらためて解説しようと思います. 索引語の出現頻度がどのくらい偏るか 索引語辞書にキャッシュを採用するという案の前提となっているのは,索引語の出現頻度が大きく偏ることです.そして,キャッシュの有効性を認めるに至った実験の結果が以下の表になります.頻出索引語があらかじめ分かっているものと仮定して,何件のキーをキャッシュに格納すればキャッシュヒット率が一定の値に到達するのかを調査しました. 入力文書として用いたのは Wikipedia の記事と Twitter のつぶやきであり,索引語として試したのは文字 2-gram と MeCab による分かち書きの結果です.   _8=. キー数(%)               *4=. Wikipedia(日本語 + 英語) *4=. Twitter(日本語)           *=. キャッシュ *2=. 文字 Bigram + 英単語 *2=. 形態素 *2=. 文字         Bigram + 英単語 _2=. 形態素             *=. ヒット率 *=. キー数 *=. *=. キー数 *=. *=. キー数 _=. *=. キー数 *=.             _>. 10% >. 4 >. 0.000030 >. 3 >. 0.000022 >.     14 >. 0.000121 >. 5 >. 0.000038         _>. 20% >. 10 >. 0.000075 >. 8 >. 0.000058 >.     51 >. 0.000443 >. 12 >. 0.000090         _>. 30% >. 32 >. 0.000241 >. 19 >. 0.000137 >.     138 >. 0.001198 >. 23 >. 0.000173         _>. 40% >. 125 >. 0.000942 >. 49 >. 0.000353 >.     319 >. 0.002768 >. 44 >. 0.000331         _>. 50% >. 441 >. 0.003323 >. 148 >. 0.001067 >.     729 >. 0.006327 >. 108 >. 0.000811         _>. 60% >. 1,350 >. 0.010173 >. 478 >. 0.003447 >.     1,635 >. 0.014189 >. 292 >. 0.002193         _>. 70% >. 3,861 >. 0.029095 >. 1,549 >. 0.011169 >.     3,834 >. 0.033273 >. 921 >. 0.006918         _>. 80% >. 11,412 >. 0.085996 >. 5,163 >.       0.037228 >. 10,030 >. 0.087044 >. 3,285 >. 0.024677       _>. 90% >. 45,219 >. 0.340752 >. 22,867 >.       0.164882 >. 36,247 >. 0.314565 >. 15,888 >. 0.119349       _>. 91% >. 54,215 >. 0.408542 >. 27,767 >.       0.200213 >. 43,018 >. 0.373326 >. 19,481 >. 0.146340       _>. 92% >. 66,059 >. 0.497793 >. 34,321 >.       0.247471 >. 51,827 >. 0.449774 >. 24,284 >. 0.182420       _>. 93% >. 82,213 >. 0.619523 >. 43,428 >.       0.313137 >. 63,663 >. 0.552492 >. 30,946 >. 0.232464       _>. 94% >. 105,287 >. 0.793399 >. 56,646 >.       0.408445 >. 80,116 >. 0.695277 >. 40,619 >. 0.305127       _>. 95% >. 140,105 >. 1.055773 >. 77,469 >.       0.558589 >. 104,166 >. 0.903992 >. 55,395 >. 0.416123       _>. 96% >. 196,848 >. 1.483365 >. 113,521 >.       0.818541 >. 141,727 >. 1.229961 >. 79,754 >. 0.599106       _>. 97% >. 300,097 >. 2.261407 >. 185,761 >.       1.339427 >. 206,542 >. 1.792450 >. 125,518 >. 0.942882       _>. 98% >. 527,496 >. 3.974991 >. 369,337 >.       2.663098 >. 339,842 >. 2.949277 >. 234,680 >. 1.762899       _>. 99% >. 1,294,298 >. 9.753293 >. 1,145,987 >.       8.263120 >. 750,373 >. 6.512021 >. 731,192 >. 5.492659       実験結果を見ると,キャッシュヒット率が 90% を超えるくらいに調整したとき,キャッシュに含まれる索引語の割合は全体の 1% にも満たないことが分かります.つまり,空間効率の低いデータ構造をキャッシュとして採用したところで,索引語辞書のサイズにはほとんど影響しません.一方で,時間効率の高いデータ構造を採用すれば,索引構築にかかる時間を大幅に短縮できます. たとえば,キャッシュヒット率を 90% に調整すると,キャッシュが索引語 1 つあたりに必要とするサイズが本体のそれと比べて 5 倍でも,全体の 5% にも満たないということです.また,キャッシュの参照時間が本体の 1/5 になると仮定すれば,キャッシュミスしたときはキャッシュと本体の両方を参照することになるものの,1/5 x 90% + 6/5 * 10% = 30% にまで平均参照時間を短縮できることになります. 索引語辞書の構成はどうなるか これまでの内容から,索引語辞書の本体とキャッシュに求められる特徴をまとめてみました.端的に述べると,本体は空間効率重視,キャッシュは時間効率重視ということになります.ただし,本体については Common prefix search と Predictive search をサポートすることが求められます. _=. 本体 _=. キャッシュ _&lt;. 参照時間 多少遅くても大丈夫 できる限り高速な方が良い _&lt;. 追加時間 高速な方が良い 多少遅くても大丈夫 _&lt;. 空間効率 高い方が良い 多少低くても大丈夫 _&lt;. 拡張検索 Common prefix search と Predictive search _&lt;. 補足事項 頻出索引語の検出 静的な構築でも大丈夫 ------------------ ------------------------------------------- -------------------------- 入力文書が出揃うまで頻出索引語を正確に求めることはできないため,途中経過から以降の頻出索引語を予測する必要があります.シンプルな実装は,出現頻度が閾値を超えた索引語をキャッシュに追加する,あるいは一定の条件を満たしたときにキャッシュを再構築するというものです.正確な予測はできなくても,それなりの効果を期待できるでしょう. 今少し具体的な,つまり groonga 的な構成を示すとすれば,Bitwise なパトリシアトライである grn_pat を本体として,ダブル配列をキャッシュに用いるという構成になります.後は,頻出索引語を検出するために,出現頻度を格納するための領域が必要になるでしょう. さらなる効率化を目指すのであれば,空間効率重視の静的なデータ構造を導入し,低頻度の索引語を本体から移行するべきかもしれません.運用方法と併せて検討することが肝要です. over 3 years ago
Ruby 2.3.0 Released <p>We are pleased to announce the release of Ruby 2.3.0.</p> <p>This is the first stable release of Ruby 2.3 series. It introduces many new features for example:</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal Pragma</a> is introduced. With Ruby 2.1, <code>"str".freeze</code> has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on <code>"can't modify frozen String"</code> error by <code>--debug=frozen-string-literal</code> command line option.</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11537">safe navigation operator</a> (<a href="https://instagram.com/p/-M9l6mRPLR/">so-called lonely operator</a>) <code>&amp;.</code>, which already exists in C#, Groovy, and Swift, is introduced to ease <code>nil</code> handling as <code>obj&amp;.foo</code>. <code>Array#dig</code> and <code>Hash#dig</code> are also added. Note that this behaves as <a href="http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21">try! of Active Support</a>, which specially handle only nil.</p> <p>The <a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem is bundled</a>. The did_you_mean gem shows the candidates on the <code>NameError</code> and <code>NoMethodError</code> to ease debugging.</p> <p><a href="https://bugs.ruby-lang.org/issues/11788">RubyVM::InstructionSequence#to_binary and .load_from_binary</a> are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.</p> <p>It also includes many performance improvements for example, <a href="https://bugs.ruby-lang.org/issues/11278">reconsider method entry data structure</a>, <a href="https://bugs.ruby-lang.org/issues/11420">introducing new table data structure</a>, <a href="https://bugs.ruby-lang.org/issues/11569">optimize Proc#call</a>, machine code level tuning for object allocation and method calling code, <a href="https://bugs.ruby-lang.org/issues/11170">smarter instance variable data structure</a>, <a href="https://bugs.ruby-lang.org/issues/11229"><code>exception: false</code> keyword argument support on Socket#*_nonblock methods</a> and so on. Check “Implementation improvements” section in NEWS file.</p> <p>For a complete list of new features and compatibility notes, please see <a href="https://github.com/ruby/ruby/blob/v2_3_0/NEWS">NEWS</a> and <a href="https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog">ChangeLog</a>.</p> <p>With those changes, <a href="https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0">2946 files changed, 104057 insertions(+), 59478 deletions(-)</a> since Ruby 2.2.0!</p> <p>Merry Christmas, Happy Holidays, and enjoy programming with Ruby 2.3!</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2</a></p> <pre><code>SIZE: 14185617 bytes SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz</a></p> <pre><code>SIZE: 17648682 bytes SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz</a></p> <pre><code>SIZE: 11294412 bytes SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip</a></p> <pre><code>SIZE: 19840511 bytes SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef </code></pre> </li> </ul> <p>Posted by naruse on 25 Dec 2015</p> over 3 years ago
Groonga 4.0.3リリース Groonga 4.0.3リリース 実際にリリース作業が完了したのが7/2ですが、建前上は6/29に Groonga 4.0.3 をリリースしました! それぞれの環境毎のインストール方法: インストール 変更内容 今回のリリースでの新機能は次の通りです。 GroongaのHTTPサーバー(nginxを使っていない方) がPOSTをサポート プラグイン開発周りのAPIが充実 GroongaのHTTPサーバーがPOSTをサポート これまで、 groonga --protocol http で動くHTTPサーバーはPOSTに対応していないため、データが多いと load することができませんでした。 今回のリリースでは、実験的にPOSTに対応しました。また、 "Expect: 100-Continue" HTTPヘッダーにも対応しているのでcurlでも動くはずです。 試してみて、うまく動かないという報告ももちろん助かるのですが、うまく動いたという報告もお願いします。うまく動いたときはどのくらいのサイズのデータをどのように load して動いたか報告してくれると助かります。うまく動く報告が多数あったら実験的な扱いではなく、正式機能扱いにする予定です。 プラグイン開発周りのAPIが充実 @naoa_yさん がプラグイン開発に必要なAPIを整理してくれています。 C/C++でGroongaのプラグインを開発する敷居が多少下がったはずです。 @naoa_yさん はまた1つプラグインを作ったみたいです!すごいですね! groonga-function-regex イベントのお知らせ 今月・来月は、次のGroonga関連イベントがあります。都合のつく Groongaユーザーのみなさんはぜひ参加してください! Groongaドキュメント読書会3 Groongaのオンラインドキュメントを読んでGroongaの理解を深めることを目的としたイベント。 日時: 2014-07-23(水) 20:00開始 場所: 都内のどこかで募集中! Droonga Meetup 1 Groongaユーザー向けイベント。Groongaをすでに使っている人だけが参加できます。Groongaに分散機能を追加したDroongaを紹介する。Droongaに移行するメリットは?GroongaからDroongaへどうやって移行するのか、などといった情報を提供する予定。 日時: 2014-07-30(水) 20:00開始 場所: 都内のどこかで募集中! イベントページは準備中です。 ConoHa presents - Groonga "How-To" Talks この勉強会のテーマは「How-To」です。参加者がGroongaの具体的な使い方を勉強できる会を目指します。MroongaやRroongaなどGroonga関連プロジェクトも扱います。 発表者を募集中です! 日時: 2014-09-03(水)19:30 場所: GMOインターネットグループ シナジーカフェ GMO Yours さいごに 4.0.2からの詳細な変更点は 4.0.3リリース 2014/06/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Try Groonga Try Groonga Try Groonga をリリースしました! GroongaをインストールせずにGroongaを試せるようになりました!WebブラウザーでWebページを開くだけです。 Try Groongaを使ってみてください! over 3 years ago
More information close to this product <a href="http://medicationlasix.com">lasix</a> 135685 <a href="http://www.flagylvip.com/">azithromycin online</a> gomudk <a href="http://azithromycinrost.com/">zpack</a> 225340 <a href="http://usalevitrausa.com/">levitra</a> tugjrpv3772 over 3 years ago
Droonga 1.0.2 をリリースしました Droonga 1.0.2 をリリースしました Droonga 1.0.2 をリリースしました! Droongaは、ストリーム指向の処理モデルを採用したスケーラブルなデータ処理エンジンです。 「Distributed Groonga」に由来するその名が示す通り、DroongaはGroongaをベースに構築されています。 今回のリリースでは、GroongaのHTTPサーバとの互換性が向上しました。 セットアップの手順が簡素化されてきたのに加えて、Groonga互換機能の拡充により、すでにGroongaをお使いの方にはGroonga HTTPサーバと同じ感覚でお使いいただけるようになってきています。 Groongaユーザ向けのチュートリアル も新たに用意しましたので、ぜひ一度お試しください。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
Groonga 4.0.1リリース Groonga 4.0.1リリース 2月9日のメジャーアップデート以来しばらく間があきましたが、 Groonga 4.0.1 をリリースしました! それぞれの環境毎のインストール方法: インストール 今回、データベースの肥大化解消のために非互換な変更がはいっています。その恩恵を受けるためにはデータベースのつくりなおしが必要です。 これにともない、新しいGroongaで一度でもデータベースを開くと、古いGroongaではデータベースを開けなくなることに注意してください。 データベースの肥大化を解消できるようになりました 今回のリリースでは、データベースの肥大化を解消する仕組みが有効になりました。 前にもそんなことを聞いた気がする人がいるかもしれないので、前回までの肥大化抑制のとりくみをおさらいしてみましょう。 3.1.0でGRN_JA_SKIP_SAME_VALUE_PUTを追加 同じ値なら更新をスキップすることで、新たに領域を確保せず肥大化を抑制する仕組みでした。 ただしまだ実験的な扱いで、使いたい人は明示的に設定を変更してくださいという扱いでした。 3.1.2でGRN_JA_SKIP_SAME_VALUE_PUT=yesが標準に それまで使いたい人がいたら使ってね、という扱いだったのを、必ず適用するようにしました。 これは、3.1.0で導入して以降、効果が認められたための措置です。 今回のリリースでは、可変長データの扱いを工夫することでデータベースの肥大化を解消できるようになりました。詳細については、「Groongaでの可変長データの管理方法」が図入りでわかりやすいです。 Groongaでの可変長データの管理方法 ただし、後方互換とするために、肥大化抑制の恩恵を受けるためにはデータベースを新しくつくりなおす必要があります。 まとめると 4.0.0以前のデータベースは4.0.1でもそのまま開けます ただし4.0.1のデータベースは以前のGroongaでは開けません データベースを新しく作りなおすと肥大化抑制効果があります ということになります。 実際に肥大化抑制効果をongaeshiさんが検証してくれた結果がこちらのグラフです。(このグラフもongaeshiさんが提供してくれました!ありがとうございます!) 以前のデータベースをそのまま継続して使っているとどんどん肥大化していっていますが(4.0.0-72-continue)、データベースを新規につくりなおすと肥大化を抑制できていることがわかります。(4.0.0-72-new) 重みつきベクターカラムをサポートしました 今回のリリースでは、ベクターカラムにキーと値のペアを複数格納できるようになりました。これが重みつきベクターカラムです。 例えば、ユーザーの属性をタグ付けするのに、これまでだと"どんな属性か"というのは以下のようにしてベクターカラムを使って複数のタグ付けすることができました。 column_create Users tags COLUMN_VECTOR ShortText ただし、属性に偏りがある場合には、これだけでは不十分です。そのため属性に対応した重みは属性ごとに別のカラムを追加して重みを格納するなどの工夫が必要でした。(カラム定義だと次のようなイメージ) column_create Users tags COLUMN_VECTOR ShortText column_create Users tags_A COLUMN_SCALAR Int32 column_create Users tags_B COLUMN_SCALAR Int32 column_create Users tags_C COLUMN_SCALAR Int32... 重みつきベクターカラムをサポートしたことで、そういったカラムをひとつにまとめることができるようになりました。(カラム定義だと次のようなイメージ)カラム定義で、WITH_WEIGHTを使うのがポイントです。 column_create Users tags COLUMN_VECTOR|WITH_WEIGHT ShortText こうすることで、次のようなキーと値のペアをベクターカラムに格納できるようになります。 {"タグA":重み1, "タグB":重み2, "タグC":重み3, ...} 検索結果に対して重みを調整するadjusterオプションをサポートしました 今回のリリースでは、selectコマンドのオプションとしてadjusterオプションをサポートしました。 重みというと、これまででもmatch_columnでカラムに対する重みづけはできていたような、と思うかも知れません。どんな違いがあるのかというと次のとおりです。 match_column マッチしているカラムの検索結果に対して重みづけをすることができる adjuster カラムの特定のキーについて重みづけをすることができる。 今回サポートされた重みつきベクターカラムとあわせて使うことで、よりきめこまかな検索を行うことができます。 たとえば、Groongaをよく使っている人をリストアップしたいといった場合考えてみましょう。よく使っている度合いを示す重みつきベクターカラムに格納しているとします。 サンプルとして使うスキーマ定義は次の通りです。 table_create User TABLE_HASH_KEY ShortText column_create User weight COLUMN_VECTOR|WITH_WEIGHT ShortText column_create User tags COLUMN_VECTOR ShortText table_create Weight TABLE_HASH_KEY ShortText column_create Weight weight_index COLUMN_INDEX|WITH_WEIGHT User weight table_create Tag TABLE_PAT_KEY ShortText column_create Tag tags_index COLUMN_INDEX User tags サンプルデータを次のようにしてロードします。 load --table User [ { "_key":"alice", "weight":{"Groonga":30, "Mroonga":20}, "tags": ["Groonga", "Mroonga"] }, { "_key":"bob", "weight":{"Groonga":50}, "tags": ["Groonga"] }, { "_key":"carol", "weight":{"Groonga":40,"Mroonga":30}, "tags": ["Groonga", "Mroonga"] } ] 単に、"Groonga"を使っているというだけなら次のようにして"tags"カラムに"Groonga"を含むレコードを検索すればよさそうです。 select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' しかし、欲しいのは使っている度合いに応じた結果です。そのためにadjusterオプションを次のようにして使います。 select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' --adjuster 'weight @ "Groonga" * 10' adjusterに渡しているパラメータは次のようになっています。 'weight @ "Groonga" * 10' これは、'weight'カラムに"Groonga"というキーワードがあるものの重みを10倍にする、ということを意味します。そのため、重みを考慮したスコアの順に並びかえて結果を取得することができます。 Groongaの重みが大きい"bob"が一番上になりました。 ["bob",511,["Groonga"],{"Groonga":50}], ["carol",411,["Groonga","Mroonga"],{"Groonga":40,"Mroonga":30}], ["alice",311,["Groonga","Mroonga"],{"Groonga":30,"Mroonga":20}] Groongaだけじゃなくて、Mroongaも使っている人を重視したいなら、adjusterに"Mroonga"を指定すれば目的の結果が得られます。 select User --output_columns _key,_score,* --sortby -_score --filter 'tags @ "Groonga"' --adjuster 'weight @ "Mroonga" * 10' Mroongaの重みが大きい"carol"が一番上になりました。 ["carol",311,["Groonga","Mroonga"],{"Groonga":40,"Mroonga":30}], ["alice",211,["Groonga","Mroonga"],{"Groonga":30,"Mroonga":20}], ["bob",1,["Groonga"],{"Groonga":50}] さいごに 4.0.0からの詳細な変更点は 4.0.1リリース 2014/03/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groongaステッカーの印刷を注文する方法 Groongaステッカーの印刷を注文する方法 はじめに Groongaプロジェクトでは、イベントなどでGroonga族のステッカーを配布しています。 ステッカーのデータは groonga.orgで公開 しているので、だれでも自由にステッカーを作成することが可能です。 今回は デジタ を利用したステッカー印刷の注文手順を紹介します。 Groongaステッカー印刷時の参考にしてください。 発注先と素材の選定 デジタでは紙やフィルムなど多くのステッカー用素材を取り扱っているので、まずは無料サンプルを請求しました。 サンプルを参考に、今回はフィルム素材ステッカー(耐水)/銀ツヤを採用しました。 印刷するステッカーの種類と数 今回は、以下の種類と枚数を発注することにしました。 Groonga 400枚 Mroonga 400枚 Droonga 200枚 合計 1000枚 この時、種類と枚数を考えるのにはコツがあります。 業者を利用した印刷では、印刷するシートの数が増えれば増えるほど料金がかさむ傾向にあります。 ですので、費用を安く抑えるためには以下のような工夫をします。 複数の図柄は1つのシートに可能な限りまとめましょう。 同じ3種類のステッカーを作成する時でも、3種類を別々に100枚ずつ印刷するのと、3種類のステッカーを1枚のシートにまとめた物を100回印刷した後でそれを3つに切り離して300枚にするのとでは、後者の方が安上がりになることが多いです。 同じ図柄を1つのデータの中に複数個含めて、1回の印刷で複数枚のステッカーができるようにしましょう。 同じステッカーを200枚作成する時でも、1シートに1つだけ図柄があるステッカーを200回印刷して200枚のステッカーにするのと、1シートに同じ図柄が2つあるステッカーを100回印刷した後でそれを2つに切り離して200枚のステッカーにするのとでは、後者の方が安上がりになることが多いです。 以上の理由から、今回は1シートにGroongaの図柄を2枚分、Mroongaを2枚分、Droongaを1枚分印刷することにし、それを200シート発注しました。 実際に入稿したデータはこちらになります。 20131111sticker.ai 入稿データの作成方法 データ入稿可能な印刷会社では、データの作成方法の案内が用意されている場合が多いです。 デジタの場合は シール・ラベル印刷 - テクニカルガイド というページがあり、こちらにAdobe IllustratorおよびAdobe Photoshopを使う場合の注意事項、DTPそのものの基礎知識の簡単な説明が掲載されています。 今回は、Adobe Illustrator CS4を使用してデータを作成しました。 ドキュメントを作成し、用紙サイズ(アートボードの大きさ)を決める デジタの場合、用紙サイズについては特に規定は無いようで、発注はステッカーの面積を基準に行うようになっています。 作りたいステッカーの大きさが決まっていないのであれば、データの作成時にはアートボードの大きさは敢えて決めずに作業し、最後に図柄全体が収まるようにアートボードの大きさを調整するとよいでしょう。今回はひとまずA4で作成することにします。 カラーモードはCMYKを選択しましょう。 レイヤを分ける ステッカーの印刷用データは、まず最初に図柄が印刷され、その後、カットラインに沿ってステッカーの形に切り抜かれる、という工程を経て実際のステッカーになります。 ですので、ステッカーの印刷用データには、図柄のデータとカットラインのデータの2種類が必要になります。 Groongaのステッカー用データ も、図柄データとカットラインデータの両方を公開しています。 Adobe IllustratorやAdobe Photoshopのデータで入稿する場合は、1つのファイルの中で、印刷用データとカットライン用データをそれぞれ別のレイヤに分けておけば良いということが多いです。 先の入稿用データでは、デジタのデータ作成ガイドラインに従って「カットライン」という名前のレイヤを作り、カットライン用データはすべてそこにまとめています。 図柄を配置する では、図柄を配置しましょう。 公開されているGroongaのステッカー用データ は、PDFとSVGの2形式が存在します。 どちらを使っても良いのですが、今回はPDFを使うことにします。 白背景、黒背景、縁取り有りのいずれかの図柄のファイルをダウンロードし、図柄用のレイヤに置きます。 また、図柄に対応するハーフカットライン用のデータもダウンロードし、こちらはカットライン用のレイヤに置きます。 データはリンクファイルのままにせず、「画像を埋め込み」で印刷用データの中に入れておきましょう。 (ダウンロードしたデータをIllustratorで開いてコピーし、印刷用データの中にペーストしても、同じ結果になります。) この時点ではまだ、図柄とハーフカットラインがずれていると思いますので、今のうちに位置を揃えておきます。 オブジェクト選択ツールで図柄とカットラインの両方を一度に選択し、整列ツールを使って水平・垂直共に整列させましょう。 公開しているステッカー用データは重心位置が同じなので、この方法できちんと図柄とカットラインの位置を合わせることができます。 同様にして、1シート内に配置するすべての図柄と、それぞれに対応するカットラインを各レイヤに置きます。 すべての図柄が揃ったら、実際にできあがるステッカーのシート上でどのように配置するかを検討します。 今回はそれぞれの図柄ごとに切り離して使う予定なので、切り離しやすいように若干の間隔を開けて、それぞれをまっすぐ一列に並べました。 この時、図柄とカットラインは必ず一緒に移動するように気をつけましょう。 図柄ごとに切り離さないで、1シートに複数のステッカーがある状態で配布したい場合は、余白を少なくしてギリギリまで各図柄を寄せて配置します。 これは、全体の面積を小く抑えられれば、その分、印刷代が安くなるからです。 ただし、あまりに余白を削りすぎると、印刷やカットがうまくいかなくなる恐れがあります。 印刷を発注する先の会社にもよりますが、カットライン同士は2mmから3mm程度、またカットラインの外周と用紙の外周との間も4mm程度は開けるように配置しておくと良いでしょう。 用紙サイズ(アートボードの大きさ)を調整する ステッカーの大きさを特に決めていなかった場合は、この時点でアートボードの大きさを調整し、ステッカーの大きさを確定しましょう。 以上でデータの準備は完了です。 公開されているステッカー用データはすべて、文字はアウトライン化済みとなっています。 アピアランスの分割等は特に行う必要はありません。 注文内容 入稿データの作成が完了したら、 シール印刷のページ から注文を開始します。 まずは、素材を選択し、その後サイズと枚数を選びます。あとは加工オプションを指定すれば完了です。 今回の注文内容は以下の通りとなりました。 [納期]納期 8営業日 [支払方法]クレジットカード [名称]ステッカー印刷(自由形)/フィルム素材ステッカー(耐水)/銀ツヤ [色数]フルカラー [サイズ]250平方センチ以内 [オプション加工]強粘着/4カット追加/200パス以内/1シートに複数枚 [金額]49,860円 各指定項目について少し説明します。 サイズ 入稿用データが収まる最小のサイズを選択します。今回の入稿用データは250平方センチ以内に収まる形でした。 4カット追加 1シートに複数のステッカーを印刷する場合、カットの追加が必要です。今回は1シートに5枚のステッカーを入れているので、4カット追加となります。(1カット分は基本料金に含まれています) 200パス以内 データに含めたカットラインのパス数の合計が収まる最小の選択肢を選びます。公開している各ステッカーのカットラインのパス数は以下の通りです。(今回のパス数は 33 (Groonga)×2+30(Mroonga)×2+35(Droonga)=161 でした。) Groonga:33パス Groonga 縁取り有り:33パス Mroonga:30パス Mroonga 縁取り有り:30パス Rroonga:36パス Rroonga 縁取り有り:30パス Nroonga:33パス Nroonga 縁取り有り:30パス Droonga:35パス Droonga 縁取り有り:35パス 1シートに複数枚 1枚の台紙に複数枚のステッカーがついた状態で納品されます。今回は会社にあるディスクカッターで1枚ずつ切り分けるのでこの形態にしました。もし1枚ずつ切り離された状態になっているほうがよければ、追加料金を払えばカットしてもらえます。 データの入稿 注文を確定後に、データを入稿します。今回はデジタのサイト上で入稿しました。 納品まで 入稿の翌日に、デジタの担当者から確認の電話がありました。サイズやパス数の指定が間違っていたときは、ここで訂正してもらえます。その後訂正内容に基づいて、注文内容の変更の連絡がメールであります。 あとは、納品まで待ちます。今回の場合11月11日に注文して、11月12日に注文内容の変更、11月22日に受け取りました。 ちなみに、発注は200枚でしたが、おまけで予備が10枚ついてきました(※ついてこない場合もあります)。 ステッカーの枚数としては210*5で1050枚。1枚あたり48円でできました。 まとめ 今回はデジタさんを利用してGroongaステッカーを作成する方法を紹介しました。 over 3 years ago
Groonga 4.0.0リリース 今日は年に1度の記念すべき肉の日(2/9)ですね。 Groonga 4.0.0リリース 昨年2月9日以来のメジャーアップデートである Groonga 4.0.0 をリリースしました! 今回のリリースでメジャーバージョンがあがって4.0.0となっています! メジャーバージョンはあがりましたが、データベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。 先月のリリースから間もないので、直接ユーザさんに影響するような大きな変更は入っていませんが、毎月こつこつリリースしてきたぶんがたまっているので、Mroongaと足並みを揃えてどーんと4.0.0をリリースすることにしました! それぞれの環境毎のインストール方法: インストール 前回のメジャーアップデート以降、毎月定期的にリリースを重ねてきました。毎月のリリースを継続することで、毎月29日はGroonga,Mroongaのリリースがあるよ、というのを知ってもらえるようになってきました。 今回のメジャーバージョンアップにあたって3.0.0のリリース以降、どんな変更が入ったのか振り返ってみたいと思います。 組み込み型への論理演算子のサポートを強化しました。(3.0.2) sub_filter 関数を追加しました。 (3.0.2) query() 関数でクエリ展開をサポートしました。 (3.0.2) Ubuntu 13.04 Raring Ringtailをサポートしました。 (3.0.3) 学習時の重みづけをconfiguration.weightでカスタマイズできるようにしました。 (3.0.3) ベクターを "vector[N]" というようにインデックスを指定してアクセスできるようにしました。 (3.0.3) Ubuntu 11.10 (Oneiric Ocelot) のサポートをやめました。 (3.0.4) tokenize コマンドを追加しました。 (3.0.4) Debian 8.0 (jessie)をサポートしました。 (3.0.4) html_untag 関数を追加しました。 (3.0.5) Fedora 19をサポートしました。 (3.0.6) Fedora 18のサポートをやめました。 (3.0.6) APIドキュメントを追加しました。 (3.0.7) ログ関連のディレクティブをgroonga-httpdでサポートしました。 (3.0.7) groonga-httpdでPOSTメソッドでデータをロードできるようにしました。 (3.0.7) 参照されているレコードに対して カスケード削除 できるようにしました。 (3.0.8) 実験的に ruby_eval コマンドを追加しました。 (3.0.8) Ubuntu 13.10 (Saucy Salamander) をサポートしました。 (3.0.9) 実験的に ruby_load コマンドを追加しました。 (3.0.9) 同じ値のときの更新をスキップするためのオプションをサポートしました。 (3.1.0) Debian 6.0 (squeeze)のサポートをやめました。 (3.1.1) Ubuntu 10.04 (lucid)のサポートをやめました。 (3.1.1) geo_in_rectangle が世界対応しました。 (3.1.1) 特定の範囲の値でフィルタするのに使う between 関数を追加しました。(3.1.1) Fedora 19のサポートをやめました。 (3.1.1) Fedora 20をサポートしました。 (3.1.1) GRN_JA_SKIP_SAME_VALUE_PUTをデフォルトで有効にしました。 (3.1.2) ロックタイムアウトをカスタマイズできるようにしました。 (3.1.2) Ubuntu 13.04 のサポートをやめました。 (4.0.0) ノーマライズ前の元の文字列で次の位置を計算するのに使う"check"を表示できるようにしました。 (4.0.0) 各リリースではユーザさんからの報告をもとにバグ修正や改善を行うことができました。ありがとうございます。 Groongaをもっと良くしていくために、これからも宜くおねがいします! さいごに 3.1.2からの詳細な変更点は 4.0.0リリース 2014/02/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 3.1.2リリース 今日は2014年最初の肉の日ですね。 Groonga 3.1.2リリース Groonga 3.1.2 をリリースしました! それぞれの環境毎のインストール方法: インストール ロックタイムアウトをカスタマイズできるようになりました 今回のリリースでは、ロックタイムアウトをビルド時にカスタマイズできるようになりました。この定数はデフォルトでは、長めの値10000秒(約3時間)になっています。(通常はこの値を変更する必要はありません。) ビルド時に変更するには次のようにします。 configureを使う場合: $ ./configure --with-lock-timeout=(任意の値) CMakeを使う場合: cmake -DGRN_LOCK_TIMEOUT=(任意の値) Groongaではユーザーが動的に変更する仕組みを提供していませんが、Mroongaの場合には動的にロックタイムアウトが変更できる(SET GLOBAL mroonga_lock_timeout)のでソースからビルドする必要はありません。 GRN_JA_SKIP_SAME_VALUE_PUTが標準で有効になりました 昨年11/29日にリリースしたGroonga 3.1.0では、同じ値なら更新をスキップするオプションをサポートしました。このときのリリースでは、あくまでオプションをサポートしたのみで、標準では無効となっていました。そのため使いたい人は設定ファイルを編集して有効にしてくださいという扱いでした。 今回のリリースからは、設定ファイルを変更することなく標準でこのオプションを有効にするようにしました。同じ値なのに頻繁に更新が発生していたケースではデータベースの肥大化を抑制することができるようになります。 実際に GRN_JA_SKIP_SAME_VALUE_PUTを有効にした簡単な例については以下を参照にしてみてください。 全文検索エンジンGroongaでデータベースの肥大化を防ぐには &&や||の挙動がECMAScriptにより準拠するようになりました これまでX && Y や X || Yを評価した結果については、1もしくは0が返すようになっていましたが、ECMAScriptにならって、そのものの値を返すようになりました。 この変更がはいるとどう嬉しいかというと、たとえば、snippet_htmlを使っているケースが該当します。 snippet_htmlでは該当するスニペットがない場合のデフォルト値を指定することができませんでした。今回の変更で、そのものの値を返すようになったので、次のようにするとスニペットのデフォルト値を指定することができるようになります。 snippet_html(XXX) || 'デフォルトの値' 例えば、titleカラムとcontentカラムがあり、条件にマッチするもののtitleを抜きだすとき、必ずしもtitleに指定したキーワードが含まれないことがあります。そんなときでも、デフォルトの値にtitleを指定しておくと空っぽの結果にならずにすみます。 さいごに 3.1.1からの詳細な変更点は 3.1.2リリース 2014/01/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
Droonga 0.9.0 をリリースしました Droonga 0.9.0 をリリースしました Droonga 0.9.0 をリリースしました! Droongaは、ストリーム指向の処理モデルを採用したスケーラブルなデータ処理エンジンです。 検索、更新、集約などの多くの操作がパイプラインを通じて行われるこのモデルにより、Droongaは高い柔軟性と拡張性を備えています。 また、Droongaは既存操作の組み合わせによる複雑な操作にも対応しています。 ユーザーはRubyでプラグインを開発して、独自の操作をDroongaに加える事ができます。 Droonga は現在活発に開発が行われております。 興味を持たれた方は、試しに使ってみたり、ぜひ開発に参加してください! over 3 years ago
「全文検索エンジンGroongaを囲む夕べ4」の様子がYouTubeでも視聴できます 「全文検索エンジンGroongaを囲む夕べ 4」の様子がYouTubeでも視聴できます 今年も「いい肉の日」である11/29に開催した、Groonga勉強会「 全文検索エンジンGroongaを囲む夕べ 4 」の録画がYouTubeでも視聴できるようになりました。 当日Ustreamでの配信を担当してくれた @suzuki さんのおかげです。ありがとうございます! 都合が悪くて参加できなかった人は、録画で当日の様子を追体験してみてください。この動画についてはUstreamの groonga-night チャンネルからも視聴できます。 勉強会についてはイベント終了後まとめがあります。 発表資料 だけでなく、当日のツイートの様子なども Togetterまとめ があるので参考にしてみてください。 over 3 years ago
Debian 6.0(squeeze)およびUbuntu 10.04(lucid)サポート終了予定について Debian 6.0(squeeze)およびUbuntu 10.04(lucid)サポート終了予定について Groonga Projectで今後サポートを終了する予定のリリースについてお知らせします。 対象について Groonga 3.1.1では、以下のリリースについてパッケージの提供を終了することにしました。 Debian 6.0(squeeze) Ubuntu 10.04(lucid) 終了時期について 2013/12/29にリリース予定のGrooga 3.1.1からパッケージの提供をとりやめます。 対象ユーザについて Debian 6.0(squeeze)もしくはUbuntu 10.04(lucid)でお使いの場合には、それぞれ、Debian 7.0(wheezy)もしくはUbuntu 12.04(precise)以降へのアップグレードをおすすめします。 Debian 6.0(squeeze)自体はすでに古い安定版扱いなので、現在の安定版とされているDebian 7.0(wheezy)がリリースされて一年後となる来年5月にサポートが切れます。 サポートを終了する背景について 現在Groonga Projectでは、毎月29日に新しいバージョンのパッケージをビルドし、独自に用意したリポジトリで提供しています。 パッケージを提供するのは簡単に導入できるようにするためですが、これをさらに進めて独自のリポジトリを登録したりしないでも済むようにDebianのリポジトリに入れるための作業を進めています。 この作業にあたっては、Multiarchと呼ばれるマルチアーキテクチャへの対応が必要です。ただしこの機能は古いリリースである、Debian 6.0(squeeze)やUbuntu 10.04(lucid)では提供されていません。そのため、それぞれのサポートを終了することにしました。 バッケージの提供は終了しますが、環境の移行が難しい場合にはソースからビルドする手順を案内しているので、そちらを参照してください。 Debianでソースからビルド Ubuntuでソースからビルド さいごに これからも、毎月29日のリリースで最新のGroongaをお届けしていきます。 それでは、Groongaでガンガン検索してください! over 3 years ago
Groonga 3.1.0リリース 今日は 全文検索エンジンGroongaを囲む夕べ4 の開催日ですね。 Groonga 3.1.0リリース Groonga 3.1.0 をリリースしました! それぞれの環境毎のインストール方法: インストール [実験的] 同じ値なら更新をスキップするオプションのサポート 今回のリリースでは、同じ値なら更新をスキップするオプションのサポートしました。 GRN_JA_SKIP_SAME_VALUE_PUT=yesを環境変数に設定すると有効になります。 パッケージでインストールした場合には設定ファイルのコメントアウトされている箇所をはずすと有効になります。 #GRN_JA_SKIP_SAME_VALUE_PUT=yes 設定ファイルはディストリビューションごとに次の場所にあります。 DebianやUbuntu: /etc/default/groonga-httpd /etc/default/groonga-server-http /etc/default/groonga-server-gqtp CentOSやFedora: /etc/sysconfig/groonga-httpd /etc/sysconfig/groonga-server-http /etc/sysconfig/groonga-server-gqtp /etc/systemd/groonga-httpd /etc/systemd/groonga-server-http /etc/systemd/groonga-server-gqtp Groongaでは参照ロックフリーで高速に検索できるようにするのと、アトミックに更新するために都度値をコピーしてから参照先のポインタを差し替えるような振舞いで実現しています。 そのため可変長カラムの値を更新しつづけると、全く同じ値で更新した場合でも都度領域を消費していくので、データベースが徐々に肥大していきます。 そこで、データベースの肥大化を抑制する目的で同じ値のときは更新しないオプションを用意しました。 デフォルトではこの機能は無効です。これは、逆にデータベースのサイズの肥大化が加速したケースがあったからです。 そのため、実験的な扱いとなっています。もし、肥大化が顕著なケースに限って試されることをおすすめします。 さいごに 3.0.9からの詳細な変更点は 3.1.0リリース 2013/11/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
микрочипом Здравый готовый сотоварищ по холодным системам продиагностирует за один час и осуществит http://www.xolodremont.ru/ метеором хоть в деревне с договором на все запасные части.Изучить и снять копию все прайсы вы можете у нас на сайте. over 3 years ago
Groonga Advent Calendar 2013参加者募集のお知らせ Groonga Advent Calendar 2013参加者募集のお知らせ 明日はいよいよ「 全文検索エンジンGroongaを囲む夕べ 4 」ですね! Groonga Advent Calendar 2013に参加しませんか ここ数年、年末の風物詩となっている技術系 Advent Calendar をGroongaプロジェクトでもやってみることにしました。 GroongaやMroongaやRroongaなど、Groonga関連のノウハウをみんなで共有してみませんか? Groongaを使っている○○を試してみた!とか、 Groongaを使って○○を作ってみた パッケージが提供されていない環境でGroongaをインストールして使ってみた ウェブ上にある記事は古いバージョンで解説されているけど、新しいバージョンではこんなだった! などなど。いろんな切り口があると思います。 Groongaを囲む夕べ4に参加した or UstreamでGroongaチャンネルを視聴したあとの勢いで参加してみませんか。今回のイベントに残念ながら参加できない人はぜひAdvent Calendarに参加してくれると嬉しいです! 参加登録 をお待ちしています! over 3 years ago
groongaからGroongaへ - ドキュメントの表記を一緒に更新しませんか? groongaからGroongaへ - ドキュメントの表記を一緒に更新しませんか? リリースアナウンスや、公式ドキュメントをみてもうすでに気づいた人がいるかもしれませんが、Groonga関連のソフトウェアの表記を「Groonga」(先頭が大文字)へ統一する作業をすすめています。 それなりに分量があるので、ドキュメントに散らばっている「groonga」表記の統一をお手伝いしてくれる人を募集します。 詳細は後述する「協力者募集」を参照してください。コードを書かなくてもできることです。 表記の統一について これまでは、日本語の文の中や英語の文の途中では「groonga」(先頭も小文字)という表記で、英語の文の先頭では「Groonga」(先頭が大文字)という表記を使ったりしていました。これからは、日本語のときでも「Groonga」(先頭が大文字)を使うようにします。 表記の統一の理由について 先頭を大文字に統一する理由は世界中で広く使われるようにしたいからです。 英語での表記 - テキストで大文字始まりだと固有名詞として認識してもらいやすい 日本語での表記 - 英語との統一性を重視して大文字に揃える 海外の人と英語でやりとりをすると、こちらは「groonga」(先頭小文字)で書いても「Groonga」(先頭大文字)で返ってくることが何度もありました。(あったと森さんから聞いています。)このことから、英語圏の人にとってはソフトウェアの名前は先頭大文字が普通なんだろうと感じるようになりました。Groonga関連の ソフトウェアは海外でも広く使われるようにしたいので、より海外でなじみやすい表記に統一することにしました。 ロゴへの影響について ロゴについては見栄えを重視しているので「groonga」(先頭も小文字)のままです。 したがってこれまで通り変更はありません。 次のように、テキストとロゴで表記が違う例というのはそれなりにあるためです。 Ubuntu (ロゴは小文字) Debian (ロゴは大文字) Red Hat (ロゴはスペースなしの小文字) 協力者募集 具体的にどんなことをやればいいのかを説明します。基本的にはドキュメントのソースファイルごとにごとにpull requestを送ってもらうと進めやすいです。 対象となるファイルはdoc/sourceディレクトリ以下の拡張子が「.txt」となっているファイルです。 あまりGitHubでの作業に慣れていなくてもできるように、「最初にやること」と「作業ごとにやること」、「ファイルごとにやること」に分けて順に説明します。 最初にやること 作業ごとにやること ファイルごとにやること 最初にやること 以下では、最初に一度だけ実施しておけば良いことを説明します。 最初の設定 まずは、gitの設定をしましょう。すでにある程度gitを使っている場合には初期設定はすでに完了しているかも知れません。その場合には飛ばして構いません。 % git config --global user.name "あなたのユーザー名" % git config --global user.email "あなたのメールアドレス" 上記はコミットログに使われます。公開しても差し支えないユーザ名もしくはメールアドレスを設定します。 GitHubでforkする GitHubにアカウントがなければ用意してください。アカウントが用意できたら、ログインした状態で以下のURLにアクセスします。 Groongaリポジトリをforkする リポジトリ選択画面でご自分のリポジトリへとforkしてください。 作業用リポジトリの初期設定 次は作業用にforkしたリポジトリを手元にcloneします。このとき、本家の変更に追従するための設定を行います。 % git clone git@github.com:(あなたのGitHubのアカウント)/groonga.git % cd groonga % git remote add upstream git@github.com:groonga/groonga ドキュメントビルド用の初期設定 ドキュメントを生成するために以下を実行します。 % ./autogen.sh % ./configure --enable-document ここまでで、「最初にやること」は完了です。次は「作業ごとにやること」へと進みます。 作業ごとにやること 以下では作業ごとにやることを説明します。 Groonga本家に追従する Groonga本家の最新状態に追従して、作業がかぶらないようにします。 % git fetch --all % git checkout master % git rebase upstream/master 最新の状態に追従できたら、「ファイルごとにやること」へと進みます。 ファイルごとにやること 以下では、例えば http://groonga.org/docs/install/windows.html を更新する場合で説明します。作業対象となるファイルは、リポジトリのdoc/source/ディレクトリ以下にあります。 今回は、doc/source/install/windows.txtを変更する例で説明します。 もうすでに統一作業が完了しているファイルについてはファイルの先頭に次のマークアップがしてあります。 実際の作業をするときには、まだそのマークアップがされていないファイルを選んでください。 .. -*- rst -*- .. Groonga Project 作業用のブランチを作成 作業対象のブランチを作成します。install/windows.txtを変更するので、 ブランチ名を use-capitalized-notation-install-windows とします。 % git checkout -b use-capitalized-notation-install-windows 編集作業 ドキュメントの「groonga」という表記を「Groonga」へと変更します。 文章だけでなく実行例も含むので単純に一括で置換するのは問題があります。 そこで「変更する箇所」と「変更しない箇所」について説明します。 変更する箇所: groongaという単語をGroongaに置き換える 変更しない箇所: groongaをURLの一部として使っている箇所 groongaをパッケージ名として使っている箇所 groongaをコマンド名として使っている箇所 groongaを実行例として使っている箇所 行末が::で終わっている箇所の次のブロックは実行例となります。 例: Start command prompt ``cmd.exe`` and download x64 zip archive by default browser:: > "c:Program FilesInternet Exploreriexplore.exe" http://packages.groonga.org/windows/groonga/groonga-3.0.9-x64.zip groongaを特別な記法として扱っている箇所 行の先頭が".. "となっている箇所に含まれるgroongaという単語は実行時のログを埋め込んだりするためのマークアップです。 例: .. groonga-command .. database: groonga-httpd .. include:: ../../example/reference/executables/groonga-httpd.log .. /d/status ドキュメントの確認 マークアップに問題がないか、HTMLを確認します。HTMLを生成するには以下のコマンドを実行します。 % cd doc/locale/en % make html いつも使っているブラウザで該当ファイルを確認して、変更した内容が反映されていればOKです。 % firefox html/install/windows.html コミット HTMLに問題がないことを確認できたら、コミットします。 % cd ${cloneしたディレクトリーのトップディレクトリー} % git add doc/source/install/windows.txt % git commit コミットするときのメッセージについては、例えば以下のようにします。 doc: use "Groonga" notation pushとpull request ご自分のリポジトリにpushして変更点をとりこめるように公開します。 % git push -u origin use-capitalized-notation-install-windows ここで use-capitalized-notation-install-windows は前の方の作業で作ったブランチ名です。 GitHub #121 はpull requestのサンプルです。 ブラウザで https://github.com/(GitHubのアカウント)/groonga を開くと「 use-capitalized-notation-install-windows 」ブランチをpull requestする!みたいなUIができているので、そこのボタンを押してpull requestしてください。入力フォームがでてきますが、コミットしたときメッセージで十分なのでそのままpull requestしてOKです! これで、ひととおりの作業は完了しました。 まだまだできるよ!という人は 「作業ごとにやること」の「Groonga本家に追従」に戻って繰り返します。 over 3 years ago
groonga 3.0.8リリース 今日は肉の日ですね。 groonga 3.0.8リリース groonga 3.0.8 をリリースしました! それぞれの環境毎のインストール方法: インストール これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga として半年ほど続けていましたが、ついに最終回を迎えました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機ではじめたこの連載がきっかけでgroongaに興味を持ってもらえたのではないでしょうか。 最終回 groongaの今と未来 第一回から第十回までの過去記事については 隔週連載groonga のページを参照してください。 管理画面のユーザビリティを改善しました groongaに付属している管理画面はとてもシンプルなものなのですが、今回 @orangain さんがいくつか使い勝手を改善するためのパッチを提供してくれました。ありがとうございます。 エラー時読込中ダイアログが表示されたままにならないようにする 検索フォームにプレースホルダを表示する Enterキーで検索フォームを送信する groonga-httpdでクエリログのカスタマイズをサポート groonga-httpdでもクエリログをカスタマイズできるようになりました。これまでは、クエリについてはaccess.logであったり、error.logなどを参考にするしかありませんでした。リクエストをGETですべて処理しているのであれば、それでも良いのですが、POSTで処理している場合、エラーが発生したときのクエリを特定するのが難しいという問題がありました。 今回groonga-httpdでクエリログをカスタマイズできるようになったことで問題となるクエリを特定しやすくなりました。カスタマイズするには、groonga-httpd.confにgroonga_query_log_pathディレクティブを指定します。 このディレクティブを指定しなかった場合には標準で次の場所にログが保存されていました。今回のリリースではデフォルトのログのパスもちょっと変わります。 変更前 /var/log/groonga/httpd/groonga.log 変更後 /var/log/groonga/httpd/groonga-query.log groonga_query_log_pathディレクティブはhttp,server,locationブロックいずれかに指定します。 locationブロックごとに指定できるようになったことで、ベータベースごとにクエリログを保存することができるようにもなりました。 location /d/ { groonga on; # You can disable query log for groonga. groonga_query_log_path /var/log/groonga/httpd/groonga-location-d.log; } location /d2/ { groonga on; # You can disable query log for groonga. groonga_query_log_path /var/log/groonga/httpd/groonga-location-d2.log; } ディレクティブの詳細については、 groonga-query-log-path のドキュメントを参照してください。 deleteコマンドで参照関係のあるレコード削除をサポート 今回のリリースでは、deleteコマンドで参照関係のあるレコードの削除をサポートしました。 例えば、とあるユーザーに関連付けられたURLがいくつかあるとします。ユーザー情報とURLのテーブルにそれぞれデータを格納して参照するようにするとなると、次のようなスキーマとなるでしょう。 table_create Users TABLE_HASH_KEY ShortText table_create URLs TABLE_HASH_KEY ShortText column_create Users bookmarks COLUMN_VECTOR URLs column_create URLs author COLUMN_SCALAR Users column_create URLs bookmarks_index COLUMN_INDEX Users bookmarks これに、サンプルデータをロードします。 load --table Users [ {"_key": "mori", "bookmarks": ["http://mroonga.org/", "http://groonga.org/", "http://ranguba.org/"]} ] load --table URLs [ {"_key": "http://groonga.org/", "author": "mori"} {"_key": "http://mroonga.org/", "author": "hayashi"} ] このとき、UsersテーブルにURLsテーブルにあるキーを参照するデータが格納されています。そのため、単純に次のようにしてURLsテーブルの"http://groonga.org"というキーのレコードを削除することはできませんでした。 > delete URLs --key "http://groonga.org/" 実際に実行してみると次のようなエラーが発生していました。 [ [ -2,1380092940.21387, 0.000238895416259766, "undeletable record (URLs:2) has value (bookmarks_index:1)", [ ["is_deletable","db.c",1564] ] ], false ] そのため、 delete URLs --key "http://groonga.org/" でレコードを削除する前に、Usersで参照しているデータを削除してからURLsのレコードを削除するというステップを踏む必要がありました。 これが、今回の参照関係のあるレコードの削除のサポートで、 delete URLs --key "http://groonga.org/" を実行するとURLsの該当するレコードを削除できるようになりました。 これを実行しても、bookmarksカラムの関係ないデータは削除されません。"http://mroonga.org/"と"http://ranguba.org/"はそのままです。 さいごに 3.0.7からの詳細な変更点は 3.0.8リリース 2013/09/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
リファレンスコマンドのドキュメントをよいものにしていきませんか? リファレンスコマンドのドキュメントをよいものにしていきませんか? 長い間懸案であった、groongaのAPIのドキュメント化については @whombx さんのおかげで一区切りつきました。そこで、次はリファレンスコマンドを整理する作業にとりかかりたいなぁと思っています。 ドキュメントを随時追加しているのですが、リファレンスマニュアルの コマンド については、新旧のフォーマットが混在していて、統一されていないのが現在の課題となっています。 そこで、新しいフォーマットに統一する必要があるのですが、ここをお手伝いいただけると嬉しいです。 では具体的にどんなことをやればいいのかを説明します。基本的にはコマンドごとにpull requestを送ってもらうと進めやすいです。 対象となるコマンドは次のとおりです。 cache_limit check clearlock column_create column_list column_remove define_selector defrag delete dump log_level log_put log_reopen quit register shutdown status suggest table_list table_remove あまりGitHubでの作業に慣れていなくてもできるように、「最初にやること」と「作業ごとにやること」、「関数ごとにやること」に分けて順に説明します。 最初にやること 作業ごとにやること コマンドごとにやること 最初にやること 以下では、最初に一度だけ実施しておけば良いことを説明します。 最初の設定 まずは、gitの設定をしましょう。すでにある程度gitを使っている場合には初期設定はすでに完了しているかも知れません。その場合には飛ばして構いません。 % git config --global user.name "あなたのユーザー名" % git config --global user.email "あなたのメールアドレス" 上記はコミットログに使われます。公開しても差し支えないユーザ名もしくはメールアドレスを設定します。 GitHubでforkする GitHubにアカウントがなければ用意してください。アカウントが用意できたら、ログインした状態で以下のURLにアクセスします。 groongaリポジトリをforkする リポジトリ選択画面でご自分のリポジトリへとforkしてください。 作業用リポジトリの初期設定 次は作業用にforkしたリポジトリを手元にcloneします。このとき、本家の変更に追従するための設定を行います。 % git clone git@github.com:(あなたのGitHubのアカウント)/groonga.git % cd groonga % git remote add upstream git@github.com:groonga/groonga ドキュメントビルド用の初期設定 ドキュメントを生成するために以下を実行します。 % ./autogen.sh % ./configure --enable-document ここまでで、「最初にやること」は完了です。次は「作業ごとにやること」へと進みます。 作業ごとにやること 以下では作業ごとにやることを説明します。 groonga本家に追従する groonga本家の最新状態に追従して、作業がかぶらないようにします。 % git fetch --all % git checkout master % git rebase upstream/master 最新の状態に追従できたら、「コマンドごとにやること」へと進みます。 コマンドごとにやること 以下では、例えば cache_limit の作業をする場合で説明します。作業対象となるファイルは、リポジトリのdoc/source/reference/commands/以下にあります。 cache_limit の場合は、doc/source/reference/commands/cache_limit.txtとなります。 作業用のブランチを作成 作業対象のブランチを作成します。 % git checkout -b cache-limit 編集作業 ドキュメントの体裁を以下のように変更します。 旧: 名前 書式 説明 引数 返値 例 新: Summary (名前のセクションから移動) Syntax (書式のセクションから移動) Usage (例のセクションから移動) Parameters (引数のセクションから移動) Return value (返値のセクションから移動) 新しいほうのフォーマットに直してあるものは コマンド一覧 で見たときにコマンド名がボールド体で表記されます。 例えば column_rename や load 、 normalize コマンドなどは新しいスタイルになっています。 中には本文が英訳されていないものもありますが、英訳はしなくて構いません。 新しいスタイルにドキュメントを更新するというのを機械的に行っていただければOKです! ドキュメントの確認 マークアップに問題がないか、HTMLを確認します。HTMLを生成するには以下のコマンドを実行します。 % cd doc/locale/en % make html いつも使っているブラウザで該当ファイルを確認して、移動した内容が追加されていればOKです。 % firefox html/reference/commands/cache_limit.html コミット HTMLに問題がないことを確認できたら、コミットします。 % cd ${cloneしたディレクトリーのトップディレクトリー} % git add doc/source/reference/commands/cache_limit.txt % git commit コミットするときのメッセージについては、例えば以下のようにします。 doc: follow new markup guideline about cache_limit command documentation pushとpull request ご自分のリポジトリにpushして変更点をとりこめるように公開します。 % git push -u origin cache-limit ここで cache_limit は前の方の作業で作ったブランチ名です。 ブラウザで https://github.com/(GitHubのアカウント)/groonga を開くと「 cache-limit 」ブランチをpull requestする!みたいなUIができているので、そこのボタンを押してpull requestしてください。入力フォームがでてきますが、コミットしたときメッセージで十分なのでそのままpull requestしてOKです! これで、ひととおりの作業は完了しました。 まだまだできるよ!という人は 「作業ごとにやること」の「groonga本家に追従」に戻って繰り返します。 over 3 years ago
週刊groonga翻訳始めました 週刊groonga翻訳始めました 毎週木曜に Qiita にてgroongaやmroonga,rroongaなどのトピックを一つ投稿するという取り組みを続けています。 それなりにトピックがたまってきたので、これを翻訳して英語圏にも情報を発信していこうかと考えています。 ただ、現状リソースがあまり足りていないので、ユーザのみなさんにも協力していただけたらいいなと思っています。 具体的には以下のようにして作業をすすめていきたいと思います。 1. Qiitaに英語圏向けのノウハウ・Tipsの投稿ページを元記事を複製して用意する (この時点では内容は日本語のまま) 記事ページをみんなでよってたかって翻訳する このときには「 編集リクエスト 」を使って記事を更新します。 記事の翻訳が完成したら、内容に応じて blogroonga や mroonga blog に掲載します。 Tumblrでリブログ 1,3,4はgroonga開発チームでやるとして、2.のところを手分けして実現できたらいいなぁと思っています。 まずは、「 groongaでキーワードごとに重み付けをして検索するには 」の翻訳からはじめていきます。作業対象の投稿は以下の通りです。 How to search specific keyword with assgined weights to each column over 3 years ago
groonga 3.0.5リリース 今日は肉の日ですね。 groonga 3.0.5リリース groonga 3.0.5 をリリースしました! それぞれの環境毎のインストール方法: インストール はじめに、利用事例の記事を書いてくれる人募集のお知らせです。(再度) これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga としてはじめました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。現在第6回まで公開しています。先月は第4回までだったので記事が二本新たに追加されました。 第1回 全文検索エンジンgroongaを紹介します! 第2回 groongaをRuby On Railsでも使ってみた ~chikamap.comの事例から 第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介 第4回 rroongaを使ったソースコード検索エンジンMilkode 第5回 Rubyでサーバ要らずの高速全文検索! - rroongaの紹介 第6回 [実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド(1) 利用事例がつきたら終了なので、実際に使っているユーザーのみなさんに利用事例を書いてもらえたらいいなぁと思っています! 詳細は groonga普及のための協力のお願い を参照してください。 output_columnsでシングルクォートした文字列をサポート 今回のリリースではoutput_columnsでシングルクォートした文字列をサポートしました。 groonga 3.0.2から、 --output_columns で複雑な文字列の連結をサポートしました。これは例えば、titleというカラムがあるとして、 '"<" + title + ">"' などとすると "<(ここにtitleカラムの内容)>" というようにカラムの内容をちょっと加工して出力するという用途に使える機能です。 ただし、シングルクォートをサポートしていなかったので、クォートではまることがありました。 以下の例で、今回のリリースからできるようになった記述を紹介します。 table_create Entries TABLE_NO_KEY column_create Entries title COLUMN_SCALAR ShortText load --table Entries [ {"title": "Single quote and double quote"} ] 3.0.4までだと "<(ここにtitleカラムの内容)>" というのを実現するには以下の方法がありました。 select Entries --output_columns '_id, "<" + title + ">"' --command_version 2 select Entries --output_columns "_id, "<" + title + ">"" --command_version 2 今回のリリースではシングルクォートをサポートしたので以下のように書けるようになります。 select Entries --output_columns "_id, '<' + title + '>'" --command_version 2 また、3.0.4では処理できなかった(結果が空になる)、以下のようなシングルクォートやダブルクウォートを含む場合も正しく処理できるようになりました。 # <"(titleカラムの内容)"> select Entries --output_columns "_id, '<"' + title + '">'" --command_version 2 #=> [1,"<"Single quote and double quote">"] # <'(titleカラムの内容)'> select Entries --output_columns "_id, '<'' + title + ''>'" --command_version 2 #=> [1,"<'Single quote and double quote'>"] html_untag関数のサポート 今回のリリースではHTMLタグを除去するための html_untag関数 を実験的にサポートしました。 例えば、Webサイトのスクレイピング結果をそのままgroongaデータベースに保存しているような場合を考えてみます。 以下のようなスキーマにスクレイピング結果を格納しているとしましょう。 table_create WebClips TABLE_NO_KEY column_create WebClips url COLUMN_SCALAR ShortText column_create WebClips content COLUMN_SCALAR ShortText column_create WebClips tag COLUMN_VECTOR ShortText サンプルデータを以下のようにして投入します。 load --table WebClips [ {"_key": 1, "url": "http://groonga.org", "tag": ["groonga"], "content": "groonga is fast"}, {"_key": 2, "url": "http://mroonga.org", "tag": ["mroonga"], "content": "mroonga is fast"}, ] html_untagには対象となるカラムを指定します。今回はcontentカラムからHTMLタグを除去した結果が欲しいので、 html_untag(content) となります。実行してみましょう。 select WebClips --output_columns "html_untag(content)" --command_version 2 結果は以下のようになります。 [[2], [ ["html_untag", "null"] ], ["groonga is fast"], ["mroonga is fast"] ] class属性つきのspanタグが除去されているのがわかります。 この関数を使うときには --command_version 2 を必ず指定してください。指定しないと意図通りの結果を得られません。 html_untagが導入された背景にはスクレイピングした結果をgroongaのデータベースへと保存した状態で検索したいというのがあります。 ただしそのままではタグが邪魔なので、タグを除去するhtml_untagをサポートしました。 html_untagは単体で使って嬉しいというよりも、snippet_htmlと組み合わせることを(将来的に)想定しています。 具体的には検索結果からHTMLを除去し、ハイライトしたい部分だけsnippet_htmlで加工するというのがあります。 元のHTML - html_untag -> テキスト - snippet_html -> 必要な部分だけタグ付け まだ、html_untagの結果をsnippet_htmlでそのまま処理することはできませんが、将来的には対応を予定しています。 さいごに 3.0.4からの詳細な変更点は 3.0.5リリース 2013/06/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
Auction.Lg.UA Скорые долг он-лайн Помаранчевая республ кредиты одесса кредит онлайн одесса Обязательно учитывая http://firmstyle.net/redirect.php?redirect=https://auction.lg.ua преобладания интернет кредитования http://www.mediamente.rai.it/frame.asp?pag=https://auction.lg.ua, стремительный отповедь в дело "Где взять купюры?" или иначе говоря "Где обнаружить мелочь спешно?" совершенно неоспорим http://go.infomine.com/?re=121&tg=https://auction.lg.ua. Желательно только душевно настать к выбору фирме-заимодавца http://gul.ly/v7gfb. С тем чтобы помочь Вы у сём, дополнительно на доставленною странице агрегирована извещение за приемлемым кредитным шатиям в нашем Нашей http://quranourlife.com/vb/redirect.php?url=https://auction.lg.ua. Все важные объем, для которые сейчас требуется сконцентрировать большое внимание, снаряжены целиком единичную таблицу. Далее избрания кредитора и также нажатия изумрудной кнопки "заполучить" Лично вы сила обратиться интернет кредитным вычислителем, что направит увольнять хорошую сумму кредитования, срок ее возврата и аналогично заприметить полную холст числом займу вцелом. Узловым узловым преимуществом онлайн ссуд несомненно является быстрота получения своих денег в указанном знак через общепринятого кредитования целиком кредитной охвате. В настоящее время онлайн занятие отважно допускается название весьма покойным однако многообещающим вариантом займа как нашей государстве. about 1 year ago
0.571428571428571 tdmbwV <a href="http://zwhqozpggmsj.com/">zwhqozpggmsj</a>, [url=http://rfardszzfttv.com/]rfardszzfttv[/url], [link=http://ybcafrmffflt.com/]ybcafrmffflt[/link], http://hoigtqsufmmg.com/ almost 2 years ago
Stature sleazy tadlfil tablets no instruction cialis cialis combined http://cialisoverthecounteratwalmart.org - cialis over the counter walmart cialis online uk <a href="http://cialisoverthecounteratwalmart.org">cialis over the counter </a> - viagra drug strengths viagra and alcohol use yahoo messenger over 3 years ago
Groonga勉強会「全文検索エンジンGroongaを囲む夕べ4」開催のお知らせ Groonga勉強会「全文検索エンジンGroongaを囲む夕べ 4」開催のお知らせ 今年も「いい肉の日」である11/29に、「 全文検索エンジンGroongaを囲む夕べ 4 」と題して第4回目のGroonga勉強会を開催します! これまでに、2010年に 第1回目 、2011年に 第2回目 、2012年に 第3回目 のgroonga勉強会を開催しました。 第1回目、第2回目、第3回目での講演資料 今回のコンセプト 昨年は、ユーザーさんがどのようにGroongaを使っているかというのをコンセプトに実施しました。今回のコンセプトは「Groonga関連情報全部出し」です。 Groongaは地味ながらもコツコツと改良を続けていく開発スタイルです。毎月肉の日にリリースしていることからもわかるでしょう。コツコツやっているからといって目の前だけ見ているわけではありません。もっと先のことも見据えて開発しています。 今回は「今のGroongaはどうなっているのか」、「今はどのようにGroongaが使われているのか」という今の情報だけでなく、「これからGroongaはどうなっていくのか」という情報まで、関連情報をどどーんと全部提供します。Groongaに注目しているかたにこそ参加して価値のある勉強会を目指します。 もちろん、ユーザーさんがどのようにGroongaを使っているかも発表してもらいます。Groonga関連情報全部出しのために開催時間の枠を今回はどどーんと拡大しました。 会場 今回の会場は 株式会社ディー・エヌ・エー さんにご提供いただけることになりました。ありがとうございます! 日時 2013/11/29 (金)17:00-21:00 ※21:00から同じ場所で懇親会を予定しています。 ※開場は16:30からです。16:30 - 17:00の間「開発者からの質問コーナー」を設けるので早めにくるとGroonga開発者の森さんや、Mroonga開発者の斯波さんにいろいろ聞けますよ! 勉強会の概要 今回の勉強会は3部構成になっています。 勉強会の最初には、Groonga開発者チームからGroongaや MySQLストレージエンジンMroonga 、Droonga(どぅるんが)やgrnxx(ぐるんたす)について開発者から簡単に紹介します。内容は前回からの改良点の紹介や、これから予定している改良についてです。第2部ではGroongaの商用利用についての発表があります。第3部では公募したユーザー事例等を発表してもらいます。 募集していること Groonga勉強会の開催にあたり募集していることが1つあります! イベントレポーターを募集します! gihyo.jp へのイベントレポートを執筆してくれる人を1名募集しています。レポートを書くとgihyo.jpさんから執筆料がでます。レポートの文章は2ページくらいです。分量の目安については 他のイベントのレポート を参考にしてみてください。 参加希望者が定員を超えていますが、イベントレポーターは別枠なのでキャンセル待ちの人は応募してみませんか? 「gihyo.jpへのイベントレポート執筆」の方はgroonga@groonga.orgまでメールで連絡してください。執筆料の説明は折り返し行います。 over 3 years ago
Allegra Online NO PRESCRIPTION FedEx Lexapro Pain Anxiety Vacuum Therapy For Erectile Dysfunction Augusta Metronidazole Synthesis <a href=http://www.netvibes.com/lasixonline>Order Lasix Fluid Retention</a>. Superdrug Skin Care Consumer Kava Zoloft Serotonin Reuptake Azithromycin Safety In Pregnancy G6pd Deficiency St Johns Wort And Prozac Obsessive Compulsive Disorder . Cymbalta Brand Names Paxil Online Australia . Lasix No Perscription Prometrium And Pregnancy Success <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500 Mg Q6h</a> Lisinopril 10 Mg Images Cheap Apo Metoprolol Colloidal Silicon Dioxide Allegra Pawtucket Lisinopril Without Food over 3 years ago
Groonga 3.0.9リリース 今日は肉の日ですね。 Groonga 3.0.9リリース Groonga 3.0.9 をリリースしました! それぞれの環境毎のインストール方法: インストール HTTPサーバーでgroonga_cache_limitディレクティブのサポート Groongaではgroonga-httpdというnginxをベースとしたHTTPサーバーを提供しています。このHTTPサーバーでキャッシュサイズをカスタマイズするためのディレクティブとしてgroonga_cache_limitを追加しました。 このディレクティブを追加したことで、ワーカープロセスごとのキャッシュサイズをまとめて設定することができるようになります。 例えば、locationブロック内だと次のようにして指定します。 location /d/ { groonga on; # You can customize query cache limit for groonga. groonga_cache_limit 100; } 従来はこのディレクティブがなかったので、複数のワーカープロセスでキャッシュサイズを変更するためにcache_limitコマンドを実行しても特定のワーカープロセスに限定して設定することができませんでした。 そのためすべてのワーカープロセスで必ずしも同じキャッシュサイズに設定できないという問題がありました。(特定のワーカープロセスが常にcache_limitを処理すると、他のワーカープロセスのキャッシュサイズが変わらないということです) この問題をgroonga_cache_limitディレクティブで、解決することができます。 パフォーマンスチューニングに関するドキュメントの追加 Groongaのパフォーマンスチューニングに関するドキュメントを追加しました。 Groongaを使っていて、対象となるデータ件数が増加するに従って、当初は問題にならなかったパフォーマンスの低下により何らかの対策が必要になることがあります。典型的な例がプロセスが扱えるファイル数や使用するメモリに関してです。 チューニングに関しては次の ドキュメント を参照してください。 Ubuntu 13.10 (Saucy Salamander)のサポート 今回のリリースから10月17日にリリースされたUbuntu 13.10のサポートをはじめました。 具体的なインストール手順については、次の Ubuntu 13.10向けの ドキュメント を参照してください。 さいごに 3.0.8からの詳細な変更点は 3.0.9リリース 2013/10/29 を確認してください。 それでは、Groongaでガンガン検索してください! over 3 years ago
groonga 3.0.7リリース 今日は肉の日ですね。 groonga 3.0.7リリース groonga 3.0.7 をリリースしました! それぞれの環境毎のインストール方法: インストール これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga としてはじめました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。現在第9回まで公開しています。先月は第7回までだったので記事が二本新たに追加されました。 第8回 CentOS6でのRPMパッケージを用いた MySQL 5.6 & mroonga & PHP 5.4 環境の作り方 第9回 mroongaを広く使ってもらうために大事なこと - mroongaのパッケージング動向の紹介 第一回から第七回までの過去記事については 隔週連載groonga のページを参照してください。 APIドキュメント化しました 長い間懸案であったgroongaのAPIのドキュメント化作業について、どなたか協力していただけませんか、という エントリ を以前書きました。 具体的な手順をお知らせすることで、これだったらできるかもと思ってもらえたらいいなということだったのですが、結果として whombxさんがたくさんAPIドキュメント化作業のための pull requestを送ってくれました。 今月のリリースではその成果を反映しています。こうしてAPIドキュメントの作業を一段落させることができたのは、whombxさんの多大な貢献のおかげです。 ひとまず一段落しましたが、APIドキュメントの内容面での充実は今後も継続していきます。 groonga-httpdへ実験的なディレクティブを追加しました より高機能なHTTPサーバーを提供するものとして、nginxをベースとしたgroonga-httpdを用意しています。 今回のリリースでは、このgroonga-httpdに指定できるディレクティブを追加しました。追加したディレクティブは次のとおりです。 groonga_log_path groonga_log_level それぞれ、ログの保存場所とログレベルを指定できるようにするディレクティブです。これまではデフォルトの値に固定されていました。 groonga_log_pathにはログの保存先のパスを指定しますが、ログを無効にすることもできます。その場合には offを指定します。 例えば、以下のようにディレクティブを書くことで無効にできます。 location /d/ { groonga_log_path off; } groonga_log_pathの詳細は ドキュメント を参照してください。 一方のログレベルに指定できるのは次の通りです。上から順に緊急性が高いメッセージで、デフォルトではnoticeが指定されたものとして扱われます。 emergency alert critical error warning notice debug dump none また、ログレベルでログを無効にすることもできます。その場合には、groonga_log_levelにnoneを指定します。 groonga_log_levelの詳細は ドキュメント を参照してください。 また、ログ以外にもクエリキャッシュの最大件数を設定するために次のディレクティブをサポートしました。 groonga_cache_limit 設定した値はすべてのワーカーに適用されます。次の例はクエリキャッシュを1000件に設定します。 http { groonga_cache_limit 1000; ... } ワーカーごとに別の値を設定したい場合には複数のgroonga-httpd.confを使いわける必要があります。 さいごに 3.0.6からの詳細な変更点は 3.0.7リリース 2013/08/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 3.0.6リリース 今日は肉の日ですね。 groonga 3.0.6リリース groonga 3.0.6 をリリースしました! それぞれの環境毎のインストール方法: インストール これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga としてはじめました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。現在第7回まで公開しています。先月は第6回までだったので記事が一本新たに追加されました。 第7回 [実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド(2) 第一回から第六回までの過去記事については 隔週連載groonga のページを参照してください。 クエリ構文で特別な文字のエスケープのサポート 今回のリリースではクエリ構文で特別な文字のエスケープのサポートをしました。 クエリ構文における特別扱いされる文字の詳細については エスケープ を参照してください。 例えば、特別な文字の一つである ( そのものを検索したいときには、 ( をgroongaに渡してあげれば良いことになります。 ただし、実際にgroongaに渡すまでにはいくつか以下のような階層があるので使い方には注意が必要です。(下になるにつれてより低レイヤ) シェル(bashなど) groongaのコマンラインインタフェース(groongaコマンドのプロンプト) groongaのクエリパーサー ここでのエスケープとはgroongaのクエリパーサーに ( が渡されるようにしなければなりません。 そのため、 `` をその上位層で解釈してしまう場合にはそのことを踏まえてエスケープしないといけません。 この場合低レイヤから逆にたどって考えてみましょう。 groongaのクエリパーサーは ( が渡される必要がある groongaのコマンラインインタフェースはエスケープを解釈するので ( が必要。 シェル(bashなど)もエスケープを解釈するので ( が必要。 最終的にシェルのコマンドプロンプトでクエリを実行する場合には ( としなければなりません。 これを具体例で確認してみましょう。サンプルデータとスキーマは以下とします。(escape.grn) table_create Memos TABLE_PAT_KEY ShortText table_create Contents TABLE_PAT_KEY ShortText --default_tokenizer TokenDelimit --normalizer NormalizerAuto column_create Contents entries_key_index COLUMN_INDEX Memos _key load --table Memos [ {"_key": "(仮)"} ] サンプルデータとスキーマのファイルescape.grnをシェルのコマンドプロンプトから投入します。 % groonga -n testdb/db < escape.grn この状態で (仮 を検索するには以下のクエリを実行します。 % groonga testdb/db select Memos --match_columns _key --query "(仮" シングルクォートの場合には以下のクエリで検索できます。 % groonga testdb/db select Memos --match_columns _key --query '(仮' では、groongaのコマンドラインインタフェースから検索する場合を確認してみます。groongaのコマンドラインインタフェースの場合にはシェルによるエスケープの解釈がなくなるので、そのぶんのエスケープが不要です。 % groonga testdb/db > select Memos --match_columns _key --query "(仮" シングルクォートの場合には以下のクエリで検索できます。 > select Memos --match_columns _key --query '(仮' Fedora 19のサポート 今回のリリースでは、7月2日にリリースされたFedora 19のサポートを開始しました。 そのかわり、Fedora 18のサポートは終了しています。 Fedoraプロジェクトにてパッケージのリリースをしていますが、Fedoraの一般ユーザが利用するリポジトリに入るまでに2週間程度のタイムラグがあるので、独自にリポジトリでもパッケージを提供しています。 パッケージの内容は同じなので、独自のリポジトリからyumでインストールするのとFedoraプロジェクトからyumでインストールのに違いはありません。 さいごに 3.0.5からの詳細な変更点は 3.0.6リリース 2013/07/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
APIドキュメント化始めました (2013/8/12に完了しました) APIドキュメント化始めました (2013/8/12に完了しました) 2013-08-12更新 APIドキュメント化作業は whombx さんのご協力により目標としていた作業を完成させることができました。pull requestをたくさん送ってくれた whombx さんのおかげです。とても助かりました。 長い間懸案であった、groongaのAPIをドキュメント化する作業を始めました。 始めた理由は二つあります。 一つはAPIのドキュメントがないので、groongaをライブラリとして使おうとしたときにはソースを直接参照しないといけないためです。 もう一つの理由は、Visual Studioでビルドするときに大量の警告メッセージが出力されるのを解消したい、というのがあります。現在mroongaをMariaDBにバンドルできるようにする作業を進めているのですが、この状態でバンドルしてもらうのは難しいです。groongaのヘッダに日本語で説明を書いているせいなので、ヘッダから日本語を追い出すことで問題を解消したいなぁというのがあります。 上記からドキュメント化の作業を始めたわけですが、現状リソースがまったく足りていません。 そこで、ユーザのみなさんにも協力していただけたらいいなと思っています。MariaDBへのバンドルを応援したいという人はドキュメント化作業に参加してくれると嬉しいです。 では具体的にどんなことをやればいいのかを説明します。基本的には関数ごとにpull requestを送ってもらうと進めやすいです。 あまりGitHubでの作業に慣れていなくてもできるように、「最初にやること」と「作業ごとにやること」、「関数ごとにやること」に分けて順に説明します。 最初にやること 作業ごとにやること 関数ごとにやること 最初にやること 以下では、最初に一度だけ実施しておけば良いことを説明します。 最初の設定 まずは、gitの設定をしましょう。すでにある程度gitを使っている場合には初期設定はすでに完了しているかも知れません。その場合には飛ばして構いません。 % git config --global user.name "あなたのユーザー名" % git config --global user.email "あなたのメールアドレス" 上記はコミットログに使われます。公開しても差し支えないユーザ名もしくはメールアドレスを設定します。 GitHubでforkする GitHubにアカウントがなければ用意してください。アカウントが用意できたら、ログインした状態で以下のURLにアクセスします。 groongaリポジトリをforkする リポジトリ選択画面でご自分のリポジトリへとforkしてください。 作業用リポジトリの初期設定 次は作業用にforkしたリポジトリを手元にcloneします。このとき、本家の変更に追従するための設定を行います。 % git clone git@github.com:(あなたのGitHubのアカウント)/groonga.git % cd groonga % git remote add upstream git@github.com:groonga/groonga ドキュメントビルド用の初期設定 ドキュメントを生成するために以下を実行します。 % ./autogen.sh % ./configure --enable-document ここまでで、「最初にやること」は完了です。次は「作業ごとにやること」へと進みます。 作業ごとにやること 以下では作業ごとにやることを説明します。 groonga本家に追従する groonga本家の最新状態に追従して、作業がかぶらないようにします。 % git fetch --all % git checkout master % git rebase upstream/master 最新の状態に追従できたら、「関数ごとにやること」へと進みます。 関数ごとにやること 以下では、例えば grn_ctx_open() の作業をする場合で説明します。 作業用のブランチを作成 作業対象のブランチを作成します。 % git checkout -b grn-ctx-open 編集作業 include/groonga.h から doc/source/reference/api/grn_ctx.txt にドキュメントを移動します。 中には英訳されていないものもありますが、英訳はしなくて構いません。 移動先のドキュメントのフォーマット化を機械的に行っていただければOKです! ドキュメントの確認 マークアップに問題がないか、HTMLを確認します。HTMLを生成するには以下のコマンドを実行します。 % cd doc/locale/en % make html いつも使っているブラウザで該当ファイルを確認して、移動した内容が追加されていればOKです。 % firefox html/reference/api/grn_ctx.html コミット HTMLに問題がないことを確認できたら、コミットします。 % cd ${cloneしたディレクトリーのトップディレクトリー} % git add include/groonga.h % git add doc/source/reference/api/grn_ctx.txt % git commit コミットするときのメッセージについては、例えば以下のようにします。 doc: move grn_ctx_open() document to Sphinx text from header file pushとpull request ご自分のリポジトリにpushして変更点をとりこめるように公開します。 % git push -u origin grn-ctx-open ここで grn-ctx-open は前の方の作業で作ったブランチ名です。 ブラウザで https://github.com/(GitHubのアカウント)/groonga を開くと「 grn-ctx-open 」ブランチをpull requestする!みたいなUIができているので、そこのボタンを押してpull requestしてください。入力フォームがでてきますが、コミットしたときメッセージで十分なのでそのままpull requestしてOKです! これで、ひととおりの作業は完了しました。 まだまだできるよ!という人は 「作業ごとにやること」の「groonga本家に追従」に戻って繰り返します。 over 3 years ago
groonga 3.0.4リリース 今日は肉の日ですね。 groonga 3.0.4リリース groonga 3.0.4 をリリースしました! それぞれの環境毎のインストール方法: インストール はじめに、利用事例の記事を書いてくれる人募集のお知らせです。(再度) これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga としてはじめました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。現在第4回まで公開しています。 第1回 全文検索エンジンgroongaを紹介します! 第2回 groongaをRuby On Railsでも使ってみた ~chikamap.comの事例から 第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介 第4回 rroongaを使ったソースコード検索エンジンMilkode 利用事例がつきたら終了なので、実際に使っているユーザーのみなさんに利用事例を書いてもらえたらいいなぁと思っています! 詳細は groonga普及のための協力のお願い を参照してください。 match_columnsにてマルチセクション対応のインデックス指定をサポート 今回のリリースでは、match_columnsにてマルチセクションに対応するインデックス指定をサポートしました。 例えば、titleカラムとcontentカラムを含むテーブルMemosに対してカラムごとに重みづけをして検索するときのことを考えてみましょう。 以下のようなスキーマ定義となるでしょう。 table_create Memos TABLE_NO_KEY column_create Memos title COLUMN_SCALAR ShortText column_create Memos content COLUMN_SCALAR ShortText table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon title_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title column_create Lexicon content_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos content 語彙表であるLexiconテーブルにマルチカラムインデックスを張ったとします。titleを重視したい場合のクエリは以下のようになるでしょう。 select Memos --match_columns "Lexicon.title_index * 10 || Lexicon.content_index" --query rroonga --output_columns "title, content, _score" 同等のことをマルチカラムインデックスに対してもできるようになりました。 そのためには以下のようにスキーマ定義を変更します。 table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon memo_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title,content そして、クエリでmemo_indexのあとに.(カラム名)を指定します。同等のことが以下のクエリで実現できるようになりました。 select Memos --match_columns "Lexicon.memo_index.title * 10 || Lexicon.memo_index.content" --query rroonga --output_columns "title, content, _score" テーブルに複数の全文検索対象のカラムがある場合、マルチカラムインデックスを張るというのはよくあります。 また、カラムに複数のトークナイザーやノーマライザーを適用し、検索のときに使用するインデックスを切り替えたいということがあります。 そういった場合に単純にカラム名を指定すると、複数のインデックスを使ってしまい意図しない検索となることがあります。 今回のリリースでカラムがマルチカラムインデックスの構成要素であった場合に、明示的に指定できるようになりました。 tokenize コマンドのサポート 今回のリリースでは、tokenizeコマンドのサポートを追加しました。 これまで、groongaでノーマライザーの挙動を確認するためのコマンドとしてnormalizeコマンドはあったのですが、トークナイザーの挙動を確認するためのコマンドが提供されていませんでした。 今回、tokenizeコマンドを追加したことでノーマライザー、トークナイザー両方の挙動を確認することができ、意図しない検索結果となった場合の問題の切り分けがより簡単にできるようになりました。 tokenizeコマンドは以下のようにして使います。 tokenizeコマンドには4つの引数がありますが、必須なのはトークナイザーと対象となる文字列の2つです。 例えば、TokenBigramトークナイザーで"groonga3.0.4"という文字列をトークナイズすると以下のようになります。 > tokenize TokenBigram "groonga3.0.4" [ [0,1369290009.77065,0.000670194625854492], [ {"value":"gr","position":0}, {"value":"ro","position":1}, {"value":"oo","position":2}, {"value":"on","position":3}, {"value":"ng","position":4}, {"value":"ga","position":5}, {"value":"a3","position":6}, {"value":"3.","position":7}, {"value":".0","position":8}, {"value":"0.","position":9}, {"value":".4","position":10}, {"value":"4","position":11} ] ] tokenizeコマンドの詳細は ドキュメント を参照してください。 もうすでに、開発版のtokenizeコマンドを使って実際の挙動を検証してくれているブログがありますので合わせて紹介します。 Y-Ken Studio はてブロ支店 「groonga/mroongaの分かち書き機能(tokenizer)の挙動を追ってみる」 Y.Kentaroさんは mysql-mroongaカテゴリで他にも有益な情報をまとめて くれているので、参考にしてみてください。 Debian 8.0 (jessie)のサポート 今回のリリースでは Debian 8.0 (jessie)のサポートを追加しました。 これまでtestingであったwheezyが安定版としてリリースされたことによるものです。 インストール手順は ドキュメント を参照してください。 週刊groonga翻訳始めます 毎週木曜に Qiita にてgroongaやmroonga,rroongaなどのトピックを一つ投稿するという取り組みを続けています。 それなりにトピックがたまってきたので、これを翻訳して英語圏にも情報を発信していこうかと考えています。 ただ、現状リソースがあまり足りていないので、ユーザのみなさんにも協力していただけたらいいなと思っています。 具体的には以下のようにして作業をすすめていきたいと思います。 1. Qiitaに英語圏向けのノウハウ・Tipsの投稿ページを元記事を複製して用意する(この時点では内容は日本語のまま) 2. 記事ページをみんなでよってたかって翻訳する。このときには 「編集リクエスト」 を使って記事を更新します。 3. 記事の翻訳が完成したら、内容に応じて blogroonga や mroongaブログ に掲載します。 4. Tumblrでリブログ 1,3,4はgroonga開発チームでやるとして、2.のところを手分けして実現できたら いいなぁと思っています。 さいごに 3.0.3からの詳細な変更点は 3.0.4リリース 2013/05/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
リポジトリから1.x系のパッケージを削除しました リポジトリから1.x系のパッケージを削除しました 先日の肉の日(4/29)に groonga 3.0.3 をリリースしましたが、それに合わせてリポジトリの整理をしました。 1.x系の最後のリリースはgroonga 1.3.0で2012/01/29のことですし、二世代前のシリーズでもあります。 リポジトリの整理の対象は以下の基準をもとに行いました。 1.x系のパッケージ すでにサポート切れのリリース 前者の基準では、groonga 1.x系および、mroonga 1.x系のパッケージをリポジトリから削除しました。後者の基準では、以下のリリースのパッケージをリポジトリから削除しました。 Fedora 15 Fedora 16 Fedora 17 Ubuntu 10.10 (Maverick Meerkat 2012年4月サポート終了) Ubuntu 11.04 (Natty Narwhal 2012年10月サポート終了) どうしても古いバージョンを使いたい場合には、 ソースアーカイブ を提供しているので、そちらをご利用ください。 over 3 years ago
денежный ремонт холодильников Точный в полной боевой готовности специалист по морозильным установкам выполнит тестирование в течении пары часов и пробьет <a href=http://www.xolodremont.ru>денежный ремонт холодильников</a> мгновенно в любом помещении с гарантией на все работы.Прозубрить и скачать любые расценки вы можете у нас на сайте. over 3 years ago
инструментальный ремонт холодильников Преображенская Площадь Скоростной подготовленный сподвижник по морозильным установкам проведет тестирование за дарма и сделает [url=http://www.xolodremont.ru/remont_holodilnikov_metro_preobrazhenskaya_ploshad.html]инструментальный ремонт холодильников Преображенская Площадь[/url] бегло в любом пятиэтажном доме с квитанцией на все запчасти.Выучить и победить все прайсы вы можете у нас на сайте. over 3 years ago
lpVFfAcroVBojXXGSh vmu89Q <a href="http://icfqoveazqwu.com/">icfqoveazqwu</a>, [url=http://whvlwpokzlti.com/]whvlwpokzlti[/url], [link=http://abplgzodalrn.com/]abplgzodalrn[/link], http://mkiirgxcoqth.com/ over 2 years ago
ステッカーのデータを公開 ステッカーのデータを公開 昨年の 全文検索エンジンgroongaを囲む夕べ 3 で、groongaステッカーを配布しました。イベントに参加した方はすでに自分のノートパソコンなどに貼っていることでしょう。 そんなgroongaステッカーですが、次の2つの問題がありました。 イベントのときなど直接会う機会がないと配布できない 黒い縁に中抜きのデザインだったので黒いものに貼ると文字が見えない この2つの問題を解決するべく次の2種類のデザインで groongaステッカーのデータを公開 しました! これでどのように問題を解決できるかを説明します。 まず、「直接会う機会がないと配布できない」問題についてです。これは、ステッカーが物理的なものであることが原因です。ステッカーのデータを公開することにより、誰でも自分の分を印刷できるようになります。「直接会う機会がない」方は、自分でダウンロード・印刷してぜひステッカーを貼ってください! なお、ステッカーのライセンスは CC-BY 3.0ライセンス ですが、印刷したステッカーを配布する場合は原著作者の表記なしでもOKになっています。ぜひ、仲間の分も一緒に印刷して周りに配布してください! 次に、「黒いものに貼ると文字が見えない」問題です。これは、ステッカーが黒い縁取りと中抜きのデザインだったことが原因です。そのため、今回は白い縁取りと中抜きのデザインも用意しました。黒いものに貼るときはこちらのデータをダウンロード・印刷して貼ってください! 前回のイベントではgroongaステッカーだけ配布していましたが、今回は groongaステッカー だけではなく、 mroongaステッカー 、 rroongaステッカー 、 nroongaステッカー も公開しました。それぞれのプロジェクトを使っている人もぜひダウンロード・印刷して貼ってください! 今後のイベントでもステッカーを配布するので、自分で印刷するのが手間だという人はぜひイベントに参加してステッカーをもらってください!なお、次のイベントは(今年も!)11/29(いい肉の日)の予定です。お楽しみに! ステッカーのダウンロードはこちらからどうぞ。 groongaプロジェクトが主催していないgroongaイベントもどんどんやってもらいたいと思っています。声をかけてもらえればステッカーを持ってかけつけるので、 @groonga またはgroonga at groonga.org までご連絡ください。 over 3 years ago
groonga 3.0.3リリース 今日は肉の日ですね。 groonga 3.0.3リリース groonga 3.0.3 をリリースしました! それぞれの環境毎のインストール方法: インストール はじめに、利用事例の記事を書いてくれる人募集のお知らせです。(再度) これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事の連載を 隔週連載groonga としてはじめました。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。現在第2回まで公開しています。 第1回 全文検索エンジンgroongaを紹介します! 第2回 groongaをRuby On Railsでも使ってみた ~chikamap.comの事例から 利用事例がつきたら終了なので、実際に使っているユーザーのみなさんに利用事例を書いてもらえたらいいなぁと思っています! 詳細は groonga普及のための協力のお願い を参照してください。 学習時の重み付けのカスタマイズをサポート 今回のリリースでは、学習時の重みづけのカスタマイズをサポートしました。 groongaでは サジェスト機能 として、補完/補正/提案の3つを提供しています。このサジェスト機能が「それらしい」結果を返すようにするには、適切な学習が必要です。 例えば、4月に「旬の野菜」で夏野菜が候補に出てきては困ります。ちょっと気が早いです。4月であれば、きちんと春野菜が候補にでてきて欲しいですね。 単純に1度学習するだけだと重みが一緒になってしまうので、時期によって重みづけを変更したい場合には、より重要なものを複数回同じデータで学習させる必要がありました。 これでは、学習データの規模が巨大になると非常に手間がかかってしまいます。 そこで、学習時の重み付けのカスタマイズをサポートし、同じデータに対して複数回学習させなくても良いようにしました。個別に重みをカスタマイズしてからその都度データを学習させれば反映されます。 それでは実際の例で試してみましょう。旬の野菜を重みつきで学習する例を以下に示します。 最初にテスト用のデータベースを作成します。 % mkdir -p testdb % groonga -n testdb/db shutdown 次に、学習用のテーブルをgroonga-suggest-create-datasetコマンドで作成します。 % groonga-suggest-create-dataset testdb/db query 最後に学習データを用意します。途中で configuration テーブルの weight を10にしていますね。これが、今回サポートした重みづけの指定方法です。 load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950808.86057, "item": "旬 トマト", "type": "submit"} {"sequence": "1", "time": 1312950808.86057, "item": "旬 さつまいも", "type": "submit"} {"sequence": "1", "time": 1312950808.86057, "item": "旬 はくさい", "type": "submit"} ] load --table configuration [ {"_key": "query", "weight": 10} ] load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, ] 学習させた後で、「提案」機能を使ってみましょう。クエリは以下のようになります。 suggest --table item_query --column kana --types suggest --frequency_threshold 1 --query 旬 旬というキーワードで提案された結果は4件あって、キャベツのスコアが一番高いことがわかります。 出現頻度を指定するための --frequency_threshold をうまく調整すれば、より適切な提案ができるでしょう。 [ [0,1366613297.59312,0.000118494033813477], { "suggest":[[4], [["_key","ShortText"],["_score","Int32"]], ["旬 キャベツ",10],["旬 はくさい",1],["旬 さつまいも",1],["旬 トマト",1]] } ] 同じことをそれまで実現するには以下のように複数回学習させないとできなかったので、だいぶ手間が減りました。 load --table event_query --each 'suggest_preparer(_id, type, item, sequence, time, pair_query)' [ {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, {"sequence": "1", "time": 1312950803.86057, "item": "旬 キャベツ", "type": "submit"}, ] groongaのカスタマイズ版をビルドするためのパラメータの追加 今回のリリースでは、groongaのカスタマイズ版をビルドするためのパラメータの追加を行いました。 例えば、groongaが使用するスタックサイズのデフォルト値は1024になっていますが、これを変更してパッケージをビルドしたいときには、specファイルを以下のように修正する必要がありました。 %configure --disable-static --with-package-platform=redhat --with-stack-size=4096 --with-zlib %if %{use_lzo} --with-lzo %endif --with-munin-plugins 今回のリリースで、以下のようにrpmbuildコマンドのパラメータとして指定できるようになり、specファイルそのものを編集する必要がなくなりました。 % rpmbuild --rebuild --define 'additional_configure_options --with-stach-size=4096' groonga-3.0.3-0.el6.src.rpm Fedoraでのリリース方法の変更 今回のリリースからではありませんが、groonga 3.0.2のリリースから独自に提供していたyum repositoryでの提供を止め、Fedora 公式のリポジトリでのパッケージ提供へと一本化するようにしました。 これまで、Fedora 公式のリポジトリからインストールできるgroongaは2.0.9と古い状態だったのですが、最新のリリースに追従するようになっています。 これにより、インストールのときにリポジトリを登録する必要がなくなりました。 ただし、これまでのように独自に提供していた場合と異なり、Fedora 公式のリポジトリへと反映されるまでにはリリースから2〜3週間程度のタイムラグがあります。 Ubuntu 13.04 Raring Ringtailのサポート 今回のリリースでは 2013/04/25 にリリースされたばかりのUbuntu 13.04のサポートを追加しました。 インストール手順は ドキュメント を参照してください。 さいごに 3.0.2からの詳細な変更点は 3.0.3リリース 2013/04/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 3.0.2リリース 今日は肉の日ですね。 groonga 3.0.2リリース groonga 3.0.2 をリリースしました! それぞれの環境毎のインストール方法: インストール はじめに、利用事例の記事を書いてくれる人募集のお知らせです。(再度) これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事を書くという企画が進行しています。 まだgroongaを知らない人にもWeb記事を通じて知ってもらいたいというのが動機です。 詳細は groonga普及のための協力のお願い を参照してください。実際に使っているユーザーのみなさんに書いてもらえたらいいなぁと思っています! すでに何人かの方に応募いただいていますが、まだまだ募集中です。 sub_filter() 関数のサポート 今回のリリースでは sub_filter() 関数のサポートを追加しました。 どういった場合にこの関数を使うと便利なのかを具体例で紹介します。 お題は「ブログエントリの特定のコメントを抽出する」です。 この例で使用するスキーマ定義は以下の通りです。 table_create Comment TABLE_PAT_KEY UInt32 column_create Comment name COLUMN_SCALAR ShortText column_create Comment content COLUMN_SCALAR ShortText table_create Blog TABLE_PAT_KEY ShortText column_create Blog title COLUMN_SCALAR ShortText column_create Blog content COLUMN_SCALAR ShortText column_create Blog comments COLUMN_VECTOR Comment column_create Comment blog_comment_index COLUMN_INDEX Blog comments table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon comment_content COLUMN_INDEX|WITH_POSITION Comment content column_create Lexicon comment_name COLUMN_INDEX|WITH_POSITION Comment name column_create Lexicon blog_content COLUMN_INDEX|WITH_POSITION Blog content BlogテーブルにはCommentテーブルを関連づけています。 また、全文検索用のLexiconテーブルを用意しています。 例で使用するサンプルデータは以下の通りです。 load --table Comment [ {"_key": 1, "name": "A", "content": "groonga"}, {"_key": 2, "name": "B", "content": "groonga"}, {"_key": 3, "name": "C", "content": "rroonga"}, {"_key": 4, "name": "A", "content": "mroonga"}, ] load --table Blog [ {"_key": "groonga's blog", "content": "content of groonga's blog", comments: [1, 2, 3]}, {"_key": "mroonga's blog", "content": "content of mroonga's blog", comments: [2, 3, 4]}, {"_key": "rroonga's blog", "content": "content of rroonga's blog", comments: [3]}, ] 例えば、Aさんがgroongaについてコメントしたブログエントリのタイトルを抽出したいとしましょう。 Aさんのコメントは以下のようにして抽出することができます。 select Comment --output_columns _key,name,content --query "name:@"A"" [ [2], [ ["_key","UInt32"],["name","ShortText"],["content","ShortText"] ], [1,"A","groonga"], [4,"A","mroonga"] ] Aさんはgroongaとmroongaについてコメントしていることがわかります。 では、AさんがgroongaについてコメントしているエントリをBlogテーブルから探してみましょう。 まずは、AさんがコメントしているエントリをBlogテーブルから探してみます。 select Blog --output_columns _key --filter "comments.name @ "A"" [ [ [2], [["_key","ShortText"]], ["groonga's blog"], ["mroonga's blog"] ] ] "groonga's blog"と"mroonga's blog"に対してコメントしていることがわかりました。 では、AさんがgroongaについてコメントしているエントリをBlogテーブルから探してみましょう。 コメント本文に対する条件を追加して検索してみます。 select Blog --output_columns _key --filter "comments.name @ "A" && comments.content @ "groonga"" [ [ [2], [["_key","ShortText"]], ["groonga's blog"], ["mroonga's blog"] ] ] 条件を追加しているのに、結果は同じになりました。 "mroonga's blog"にはAさんがコメントしてはいますが、"groonga"ではなく"mroonga"についてです。 これは意図した結果ではありません。 いったいどういうことなのでしょうか。 --filter "comment.name @ "A" && comment.content @ "groonga"" 実は、上記の条件を処理するときに、groongaでは以下のようにして判定しています。 comment.name @ "A"なものがあるか? => CommentテーブルにAさんのコメントがあるのでマッチ comment.content @ "groonga"なものがあるか? => Commentテーブルに"groonga"があるのでマッチ それぞれどれかひとつでもマッチしているかどうか、を見ています。 その結果をふまえて、両方をみたしているかで判定しているので、Blogの"mroonga's blog"エントリが抽出されています。 やりたいのは Aさんがgroongaについてコメントしたエントリを抽出することでした。 これは、"groonga's blog"だけが抽出されるというのが期待する結果です。 具体的に言うとCommentテーブルの以下のコメントデータを含むBlogテーブルのエントリを抽出したいわけです。 {"_key": 1, "name": "A", "content": "groonga"}, この場合にCommentテーブルのnameカラムとcontentカラムにおいて、どれかひとつでもマッチしているものがあるかどうかで評価されるのは都合が良くありません。 こういうときに使えるのが、 sub_filter() 関数です。 comments のコンテキストで絞り込むことができます。 sub_filter を使うと上記目的に合致するクエリを以下のように書くことができます。 select Blog --output_columns _key --filter 'sub_filter(comments, "name @ "A" && content @ "groonga"")' 実行結果は以下のようになります。 [ [ [1], [["_key","ShortText"]], ["groonga's blog"], ] ] これで、意図した通り、Aさんがgroongaについてコメントしているエントリのみを抽出することができました。 query() 関数でクエリ展開のサポート 今回のリリースでは、 query() 関数でのクエリ展開をサポートしました。 selectコマンドの --query ではクエリ展開と重みづけの指定ができます。 2.1.2のリリースでは複数の query() 関数を select コマンドでサポートしたことで、複数のクエリごとに異なる重みづけを指定することができるようになりました。 ただし、 query() 関数ではクエリ展開できなかったので、アプリケーション側でクエリ展開相当のことをやってから query() 関数に渡さないことには --query と同じようには複数の全文検索を行うことができませんでした。 今回のリリースでは、@query()@ 関数でのクエリ展開をサポートしたことで、 --query でできていたクエリ展開と重みづけを複数の全文検索でも利用できるようになりました。 今までは query() 関数の構文は以下のようにカラムとクエリを受けつけるものでした。 query("MATCH_COLUMNS", "QUERY") 今回クエリ展開をサポートするために引数を追加し、 QueryExpanderTSV と一緒に使えるようになりました。(置換テーブルを指定することもできます。) query("MATCH_COLUMNS", "QUERY", "QueryExpanderTSV") QueryExpanderTSVによるクエリ展開については QueryExpanderTSV を参照してください。 置換テーブルの例については クエリー展開用の引数 を参照してください。 これにより、クエリ展開と重みづけを同時に指定したいものは --query に書かないといけないという制限が緩和されます。 例えば、以下のように置換テーブルと同等のことを書かないといけなかったクエリは select Users --match_columns "memo * 100" --query "memo:@groonga" --query_expander Synonyms.synonym --filter 'query("name * 10", "((...) OR (...) OR (...))")' こんな風に自前で展開せずにすむようになります。 select Users --match_columns "memo * 100" --query "memo:@groonga" --query_expander Synonyms.synonym --filter 'query("name * 10", "...", "Synonyms.synonym")' さいごに 3.0.1からの詳細な変更点は 3.0.2リリース 2013/03/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 3.0.1リリース 今月は29日がないので28日リリースです。 groonga 3.0.1リリース groonga 3.0.1 をリリースしました! 今月2/9に肉の日記念でメジャーバージョンアップデートしたばかりなので、直接ユーザさんに影響するような大きな変更は入っていませんが、3.0.0には間に合わなかった不具合修正などが入っています。 それぞれの環境毎のインストール方法: インストール はじめに、利用事例の記事を書いてくれる人募集のお知らせです。(再度) これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 gihyo.jp にてgroonga関連の記事を書くという企画が進行しています。 まだgroongaを知らない人にもWeb記事を通じて知ってもらいたいというのが動機です。 詳細は groonga普及のための協力のお願い を参照してください。実際に使っているユーザーのみなさんに書いてもらえたらいいなぁと思っています! すでに何人かの方に応募いただいていますが、まだまだ募集中です。 loadコマンドによりBoolであっても参照カラムに設定可能 これまで、loadコマンドでテーブルにレコードを追加する場合に参照カラムがBool型のキーのテーブルを参照していると、値を正しく設定することができませんでした。 例えば以下のようなスキーマとデータを投入してみます。 table_create Bools TABLE_HASH_KEY Bool table_create Entries TABLE_HASH_KEY ShortText column_create Entries published COLUMN_SCALAR Bools load --table Entries [ {"_key": "Special news!", "published": true}, {"_key": "Supprise news!", "published": false} ] 投入した結果確認するためにselect Entriesを実行すると以下のようになります。 [ [ [2], [ ["_id","UInt32"], ["_key","ShortText"], ["published","Bools"] ], [1,"Special news!",false], [2,"Supprise news!",false] ] ] loadしたはずの値が設定されていないことがわかります。 Boolsテーブルの内容を確認すると実際に値が設定されていないことがわかります。 [ [ [0], [ ["_id","UInt32"], ["_key","Bool"] ] ] ] これが、今回のリリースで修正され、loadコマンドでBool型のキーのテーブルを参照している参照カラムに対しても正しく機能するようになりました。 select Entriesを実行すると以下の結果が返ってきます。 [ [ [2], [ ["_id","UInt32"], ["_key","ShortText"], ["published","Bools"] ], [1,"Special news!",true], [2,"Supprise news!",false] ] ] select Boolsを実行すると参照カラムで指定した値が設定されていることがわかります。 [ [ [0], [ ["_id","UInt32"], ["_key","Bool"] ], [1,true], [2,false] ] ] ネストしたインデックスに対してもAND検索可能に 今回のリリースでは、ネストしたインデックスに対してもAND検索が可能になりました。 どんな風になったかをサンプルで示します。 以下は例で使うスキーマとデータです。 table_create Users TABLE_PAT_KEY ShortText column_create Users birthday COLUMN_SCALAR Time table_create Files TABLE_PAT_KEY ShortText column_create Files owner COLUMN_SCALAR Users column_create Users files_owner_index COLUMN_INDEX Files owner table_create Birthdays TABLE_PAT_KEY Time column_create Birthdays users_birthday COLUMN_INDEX Users birthday load --table Users [ {"_key": "Alice", "birthday": "1992-02-09 00:00:00"}, {"_key": "Bob", "birthday": "1988-01-04 00:00:00"}, {"_key": "Carlos", "birthday": "1982-12-29 00:00:00"} ] load --table Files [ {"_key": "/home/alice/.zshrc", "owner": "Alice"}, {"_key": "/home/bob/.bashrc", "owner": "Bob"}, {"_key": "/home/calros/public_html/index.html", "owner": "Carlos"} ] ファイルの所有者の誕生日に応じて特定のファイルを絞り込む場合を考えてみます。 カラムインデックスを張ってあるので、FilesテーブルとUsersテーブルはネストしたインデックスとして関連付けられています。 以下のようなクエリで絞り込むことができると思うかも知れません。3.0.0で実行すると以下の結果になります。 select Files --filter 'owner.birthday >= "1988-01-04 00:00:00" && owner.birthday < "1992-02-09 00:00:00"' --output_columns '_key, owner, owner.birthday' [ [ [2], [ ["_key","ShortText"], ["owner","Users"], ["owner.birthday","Time"] ], ["/home/bob/.bashrc","Bob",568220400.0], ["/home/alice/.zshrc","Alice",697561200.0] ] ] この結果をみると、最初の条件のみで検索していて、&&以降の条件はまったく無視されているように見えます。(Bobがヒットしているのは正しいが、Aliceは対象外になっていないといけない) これは従来AND検索はできず、最初の条件のみ評価されてしまっていたのが原因です。 今回のリリースではAND検索が可能になったので、きちんと絞り込むことができるようになりました。 [ [ [1], [ ["_key","ShortText"], ["owner","Users"], ["owner.birthday","Time"] ], ["/home/bob/.bashrc","Bob",568220400.0] ] ] && owner.birthday < "1992-02-09 00:00:00" 部分もきちんと適用して結果を絞り込んでいることがわかります。 さいごに 3.0.0からの詳細な変更点は 3.0.1リリース 2013/02/28 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 3.0.0リリース 今日は年に1度の記念すべき肉の日(2/9)ですね。 はじめに、利用事例の記事を書いてくれる人募集のお知らせです。 これまでも、groonga.orgにて 利用事例 を紹介してきましたが、それとは別に、 http://gihyo.jp/にgroonga関連の記事を書くという取り組みもはじめようかと検討しています。 まだgroongaを知らない人にもWeb記事を通じて知ってもらいたいというのが動機です。 詳細は groonga普及のための協力のお願い を参照してください。実際に使っているユーザーのみなさんに書いてもらえたらいいなぁと思っています! groonga 3.0.0リリース 昨年2月9日以来のメジャーアップデートである groonga 3.0.0 をリリースしました! 今回のリリースでメジャーバージョンがあがって3.0.0となっています! メジャーバージョンはあがりましたが、データベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。 先月のリリースから間もないので、直接ユーザさんに影響するような大きな変更は入っていませんが、mroongaのリリースに必要な機能が入ったので、mroongaと足並みを揃えて3.0.0をリリースすることにしました! それぞれの環境毎のインストール方法: インストール 前回のメジャーアップデート以降、毎月定期的にリリースを重ねてきました。 毎月のリリースを継続することで、毎月29日はgroonga,mroongaのリリースがあるよ、というのを知ってもらえるようになってきました。 今回のメジャーバージョンアップにあたって2.0.0のリリース以降、どんな変更が入ったのか振り返ってみたいと思います。 ロゴの一新 (2.0.1) Ubuntu 12.04 (Precise Pangolin)サポート (2.0.2) 類似文書検索のサポート (2.0.2) 管理画面にサジェスト機能用ページを追加 (2.0.2) CMakeビルド対応 (2.0.2/2.0.3) nginxベースのHTTPサーバーを実験的に追加 (2.0.4) 位置情報から距離を計算する組み込み関数(geo_distance)の改善 (2.0.4) Travis CI の統合に関するドキュメントを追加 (2.0.4) Fedora 17サポート (2.0.5) 近傍検索を行う 'column *N "word1 word2 …"' 構文をサポート (2.0.5) groonga-httpdの機能強化(パスのカスタマイズや複数DBのサポート) (2.0.5) 特定の語句を含まないレコードの検索をサポート (2.0.5) groonga-httpdでhttp_rewrite_moduleのサポート groonga-httpdでのPOSTによるloadコマンドのサポート (2.0.7) サーバーパッケージ構成と使用ポートの見直し (2.0.7) min/max関数のサポート (2.0.7) クエリ展開のプラグインによるカスタマイズのサポート (2.0.8) Ubuntu 12.10 (Quantal Quetzal)をサポート (2.0.8) snippet_html()関数の実験的なサポート (2.0.9) インデックスを使った指定範囲の高速な検索をサポート (2.0.9) インデックスにより関連付けられたテーブル間のネストしたインデックス検索のサポート (2.1.0) 正規化プラグインをサポート (2.1.0) 複数のquery()のサポート (2.1.2) 範囲検索を カラムインデックスによる関連テーブルをまたぐ検索 でもサポート。 (2.1.2) Fedora 18のサポート (2.1.2) ロゴを一新し、リリースをgroongaチーム体制で行うようになりました。 目玉となる各種新規機能追加ももちろんですが、サーバー用途向けに設定済みのパッケージを提供するようになり、導入しやすくなったのもポイントです。 各リリースではユーザさんからの報告をもとにバグ修正や改善を行うことができました。ありがとうございます。 groongaをもっと良くしていくために、これからも宜くおねがいします! さいごに 2.1.2からの詳細な変更点は 3.0.0リリース 2013/01/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 2.1.1リリース 先月12/29にgroonga 2.1.0をリリースしましたが、その直後に2.1.1をリリースしました。 このリリースはバグフィックスリリースで、 KEY_NORMALIZE 関連の深刻なバグを修正しました。 groonga 2.1.1リリース 2012-12-29に groonga 2.1.1 をリリースしました。 それぞれの環境毎のインストール方法: インストール 2.1.0からの変更点は 2.1.1リリース 2012/12/29 をご覧ください。 今回のリリースはバグフィックスリリースです。次に修正されたバグについて説明します。 KEY_NORMALIZE関連の情報が失われるバグについて 1つ前のバージョンである2.1.0には、2.0.9以前で作成したデータベースを開くと、データベース中の KEY_NORMALIZE 関連の情報が失われてしまうバグがありました。( KEY_NORMALIZE を使っていないデータベースでは問題ありません。) KEY_NORMALIZE は table_createコマンドのflagsオプション に指定する値です。2.1.0から --normalizer オプションが追加されたことにともなって非推奨になり、代わりに --normlizer オプションに NormalizerAuto を指定するようになりました。 この変更によって、データベース内のテーブルの flags オプションに KEY_NORMALIZE オプションが指定されていた場合は、データベースを開く際に --normalizer オプションに NormalizerAuto が指定されたように flags の値をgroonga内部で修正するようにしました。しかし、この時の処理に不具合があり、 flags の値が正しく修正されていませんでした。そのため KEY_NORMALIZE が設定されてないとみなしてしまい、情報が消えてしまう結果になりました。 このバグを、2.1.1では修正しました。もし、2.1.0を使用している場合はアップデートして2.1.1を利用するようにしてください。 2.0.9以前のデータベースを開く際の注意点 --normalizer オプションの追加にともなって、2.0.9以前のgroongaで作成したデータベースを開く際に注意点があります。 --normalizer オプションの副作用により、1度でも2.0.9以前( --normalizer オプションがサポートされる前)のgroongaで作成したデータベースを開くと、2.0.9以前のgroongaではデータベースを開けなくなります。 複数のバージョンのgroongaを同時に使わないようにご留意をお願いします。 さいごに 2.1.0では、他にもコマンドリストでの継続行サポートや、 snippet_html() 関数での引数への式のサポートなど、いろいろ改善が行われました。 詳しくは 2.1.0リリース時の変更点 をご覧ください。 それでは、groongaを使ってガンガン検索してください! over 3 years ago
groonga 2.1.0リリース 今日は年内最後の肉の日ですね。 2月の肉の日に2.0.0をリリースして以来、沢山の改善や変更、不具合修正が行われました。 毎月のリリースでは2.0.xとマイクロバージョンを上げていましたが、今回は年末ですしキリもいいのでマイナーバージョンを上げて2.1.0としました。:-) groonga 2.1.0リリース groonga 2.1.0 をリリースしました! 今回のリリースの主なトピックは3つあります。 snippet_html()関数の引数として式をサポート 正規化のためのプラグイン指定をサポート コマンドリストでの継続行のサポート それぞれの環境毎のインストール方法: インストール snippet_html()関数の引数として式をサポート 先月のリリース(2.0.9)では、キーワードとその周辺のテキストを抽出するための snippet_html() 関数を実験的にサポートしました。 今回のリリースではこの snippet_html() 関数の機能を強化し、引数に式を指定できるようにしました。 これまでは snippet_html() 関数は以下のようにカラム名を指定することができました。 snippet_html(column名) これが、以下のように任意の式も受け付けるようになりました。 snippet_html("STRING" + "STRING") この変更で複数のカラムを対象としたスニペットをまとめて取得できるようになりました。どんな風に使えるようになったかを具体例で説明します。 以下は説明のためのスキーマ定義とサンプルデータです。 table_create Documents TABLE_NO_KEY column_create Documents title COLUMN_SCALAR ShortText column_create Documents content COLUMN_SCALAR Text table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Terms document_title_index COLUMN_INDEX|WITH_POSITION Documents title column_create Terms document_content_index COLUMN_INDEX|WITH_POSITION Documents content load --table Documents [ ["title", "content"], ["Groonga overview", "Groonga is a fast and accurate full text search engine based on inverted index."], ["Full text search and Instant update", "In widely used DBMSs, updates are immediately processed, for example, a newly registered record appears in the result of the next query."], ["Column store and aggregate query", "People can collect more than enough data in the Internet era."] ] これまでDocumentsテーブルに登録したデータからキーワードGroongaを含むスニペットを取得したくてもtitleもしくはcontentカラムのどちらかしか指定することができませんでした。 select Documents --output_columns "snippet_html(content)" --command_version 2 --match_columns content --query "Groonga" これだとtitleカラムやcontentカラムに指定したキーワードを含むスニペットをまとめて取得したいときに不便です。 今回のリリースではsnippet_html()関数の引数を以下のように指定することで、まとめて取得することができるようになりました。 select Documents --match_columns title||content --query 'Groonga' --output_columns 'snippet_html(title + " " + content)' --command_version 2 上記クエリでは検索したいキーワードGroongaを --query に指定し、検索対象のカラムとしてtitleカラムもしくはcontentカラムを --match_columns により指定しています。 snippet_html() 関数の引数に title + " " + contentと指定することで、titleカラムから取得したスニペットとcontentカラムから取得したスニペットを連結した結果を返すようにしています。(" "は見栄えの都合でスペースを入れています) 結果は以下のようになり、指定したキーワードが <span> タグで囲まれ、キーワード周辺のテキストがスニペットとしてまとめて抽出できていることがわかります。 検索結果のうち、タイトルと本文に含まれる指定したキーワードをハイライト表示するということがこれまでより簡単に実現できるようになりました。 [ [0,1356406051.43579,0.000200510025024414], [ [ [1], [ ["snippet_html","null"] ], [ ["Groonga overview Groonga is a fast and accurate full text search engine based on inverted index."] ] ] ] ] 関数の詳細については snippet_html() を参照してください。 正規化のためのプラグイン指定をサポート 今回のリリースでは、正規化方法をプラグインで指定する仕組みを導入しました。 groongaでは Unicodeの正規化形式 としてNFKCを適用するようになっています。 これをテーブルごとに任意の正規化方法を指定できるように拡張しました。 この機能追加が入ったことで、将来的にMySQLと同じ文字照合順序(COLLATION)のサポートがmroongaで可能になります。 正規化形式の指定の仕方は以下のように --normalizer オプションをテーブルの作成時に指定します。 table_create Terms TABLE_PAT_KEY ShortText --normalizer NormalizerAuto これまでテーブルの作成時に KEY_NORMALIZE を使用していた場合と --normalizer NormalizerAuto は同じ意味になっています。 まだサンプルとなるプラグインは追加していませんが、開発者向けのヘッダファイル groonga/normalizer.h にて必要なAPIを公開しています。 今回この機能拡張を行ったことで、データベースを一旦開くと古いバージョンのgroongaではデータベースを開けなくなることに注意が必要です。 コマンドリストでの継続行のサポート 今回のリリースでは継続行のサポートを追加しました。 これまで、groongaコマンドに与えるコマンドリストは必ず一行で記述する必要がありました。クエリが長くなってくるとクエリそのものが見づらいという問題がありました。 これが、継続行であることを示す '' を使うことでコマンドリストの途中で折り返すことができるようになりました。 これまで、以下のように一行で書いていたものを table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText --default_tokenizer TokenBigram 以下のように書けるようになります。 table_create --name Terms --flags TABLE_PAT_KEY --key_type ShortText --default_tokenizer TokenBigram さいごに 2.0.9からの詳細な変更点は 2.1.0リリース 2012/12/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」開催しました groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」を開催しました 一昨年、昨年に引き続き、今年もいい肉の日に groonga勉強会「全文検索エンジンgroongaを囲む夕べ3」 を開催しました。 前回から一年ぶりに開催しましたが、今回は「実際のgroongaの使い方をみんなで共有して話す」というのをコンセプトにし、実際にgroongaを使っているユーザーさんにどのようにgroongaを使っているかの発表を募集しました。結果、8名もの方に発表していただきました!ありがとうございました。 先立って、当日の様子を見ることができるページをご紹介します。 Ustreamの録画 で勉強会の様子を見ることができます。また、当日のTwitterでの様子は Togetter にまとめましたのであわせてご覧ください。 その他情報については、 告知ページ に随時更新していきます。 発表資料は現在発表者の方々からご提供いただいています。すべてご提供いただけた時点で、またこのブログにて改めてこの勉強会についてご報告する予定です。 昨年に引き続き会場を提供してくれた VOYAGE GROUP さん、発表者のみなさん、参加者のみなさん、ありがとうございました! また、来年のいい肉の日にお会いしましょう。 over 3 years ago
groonga 2.0.8リリース 今日は肉の日ですね。 リリースアナウンスの詳細の前にお知らせが1つあります。 すでに groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」開催のお知らせ というエントリを書いていますが、来月groonga勉強会を開催します。 開催告知から更新した内容(発表者が追加されたり、発表者の応募締切が延びました!)もありますので、ここで再度告知します。 全文検索エンジンgroongaを囲む夕べ 3開催のお知らせ 今年も groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」を開催 します。 会場: 株式会社VOYAGE GROUP 8Fセミナールーム Google Mapsで表示 日時: 2012/11/29 (木) 19:00-21:00 (18:30開場、懇親会は21:00開始) 申し込み方法: ATNDのイベントページ から申し込んでください。先着150名で、まだ人数に余裕があります。 懇親会: 参加・不参加について、ATNDでの参加登録の際のコメントか ATNDのイベントページ 下部のコメント欄にてご連絡ください 今回のgroonga勉強会では、ユーザさんがgroongaをどんな風に使っているか発表してもらうことを重視しています。 groongaはユーザーさんに助けられながら開発を続けています。これまで、groongaを使ってくれるユーザーさんが増えるにつれ、フィードバックなどの協力もより多く得られるようになりました。 そこで、もっとユーザーさんの意見を参考にしてgroongaを改善するため、ユーザーさんがどのようにgroongaを使っているかを発表していただいて、ユーザーさんや開発者がみんなで話す会にしたいと思っています。 groongaについてユーザーさんが改善してほしい点や便利だなーと思う点を、開発者含めgroongaを使っている人たちみんなで話をして、groongaがよりいい方向に進むための足がかりにしたいと考えています。 また、ユーザーさんや、groongaに興味があるけどまだ使ったことのない人がお互いにgroongaについて話すことで、どのようにgroongaを使うのが自分にとって適切かを見つけられると考えています。 すでに4名の方から以下の内容で発表者として応募いただいています。 こしばさん: web広告系システムでgroongaをどう使っているかの発表をしてくださいます! 和田さん: タイトル「nanapiにおけるmroonga活用事例」 nanapiというサイトでgroongaやmroongaをどう使っているかの発表をしてくださいます! てみたさん: ニコ番というサービスでrroongaをどう使っているかの発表をしてくださいます! ongaeshiさん: Milkodeというソフトウェアでrroongaをどう使っているかの発表をしてくださいます! 発表していただける方をまだまだ募集しています。応募の締切は11/04(日)23:59となっています。発表者になると、懇親会参加費用が無料になる特典があります。 また、受付を手伝ってくださる方も募集しています。(お手伝いいただける方ももちろん懇親会参加費用が無料です。) 勉強会、懇親会等の詳細は以下の ATNDのイベントページ を随時更新していますので、そちらをご確認ください。 Twitterのgroongaアカウント でも随時ツイートしています。 勉強会のお知らせは以上です。 groonga 2.0.8リリース groonga 2.0.8 をリリースしました! 今回のリリースの主なトピックは2つあります。 クエリ展開のプラグインによるカスタマイズのサポート Ubuntu 12.10 (Quantal Quetzal)のサポート それぞれの環境毎のインストール方法: インストール クエリ展開のプラグインによるカスタマイズのサポート 今回のリリースでは、実験的にクエリ展開をプラグインによりカスタマイズすることができるようになりました。 例えば同義語がいくつかあったときに、とある単語で検索したら、その同義語でも一緒に検索してくれるとユーザーにとってより望ましい結果が得られることがあります。同義語に限らず、関連したキーワードでも似たようなことが言えます。 具体的にはgroonga,rroonga,mroongaは互いに関連したキーワードですが、これを実現するには (groonga OR rroonga OR mroonga) というクエリを書く必要があります。 単純なクエリであれば問題になりませんが、条件が複雑になってくるとメンテナンスしにくくなってしまいます。 groongaではそういった検索を簡単に行えるようにクエリ展開を既にサポートしています。 具体例で説明します。以下は説明のためのスキーマ定義とサンプルデータです。 table_create Memos TABLE_NO_KEY column_create Memos content COLUMN_SCALAR ShortText table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram column_create Lexicon diary_content COLUMN_INDEX|WITH_POSITION Memos content table_create Synonyms TABLE_PAT_KEY ShortText column_create Synonyms words COLUMN_SCALAR ShortText load --table Memos [ ["content"], ["Start groonga!"], ["Start mroonga!"], ["Start rroonga!"], ["Start Ruby!"], ["Learning Ruby and groonga..."], ] load --table Synonyms [ ["_key", "words"], ["groonga", "(groonga OR rroonga OR mroonga)"] ] Synonymsテーブルにあらかじめ登録しておいたgroongaというキーワードを用いて関連キーワードをまとめてクエリ展開するには以下のように書きます。 Memosテーブルのcontentカラムに登録してあるテキストに対してgroongaというキーワードで検索しようとしたときにrroongaやmroongaでもまとめて検索するクエリ展開を行う例です。 select --table Memos --query_expansion Synonyms.words --match_columns content --query groonga [[0,1350898793.34538,0.00174403190612793], [ [[4], [ ["_id","UInt32"],["content","ShortText"]], [1,"Start groonga!"], [5,"Learning Ruby and groonga..."], [3,"Start rroonga!"], [2,"Start mroonga!"] ] ] ] groongaだけでなくrroongaやmroongaも検索結果として取得できることがわかります。 今回のプラグインによるカスタマイズのサポートでは、同義語のためにテーブルを作らずにタブ区切りのテキストファイル(synonyms.tsv)を指定することができるようになりました。 key[TAB]synonym1[TAB]synonym2[TAB]... 例えば、groongaをクエリで指定したら、rroongaやmroongaもまとめて検索できるようにするには以下のようなテキストファイルを記述します。 groonga[TAB]groonga[TAB]rroonga[TAB]mroonga 実際に QueryExpanderTSV を使うにはクエリを以下のように変更します。 select --table Memos --query_expansion QueryExpanderTSV --match_columns content --query groonga すると --query groonga とすると実際に実行されるクエリとしては以下と同等になります。 --query "((groonga) OR (rroonga) OR (mroonga))" デフォルトでは /etc/groonga/synonyms.tsv に雛形となるテキストファイルをインストールします。 任意の場所に変更したい場合には、 GRN_QUERY_EXPANDER_TSV_SYNONYMS_FILE 環境変数で別のファイルを指定することもできます。 Ubuntu 12.10 (Quantal Quetzal)のサポート Ubuntu 12.10 Quantal Quetzalが10月18日にリリースされました。 今回のリリースでは早速Ubuntu 12.10向けのパッケージの提供を開始しました。 さいごに 2.0.7からの詳細な変更点は 2.0.8リリース 2012/10/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
Medrol Antibiotic Generic Name Order Nolvadex Online Cash On Delivery Nizoral Liquid Medrol Dose Pack Harley Quinn <a href=http://www.netvibes.com/lasixonline>Lasix Order Online 37.5</a>. Flagyl Levofloxacin Ciprofloxacin Hcl 1000mg Toxic Epidermal Necrolysis Proviron Nolvadex Monociclo Ibuprofen Azithromycin . Phentermine And Cymbalta Combo Migraine Caused By Stress . Od On Celexa Dry Mouth Buy Plan B Longboard <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxicillin No Prescription Online</a> Tmz Allegra Versace Migraine Pillow Cases Paxil Fact Sheet Paxil Antidepressant Drug Monoamine Oxidase over 3 years ago
карточный ремонт холодильников Вирпул Правоверный подготовленный помощник по холодильным установкам проведет диагностику за один час и проведет <a href=http://www.gorodservis.ru/nazvan-whirlpool.html>карточный ремонт холодильников Вирпул</a> медленно в офисе и на дому с гарантией на все запчасти.Увидеть и написать все цены вы можете у нас на сайте. over 3 years ago
Apo Clonidine 0.25mg Fingerboard For Your Prozac Aleve Gel Caps Naproxen Sodium 220 Mg . Take Naproxen And Acetaminophen Lithium Online Saturday Delivery <a href=http://www.netvibes.com/voltaren>Cheap Voltaren Online Canada</a> Tegretol Substitutes Natural Drugs Weight Loss Migraine Flashing Lights Blurred Vision Norvasc Free Samples . Buy Cheapest Online Risperdal Naproxen Methotrexate Where To Buy Finast Online Safely? <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Cheap Non Prescription Online Pharmacy</a>. Toxicity On Plavix Benadryl Side Effects 2 Year Old Singulair Printing Hamilton order phenergan generic, when should phenergan be ordered - meadowgate. us. . over 3 years ago
“No.” Tyrion’s voice was hoarse. “Sansa is no longer yours to torment. Understand “Down White Harbor way,” someone called out. http://roskosa.ru/zot_19037.html Gendry and Hot Pie did not question her choice. She had the map, after all, and Hot over 3 years ago
gihyo.jpさんで連載「隔週連載groonga」を開始しました! gihyo.jpさんで連載「隔週連載groonga」を開始しました! 今日から、 gihyo.jp さんでgroongaの連載が始まりました。「 隔週連載groonga 」と題して、groongaを使いたくなるような情報を隔週でお伝えします。 「隔週連載groonga」では、groongaの利用事例の紹介と、その利用事例に関連した情報を交互にお伝えします。利用事例の紹介は、実際にgroongaを使ってくれている方にお願いして記事を書いてもらっています。利用事例の紹介を見た人に、「こんなところでgroongaを使ってるんだ!じゃあ自分も使ってみようかなあ」と思ってもらいたいというのが狙いです。そして、利用事例に関連した情報は、「あそこではこういう風にgroongaを使ってるなら、自分がしたいことはこうやればできそう!」といった、groongaを使うときに応用するときに役立つことを狙っています。連載を続けるうちに、「連載を見てgroongaを使い始めました!」という人が利用事例の紹介を書いてくれると、この連載は成功した!と言えます。 今日公開された記事(第1回目) は、連載の最初なのでgroongaの歴史や特徴の説明をしています。次回(4/16公開予定)から利用事例の紹介を始めます。利用事例は 公募 しています。あなたのgroonga利用事例をぜひこの連載で紹介してください。よろしくお願いします! over 3 years ago
「検索エンジンは妖怪“覚(さとり)”の夢を見るか」公開 「検索エンジンは妖怪“覚(さとり)”の夢を見るか」公開 先日、groongaの作者である森さんが検索エンジンの未来を予想する記事を「情報の科学と技術」Vol. 63に寄稿しました。その記事が ガジェット通信 で公開されたので紹介します。 記事は前編と後編にわかれています。 検索エンジンは妖怪“覚(さとり)”の夢を見るか【前編】 - ガジェット通信 検索エンジンは妖怪“覚(さとり)”の夢を見るか【後編】 - ガジェット通信 最後には、何もしなくても知りたいことがわかるような未来になったらどうだろう、はたしてそれはうれしいことだろうか、というところまで言及する大変興味深い内容になっています。検索エンジンのこれまでとこれからに興味のある人はぜひ読んでみてください。参考図書もついているので、興味のある分野についてさらに調べることもできます。 over 3 years ago
モーショノロジー2012 #1に参加 #mnlgy モーショノロジー2012 #1に参加 #mnlgy CROOZさん が主催する モーショノロジー2012 #1 という技術勉強会でgroonga関連のお話をしてきました。 資料は 発表ページ にまとめてありますので、残念ながら当日参加できなかった方はこちらをご覧ください。 資料などの関連情報を Facebookのモーショノロジー に集めるそうなので、groonga以外の話題も気になる方はこちらもご覧ください。 兼山さんの Solrを使ったレシピ検索のプロトタイピング の資料はすでに公開されているようです。 CROOZさん、今回は声をかけていただきありがとうございます! groonga関連のお話を聞きたい!という方がいたらぜひ声をかけてください!話に行きます。 over 3 years ago
第8回OSS奨励賞を受賞 groonga開発チームが第8回OSS奨励賞を受賞しました! groonga開発チームが2月22日に 第8回日本OSS奨励賞を受賞しました! 上記サイトによると、「日本OSS奨励賞」は過去1年間にOSSの開発や普及に顕著な活躍をした個人ないしグループを表彰するもので、今回は4回目となるそうです。 groonga開発チームは、毎月29日にリリースをする「肉の日リリース」を続けていること、またメーリングリストやセミナーでユーザーとの交流を拡大していることが評価され、受賞しました。 groongaのメーリングリストは groonga-dev (日本語)と groonga-talk (英語)の2つがあります。これらメーリングリストでは、ユーザーさんからの質問や提案にgroonga開発チームが答えています。また、セミナーとしては去年11/29(いい肉の日)に3回目の「 全文検索エンジンgroongaを囲む夕べ 」を開催し、ユーザーさんから実際にどうgroongaを使っているかを発表していただきました。 受賞そのものも非常にうれしいですが、個人ではなく、groonga開発チーム全体で受賞できたことをうれしく思っています。 これからもgroonga開発チームでは精力的に開発を続けていきますので、今後ともご協力お願いします! over 3 years ago
groonga 2.1.2リリース 今日は2013年最初の肉の日ですね。 groonga 2.1.2リリース groonga 2.1.2 をリリースしました! 今回のリリースの主なトピックは3つあります。 複数のquery()のサポート groonga-tokenizer-mecabパッケージと同時に辞書のインストールをサポート Fedora 18のサポート それぞれの環境毎のインストール方法: インストール 複数のquery()のサポート 今回のリリースでは、従来 --match_columns と --query とで個別に指定していたカラムとキーワードを --filter にquery()を使うことで、まとめて指定することができるようになりました。 ユーザ情報のテーブルのnameカラムからaliceを全文検索するクエリを例として示します。(nameカラムで合致したデータに対する重みづけとして10を指定します) 例で使うテーブルのスキーマは以下の通りです。 table_create Users TABLE_NO_KEY column_create Users name COLUMN_SCALAR ShortText column_create Users memo COLUMN_SCALAR ShortText table_create Lexicon TABLE_HASH_KEY ShortText --default_tokenizer TokenBigramSplitSymbolAlphaDigit --normalizer NormalizerAuto column_create Lexicon users_name COLUMN_INDEX|WITH_POSITION Users name column_create Lexicon users_memo COLUMN_INDEX|WITH_POSITION Users memo 例で使うテーブルのデータは以下の通りです。 load --table Users [ {"name": "Alice", "memo": "groonga user"}, {"name": "Alisa", "memo": "mroonga user"}, {"name": "Bob", "memo": "rroonga user"}, {"name": "Tom", "memo": "nroonga user"}, {"name": "Tobby", "memo": "groonga and mroonga user. mroonga is ..."}, ] 従来通り --match_columns と --query を組みあわせることで、以下のように書けます。(nameカラムに対し重みづけを行っています) select Users --output_columns name,_score --match_columns "name * 10" --query alice これをquery()を使うことで --filter にまとめて書くことができるようになります。 select Users --output_columns name,_score --filter 'query("name * 10", "alice")' これだけだとあまりありがたみがないかも知れません。ではいくつかキーワードが与えられていて、そのキーワードに異なる重みづけをして全文検索を行いたいときにはどうなるでしょうか。 --query と --match_columns の組み合わせの場合、個々のキーワードに対しての重みづけはできません。 select Users --output_columns name,memo,_score --match_columns "memo * 10" --query "memo:@groonga OR memo:@mroonga OR memo:@user" --sortby -_score 一方、query()関数を使うと、個別のキーワードについて重みづけを行うことができます。 select Users --output_columns name,memo,_score --filter 'query("memo * 10", "groonga") || query("memo * 20", "mroonga") || query("memo * 1", "user")' --sortby -_score 最初のクエリの結果ではgroongaもmroongaも等価ですが、 [ ["name","ShortText"],["memo","ShortText"],["_score","Int32"] ], ["Tobby","groonga and mroonga user. mroonga is ...",4], ["Alice","groonga user",2], ["Alisa","mroonga user",2], ["Bob","rroonga user",1], ["Tom","nroonga user",1] 次のクエリの結果では重みづけを行っているのでmroongaがより上位に来ていることがわかります。 [ ["name","ShortText"],["memo","ShortText"],["_score","Int32"] ], ["Tobby","groonga and mroonga user. mroonga is ...",51], ["Alisa","mroonga user",21], ["Alice","groonga user",11], ["Tom","nroonga user",1], ["Bob","rroonga user",1] このようにquery()を使うことで、より望ましい検索結果を得られるようになりました。 groonga-tokenizer-mecabパッケージと同時に辞書のインストールをサポート 今回のリリースでは、groonga-tokenizer-mecabのインストール時にまだMeCabの辞書がインストールされていない場合、一緒にインストールするようにしました。 以下の手順で、groonga-tokenizer-mecabをインストールするとMeCabの辞書がインストールされます。 Debian/Ubuntuの場合:: % sudo apt-get install -y groonga-tokenizer-mecab CentOS/Fedoraの場合:: % sudo yum install -y groonga-tokenizer-mecab 従来、MeCabの辞書についてはどの辞書を使うかについてユーザさんの選択にまかせていたため、特に依存関係をパッケージに含めていませんでしたが、groongaのインストールで初めてMeCabをインストールする場合の利便性を考慮してこのようにしました。 なお、すでにMeCabの辞書をインストールしている場合にはそのままインストール済みの辞書を使うようになっています。 Fedora 18のサポート 今回のリリースでは2013/01/15にリリースされたFedora 18のサポートを追加しました。 Fedora 18のサポートに伴ない、Fedora 17のパッケージの提供は行いません。 インストール手順は Fedora 18 を参照してください。 さいごに 2.1.1からの詳細な変更点は 2.1.2リリース 2013/01/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」を振り返って groonga勉強会「全文検索エンジンgroongaを囲む夕べ 3」を振り返って 今年もいい肉の日に、groonga勉強会の3回目 「全文検索エンジンgroongaを囲む夕べ3」 を開催しました。 簡単なまとめの記事を 以前掲載しました が、もう一度、開催者からの感想や新しく公開された紹介記事や動画についてお伝えします。 前回の「全文検索エンジンgroongaを囲む夕べ2」からまる1年後の開催でしたが、今回は前回までと異なり、「実際にgroongaをどのように使っているかを共有する」というのをコンセプトにしました。これは、実際のgroongaの使われ方を開発者を含めたgroongaのユーザーで共有することで、よりよいgroongaをつくるための足がかりにするためでした。 このコンセプトをもとに、8人のユーザーさんからgroongaや 関連プロダクト をどのように使っているかを発表していただきました。 その発表の中で、どのようにgroongaを使っているかをはじめ、どうしてgroongaを選んだか、groongaにほしい機能についてなど、groongaについてさまざまな意見を発表していただきました。発表を拝見して、groongaに対してとても深く考えて使ってくださっているのを感じました。また発表に関して twitter上で多くの反応 がありました。さらに、勉強会の後に開いた懇親会でも、発表者の方で実際にデモをしている人がいらっしゃるなど、非常に盛り上がりました。 全体を通してみると、コンセプトを満たす勉強会ができたと感じています。ここで得られた意見をもとに、groongaをよりよく改善していく足がかりにしていきます。ありがとうございます。 さて、今回の勉強会について、EnterpriseZineのDBOnlineに紹介記事( 全文検索エンジンgroongaがつなぐコミュニティの輪 )を掲載していただきました!ありがとうございます。 また、勉強会当日の様子が Ustream の他に Vimeo にもアップロードされました。( ニコニコ生放送 でも配信していただきましたが、視聴期限が切れたため現時点では視聴不可になっています。)都合がつかず勉強会に参加できなかった人や、参加した人でもあとから振り返るためにご活用ください。 これらの勉強会当日の様子を振り返るための動画やtwitterでの反応、また勉強会での開発者やユーザーさんが使用した発表資料は、 ATNDでの告知ページ やgroongaのサイトの 発表ページ にて随時更新しています。あわせてご覧ください。 昨年に引き続き会場を提供してくれた VOYAGE GROUP さん、発表者のみなさん、参加者のみなさん、協力してくださった方、改めてありがとうございました! 来年のいい肉の日でお会いできることを楽しみにしています。 over 3 years ago
day after next.” nobly, Rhaegar fought honorably. And Rhaegar died.” http://midatuk.ru/hyv_17197.html satisfied and suggested that they send for a cask of Arbor gold, to toast good King over 3 years ago
TzyykKWNlfrOnbCQek vFHI0Z <a href="http://frqmrrkhfxia.com/">frqmrrkhfxia</a>, [url=http://zxwcuxsobiol.com/]zxwcuxsobiol[/url], [link=http://xzgjuknpbvsn.com/]xzgjuknpbvsn[/link], http://lygquuyqdmna.com/ over 1 year ago
groonga 2.0.6リリース groonga 2.0.6リリース 今日は肉の日ですね。 groonga 2.0.6 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回のリリースの主なトピックは3つあります。 特定の語句を含まないレコードの検索をサポート groongaサーバーについてのドキュメントの追加 groonga-httpd で http_rewrite_module のサポート 特定の語句を含まないレコードの検索をサポート 全文検索を行うときにBOOLEAN MODEでマイナス記号をつけて特定の語句が検索結果に含まれないようにする機能をサポートしました。 例えば、「明日」を含まないレコードの検索を以下のようなクエリで実現できるようになりました。(下記の例では、diariesテーブルのcontentカラムから「明日」が含まれないレコードを検索しています。) select diaries --match_columns content --query "-明日" --query_flags ALLOW_LEADING_NOT 注意として、この検索を行うには --query_flags に ALLOW_LEADING_NOT の指定が必要です。また、 ALLOW_LEADING_NOT は重い処理なので濫用するとパフォーマンスに影響します。 --query_flags には、他にも痒いところに手が届くような便利なオプションを追加しています。 例えば、カラムを検索する際に、 --query "title:(検索したいキーワード)" を指定するとtitleカラムを指定したキーワードで検索するという振舞をします。 これは通常の検索の場合には望ましい振舞いですが、キーワード自体に:を含むなど、そのままではうまく検索できないようなケースがありました。 指定したキーワードを特に解釈せずそのまま検索できるようにするには --query_flags オプションに 'NONE' を指定することでお望みの検索を行えます。 --query_flags オプション には今回紹介した 'ALLOW_LEADING_NOT' や 'NONE' の他にもいくつか種類があります。 groongaサーバーについてのドキュメントの追加 今回のリリースではドキュメントの更新を行いました。 groongaをサーバー用途で使うときにはどんな選択肢があるでしょうか。 まずは提供しているプロトコルを選択する必要があります。groongaで提供しているプロトコルはGQTPとHTTPの2つがあります。 HTTPプロトコルを選択した場合には、groongaもしくはgroonga-httpdという実装の違いによる選択肢があります。 それではそれらプロトコルやサーバー実装についてどのように選んだら良いのでしょうか。 そういったサーバー用途で使うときに気になるポイントについて、 比較表 を用意しました。検討するときの参考にしてください。 groonga-httpd で http_rewrite_module のサポート groonga-httpd の機能強化のポイントとしてPCREの自動検出があります。 これまで、 groonga-httpd では、PCREをリンクしていなかったため明示的に http_rewrite_module を無効にしていました。 今回のリリースではPCREの自動検出をサポートし、なおかつ http_rewrite_module が使えるようにPCREを必須としました。 以前紹介した、 groonga-httpd の複数データベースのサポートやベースパスのカスタマイズと組合せることでより柔軟にgroongaサーバーの運用を行えるようになります。 さいごに 2.0.5からの詳細な変更点は 2.0.6リリース 2012/08/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 2.0.4リリース groonga 2.0.4リリース 今日は肉の日ですね。 groonga 2.0.4 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回のリリースの主なトピックは3つあります。 nginxベースのHTTPサーバーを実験的に追加 groongaドキュメントの更新 位置情報から距離を計算する組み込み関数の改善 nginxベースのHTTPサーバーを実験的に追加 groongaはデフォルトで HTTPサーバー 機能を提供しています。 ただしHTTPサーバーとしては最小限機能しかありませんでしたので、例えば接続元の制限を行うためには別途iptablesなどと組み合わせて使う必要がありました。 今回のリリースではnginxをHTTPリクエストを処理するために組み込んだ groonga-httpd コマンドを実験的ではありますが、新たに提供します。 (groongaコマンドの --protocol http オプションも従来通り使い続けることができます。) nginxを組込むことにより、nginxの持つHTTPサーバーとしての高度な機能をほぼそのまま使うことができるようになりました。 以下はnginxベースの groonga-httpd コマンドを利用するメリットの一例です。 gzipフィルターに対応しているのでサーバーレスポンス帯域を節約できるようになります HTTP1.1のキープアライブやパイプライン処理によりHTTPの処理効率が向上します アクセスログを柔軟にカスタマイズできるようになります アクセスコントロール手段としてiptablesの他に各種認証方法を組み合わせることができるようになります 同時接続数や同時リクエスト数の設定による負荷の調整を行えるようになります 通信経路の安全性を高めるためにHTTPSを使用することができるようになります 名前ベースでHTTPサーバーを稼動させることができるようになります 高負荷状態での稼動実績のあるnginxをモジュールとして採用しているため、HTTPサーバー処理の安定稼動が期待できるようになります nginxベースのHTTPサーバーについては groonga-httpd コマンドを参照してください。 注意: 今回のリリースで提供しているバイナリのうち、groonga-httpd はWindowsをサポートしていません。 groonga-httpd のWindowsサポートは次回リリース以降を予定しています。 groongaドキュメントの更新 今回のリリースではドキュメントの更新を行いました。 とりわけ、特定の条件にマッチするレコードを検索したり、データベースを操作するときに使用する grn_expr (ぐるんしき) の説明を充実させました。 全文検索やフレーズ検索、前方一致検索や後方一致検索をするときの クエリ構文 を解説しています。 スキーマ定義とサンプルデータによる実行例も併記してありますので、すぐに機能を確認することができます。 位置情報から距離を計算する組み込み関数の改善 groongaでは位置情報から距離を計算する組み込み関数として geo_distance を提供しています。 geo_distance には子午線や日付変更線、赤道などのいわゆる境界をまたいだ距離の計算が正しく行えない制限があります。 geo_distance では距離を計算する際に地形をどのように近似して計算するかを方形近似、球面近似、 楕円近似の3つのうちから選択できます。 今回のリリースでは方形近似を選択した場合について、部分的にこの問題を改善しています。 具体的には二点が北半球の範囲にある場合において東経/西経をまたいでも正しく距離を計算できるようになりました。 geo_distance の説明も具体例を充実させました。 さいごに 2.0.3からの詳細な変更点は 2.0.4リリース 2012/06/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 2.0.2リリース groonga 2.0.2リリース 今日は肉の日ですね。 groonga 2.0.2 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回のリリースの主なトピックは以下の3つです。 パッケージ署名用の鍵を変更 類似文書検索のサポート 管理画面にサジェスト機能用ページを追加 パッケージ署名用の鍵を変更 今回のリリースからgroonga開発チームとして継続的にリリースを行うためにgroongaパッケージ署名用の鍵を作成しました。新しい鍵は以下の通りです。 % gpg --list-keys --fingerprint 45499429 pub 1024D/45499429 2012-04-28 Key fingerprint = C97E 4649 A205 1D0C EA1A 73F9 72A7 496B 4549 9429 uid groonga Key (groonga Official Signing Key) 鍵の変更に伴ってパッケージのインストール方法が少し変わっています。詳細は インストール ページを確認してください。 すでにパッケージをインストールしていて、これからアップグレードする場合は以下のように新しい鍵をインポートしてください。 Debian/Ubuntu: % sudo apt-get update % sudo apt-get -V -y install groonga-keyring CentOS/Fedora: % sudo yum makechace % sudo yum install --nogpgcheck -y groonga-repository 類似文書検索のサポート 今回のリリースから類似文書検索がサポートされました。 Sennaの頃から類似文書検索はサポートされていて、これまでも内部的には類似文書検索は実装されていたのですが、 select コマンドで使うことができませんでした。 類似文書検索を使うには select コマンドの --filter オプションに column *S 'TEXT' という条件を指定してください。この条件は、 column に格納されている文書が 'TEXT' に類似しているレコードを検索する、という意味になります 管理画面にサジェスト機能用ページを追加 groongaにはブラウザベースの管理ツールがありますが、その管理ツールで サジェスト機能 を試すことができるようになりました。 現在サポートしているのは、すでにセットアップされたサジェスト用データセットに対する検索のみです。サジェスト用データセットの作成や学習、学習結果の補正などといったことはできません。 さいごに 2.0.1からの詳細な変更点は 2.0.2リリース - 2012/04/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
新しいロゴを公開 新しいロゴを公開 groongaの 新しいロゴ を公開しました。mroongaやrroongaなど関連プロジェクトのロゴも公開しています。 CC-BY 3.0のライセンスで利用できるので、groongaを使っている人はぜひロゴを使ってgroongaを広めてください! over 3 years ago
Count-Min Sketch のライブラリを公開しました Count-Min Sketch のライブラリを公開しました written by Susumu Yata. はじめに 先日 groonga プロジェクトでの利用を目的として開発しているライブラリ Madoka を公開しました.Madoka は Count-Min Sketch という手法をライブラリ化したものであり,文書集合に含まれるキーワードの頻度を求める,クエリの頻度を求める,などの用途に使うことができます. s-yata/madoka - GitHub Documentation - Madoka ライブラリの使い方についてはドキュメントに書いてあるので,こちらは Count-Min Sketch と Madoka の特徴をまとめた内容になっています. Count-Min Sketch 頻度を求めることが目的であれば,ハッシュ表による連想配列を使うのが,おそらく一般的です.キーワードやクエリ(以降,キー)を指定すれば頻度への参照を返すという連想配列であれば,主要なプログラミング言語では標準的にサポートされていると思います.それでは,Count-Min Sketch のライブラリを開発する理由はどこにあったのでしょうか.Count-Min Sketch の特徴を以下に並べてみます. キーを取り出すことはできません. キーを渡せば頻度を返すというインタフェースは用意できますが,それまでにカウントしたキーを列挙するようなことはできません. 高頻度のキーだけを列挙したいなどの要求については,個別に対処する必要があります. 誤差を含みます. 正確な頻度が 10,000 であるキーに対して 10,010 などの誤差を含む値を返すことがあり,厳密な頻度を求めたい状況では,直接的に使うことはできません. 低頻度なキーは誤差を含みやすいという特徴があります. 最初にサイズを決定します. 作成するときに指定するパラメータによってスケッチのサイズが決定されます. どれほどのキーを入力してもサイズは変化しませんが,代わりに誤差が大きくなっていきます. 最悪時間計算量が O (1) になります. ハッシュ表の平均時間計算量を O (1) とするのであれば,Count-Min Sketch の最悪時間計算量は O (1) です. 正確にはスケッチのパラメータとキーの長さに依存します.そして,実際にはキャッシュミスがボトルネックになります. まず重要なことは,スケッチのサイズが固定されるということです.メモリ使用量は簡単に求めることが可能であり,拡張によってメモリが不足する可能性はありません.誤差を許容できるのであれば,という条件が付くものの,魅力的な特徴です.その上,低頻度キーの誤差を無視できるのであれば,一般的なハッシュ表と比べて 1/10 程度のメモリ使用量でも十分な精度を確保できます.そのため,上手くハマると極めて強力なツールになります. 一方で,あらかじめスケッチのサイズを決定しなければならないことは,大きな欠点でもあります.スケッチのサイズを小さくすれば誤差が大きくなり,逆に,スケッチのサイズを大きくすればメモリ使用量が増えてしまいます.キャッシュミスが増えて遅くなるというおまけ付きです.そして,パラメータの設定に際して考慮すべきことはメモリ使用量,許容誤差,キーの規模・分布だと分かっているものの,具体的な設定指針はまだ見えていません.これからの評価で明らかにしていきたいところですが,できれば,興味のある方には実際に使ってみていただけると助かります. Madoka - Count-Min Sketch のライブラリ Madoka は Count-Min Sketch のライブラリですが,精度を高めるために Conservative Update を採用しています.実は Lossy Conservative Update にも対応していますが,こちらはおまけなので,ライブラリの利用者が Lossy Conservative Update のことを知らなければ適用できません.それから, ux-trie を参考に開発したライブラリが marisa-trie になったように,既存の手法や実装の段階で思い付いたアイデアを取り込んでいます. MurmurHash3 ハッシュ関数には MurmurHash3 を使っています. 任意のバイト列から 128 ビットのハッシュ値を一度に生成できるので便利です. Xorshift 疑似乱数の生成には 128 ビット版 Xorshift を使っています. シンプルで高速なので重宝します. ビット単位のカウンタ 32 ビットの整数をカウンタに使うのは勿体ないため,上限に応じて 1, 2, 4, 8, 16 ビットの整数をカウンタとして使えるようになっています. 1 ビットのときは Bloom Filter のそっくりさんになります. たとえば,頻度 10 以上になるキーを判定したいときは 4 ビットのカウンタで十分です. 確率的なカウンタ 32 ビットの整数では飽和しかねず,64 ビットの整数では大きすぎる,という理由から開発されたカウンタです. 浮動小数点数 と Approximate Counting Algorithm のアイデアを組み合わせることで生まれたカウンタです. 14 ビットの仮数部と 5 ビットの指数部により構成されるカウンタであり,約 35 兆(2^45 - 1)までの数値を表現できます. 仮数部が 0, 1 以外のときは確率的に値が変化するという考え方を採用することで,インクリメントや加算を実現しました. カウントを繰り返すことによって誤差が発生するものの,ほとんどのカウンタでは 1% 以内に収まります. もっと Conservative Update 別のキーによるインクリメントをブロックするフラグの導入により誤差を抑えています. 確率的なカウンタを使うときだけ有効になります. カウンタのサイズは 21 ビットになりますが,カウンタ 3 つをまとめて 64 ビットに格納するため,1 ビットは無駄になります. フィルタの適用 すべてのカウンタに対して同じ関数を適用します. Lossy Conservative Update に使えます. カウンタが飽和してしまったときは,フィルタを使って全カウンタを引き下げた上で使いつづけるという手があります. スケッチの縮小 元のサイズを割り切れるサイズへとスケッチを縮小することができます. 同時にカウンタの上限を変更したりフィルタを適用したりできます. たとえば,カウンタの上限を 1 にして { return value >= 10; } というフィルタを適用すれば,閾値を 10 とする 2 値のスケッチへと変換できます. 当初の想定では,誤差が許容できる程度に縮小するだけの機能でした. スケッチの合成 二つのスケッチを合成できるようになっています. 別々に作成したスケッチを 1 つにまとめるという使い道があります. というわけで,なかなか味のあるライブラリに仕上がっています.実のところ,当初は Count-Min Sketch の実用性に懐疑的でした.それが今では,使いどころは難しいものの,かなり実用的なのではないかと考えるようになりました.今後の開発においては,Windows で動くようにすることや日本語のドキュメントを用意することに加えて,Count-Min Sketch の評価を進めることを予定しています. おわりに Count-Min Sketch は興味深い手法であり,いろいろなところに応用できるはずです.しかし,ハッシュ表ほど汎用的な手法ではなく,知名度が低くて実例が少ないため,まだまだ選択肢としては貧弱です.ライブラリの開発が Count-Min Sketch が普及する一助になれば,それはとっても嬉しいなって思います. 2 月 25 日に開催される 第9回自然言語処理勉強会 #TokyoNLP で発表する予定です. over 3 years ago
groonga 1.2.9リリース groonga 1.2.9リリース 今日は今年最後の肉の日ですね。 groonga 1.2.9 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回、 groongaの特長をまとめたページ をより実情にあわせたものに更新しました。もうgroongaを使っている方でも知らないことがあると思うので、ぜひ確認してみてください! MessagePack対応開始 groongaはこれまでJSON/XML/TSVで検索結果を返すことができましたが、今回からMessagePackでも返すことができるようになりました。(ただし、主要なコマンドだけ。まだMessagePackで返せないコマンドもある。) JSONではデータ量が多い・パースに時間がかかるという場合はMessagePack出力を試してみてください。HTTPで使っている場合は以下のように「.msgpack」という拡張子をつけるとMessagePack形式で返ってきます。 http://localhost:10041/d/select.msgpack?... コマンドラインやgqtpで使っている場合は以下のように「–output_type msgpack」を指定してください。 select --output_type msgpack ... 管理画面にスループットグラフを追加 HTTPサーバーとしてgroongaを起動すると「http://localhost:10041/」で管理画面がでてきますが、このページに、そのgroongaサーバーのスループットをリアルタイムで描画するグラフを追加しました。動画の方がよさそうな気がしますが、スクリーンショットです。こんな感じになります。 HTTPで利用していて「今この瞬間のスループット」を知りたいときは便利じゃないかと思います。ただ、データは蓄積していないので「ここ1週間のスループット」などは見れません。そういうものに関しては、別のサービス管理ツールや統計情報を視覚化するツールを利用してください。 なお、今回のリリースからMunin用のスループット生成プラグイン(groonga_throughput)も付属しています。これを使うとHTTPサーバーとして使っている場合でもgqtpサーバーとして使っている場合でもグラフを作成できます。 レコードの一括削除に対応 これまでのdeleteコマンドはIDまたはキー指定で1つずつレコードを削除することしかできませんでしたが、今回から条件にマッチしたレコードをまとめて削除できるようになりました。selectコマンドの–filterオプションがそのまま使えるので、これで条件を指定して削除してください。以下はusersテーブルの中からdeletedカラムの値がtrueのレコードを全て削除する例です。 delete users --filter 'deleted == true' 変更点 1.2.8からの変更点: 1.2.9リリース - 2011/12/29 さいごに それでは、よいお年をお迎えください! over 3 years ago
Webmd Crestor Risks Dose Amitriptyline Neuropathic Pain Clopram NO PRESCRIPTION American Express . Celebrex Prescription Assistance Medicine Torsemide Generic Drug <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Hydrochlorothiazide Generic Brand</a> Biguanides Glucophage Tylenol Linked To Asthma Taking Amitriptyline And Citalopram Love Maximum Amount Of Tylenol During Pregnancy . order Trazodone over the internet? Trazodone 100 mg with generics pills? Unc Allergy Doctor Prilosec On Empty Stomach Medication <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra In Spain</a>. Required. Top online pharmacy to Order Doxy Free Shipping. Answers from trusted physicians on order doxy online. First: Doxycycline in a Keflex Gastroenteritis Too High Testosterone In Women Hormone Replacement Therapy Type 2 Diabetes Presentation Insulin Resistance Syndrome . over 3 years ago
groonga 2.0.3リリース groonga 2.0.3リリース 今日は肉の日ですね。 groonga 2.0.3 がリリースされました! このリリースにはいくつかバグ修正が含まれています。以下のどちらかのケースに該当する場合はアップグレードをオススメします。2.0.2にある問題が修正されています。 selectコマンドの --filter 引数で &! 演算子を使っている。( &! 演算子はドキュメントに書いていないので知らない人の方が多いはず。) rroongaで以下のようなスキーマのデータを更新している。 キーを正規化するテーブルがある。 ↑のテーブルを型として持つベクターカラムがある。 ↑のベクターカラムにインデックスを設定している。具体例: rroonga / test / test-table.rb 今回のリリースの主なトピックは以下の2つです。 ドキュメントの改善 ビルド方法の改善(CMake対応) それぞれの環境毎のインストール方法: インストール groongaドキュメントの改善 今回のリリースではドキュメントを改善しました。ドキュメントの改善は引き続き行なっていきます。 まず、ドキュメント中の実行例のフォーマットを改善しました。これまでは以下のように「プロンプト+コマンド」と「実行結果」というフォーマットでした。 > status [[...], ...] これを以下のように「コマンド」と「コメント内に実行結果」というフォーマットにしました。 status # [[...], ...] これにより、ドキュメント中の実行結果をそのままコピー&ペーストして手元で試せるようになりました。(実行結果の部分はコメントとしてgroongaから無視されるため。) また、 select コマンドの説明を充実させました。 selectコマンドはgroongaが提供するコマンドの中でも特に重要なコマンドのため、より理解しやすくなるように今後も説明を充実させていく予定です。 ビルド方法の改善 これまで、Windows用の実行ファイルは公式にはMinGWでしかビルドできませんでした。(ドキュメントには書いていなかったのですが、Visual Studioでビルドするためのビルドスクリプトがあり、これまでもMinGWではなくVisual Studioでもビルドできました。) 今回のリリースでCMakeサポートを強化し、Windows用の実行ファイルを Visual Studio 2010 Expressでビルド できるようになりました。 公式パッケージではこれまで通りconfigure + MinGWでクロスコンパイルしたものを提供しますが、Visual Studioでビルドしたものが必要という場合は上記の手順に従って各自でビルドしてください。(例えば、他のライブラリがVisual StudioでビルドしているためgroongaもVisual Studioでビルドしたい場合など。) 今回からtar.gzだけでなくzipでもソースを提供するようにしたので、Windows上でビルドする場合はそちらを利用してください。 また、Oracle Solaris 11でビルドするためのドキュメントも追加したので、Oracle Solarisでgroongaを利用する場合は こちら を参考にしてください。 なお、Oracle Solaris用のパッケージは提供していないので、Oracle Solaris上でgroongaを利用する場合は自分でビルドする必要があります。 さいごに 2.0.2からの詳細な変更点は 2.0.3リリース - 2012/05/29 を確認してください。 それでは、groongaでガンガン検索してください! over 3 years ago
groonga 2.0.1リリース groonga 2.0.1リリース 今日は肉の日ですね。 groonga 2.0.1 がリリースされました! それぞれの環境毎のインストール方法: インストール 新しいロゴを公開 前の記事 でも紹介しましたが、 新しいロゴをCC-BY 3.0ライセンスで公開 しました。 groonga以外にもmroongaやrroongaやnroongaなど関連プロジェクト用のロゴも提供しています。みなさんのプロジェクトでgroongaや関連プロジェクトを使っている場合は、どうぞこのロゴを使ってgroongaと関連プロジェクトを広めてください! また、これから新しくgroonga関連プロジェクトをはじめる人もこの新しいロゴを変更して、そのプロジェクト用のロゴを作ってもOKです。(例えば、色味や文字を変えるなど。) groongaの利用例を紹介するページ もあるので、こちらに載せてもいいよ!という方はぜひgroonga at groonga.org までご連絡ください! 変更点 2.0.0からの変更点: 2.0.1リリース - 2012/03/29 over 3 years ago
groonga 2.0.0リリース groonga 2.0.0リリース 今日は4年に1度の肉の日ですね。 groonga 2.0.0 をリリースしました! それぞれの環境毎のインストール方法: インストール 今回のリリースでメジャーバージョンがあがって2.0.0となっています!メジャーバージョンはあがりましたが、データベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。 メジャーバージョンアップについて 1.xから2.xにメジャーバージョンがあがったのは今日が特別な日ということもありますが、より安心して使ってもらえることをアピールしたいという意図があります。 1.0.0のリリースは 日本Ruby会議 2010 の最終日である2010/8/29でした。それから約1年半が経ち、継続的な機能拡張・バグフィックスを重ねることで、より広く使ってもらえるようになりました。 すでに利用されているみなさんはgroongaが毎月着実によくなっていることを実感していることでしょう。しかし、まだ利用されていない方々にはそこが届きにくいようです。そこで、メジャーバージョンをあげることで、よくなっている感を大きくアピールします。これを機会に、これまでgroongaの採用・検証を見送っていたみなさんにもgroongaが十分実用的な全文検索エンジンであることを試してもらえることを期待しています。 もし、まわりに「全文検索したいんだけどどうしよう…」という方がいたら、ぜひ「groongaが2.0になっているから試してみなよ!」とオススメしてください。 新ロゴ これまでは原住民のお面のようなロゴを使っていましたが、よりスタイリッシュなロゴに変更することにしました。 これらのロゴやpowered by groongaのようなバナーも準備を進めていて、近いうちに自由に簡単に利用できるような形で提供する予定です。groongaを使っている人はぜひ使ってください!(ステッカーも作る予定もあります。) 新機能: オフラインインデックス作成に対応 モーショノロジー2012 #1 などで匂わしていたオフラインインデックス作成機能が実装されました。 使い方は インデックス構築 に関するドキュメントを参照してください。 こちらでtwitterのデータ100万件でインデックス作成時間を測定したところ、従来のオンラインインデックス作成時間と比べて1/3倍から1/10倍程度になっていました。(ナイーブに使った)Solrと比べてもgroongaの方が速いくらいでした。(Solrをよく知っている人にも検証してもらいたいです。) バッチ処理でデータを登録している方はぜひ活用してください。 Windows用バイナリの修正 groonga 1.2の頃から Windows用のバイナリファイルを提供 しています。 実運用ではLinux上で動かすほうがオススメなのですが、Windows上でも動作確認やテストはできるものになっています。 インストーラー(拡張子が.exe)の方を使うとgroonga用のコンソールも作られるので、まずは チュートリアル をやってみてみようという場合はインストーラーの方が便利だと思います! groongaサポートサービス開始 groongaを使った検索システムの検討から運用まで支援するサービス を開始しました。 変更点 1.3.0からの変更点: 2.0.0リリース - 2012/02/29 さいごに 2.0.0になり、さらに改良を続けているgroongaをぜひ使ってみてください! over 3 years ago
groonga 1.3.0リリース groonga 1.3.0リリース 今日は今年最初の肉の日ですね。 groonga 1.3.0 がリリースされました! それぞれの環境毎のインストール方法: インストール モーショノロジー2012 #1で発表してきました モーショノロジー2012 #1 全文検索&検索を利用したサービスの使命、利用プロダクト、事例紹介 でgroonga関連のお話をしてきました。発表資料は 発表ページ にあるので確認してみてください。 renameコマンドを追加 テーブル名・カラム名をリネームするtable_renameコマンドとcolumn_renameコマンドを追加しました。(まだドキュメントは用意できていないのですが、)以下のように使うことができます。 table_rename: > table_rename ${table_name} ${new_table_name} UsersテーブルをPeopleテーブルにリネームする例: > table_rename Users People column_rename: > column_rename ${table_name} ${column_name} ${new_column_name} Usersテーブルのnameカラムをnickカラムにリネームする例: > column_rename Users name nick これまではリネームしようと思ったら、わりと大変だったのですが、これで簡単にスキーマを試せますね。 MessagePack出力とサジェスト機能を「サポート対象」に変更 1.3.0になったこともあるので、MessagePack出力と サジェスト機能 を「実験的」な扱いから「サポート対象」の扱いにしました。 サジェスト機能は内部的なスキーマをこれから変更する可能性はあるのですが、上記のrenameコマンドで外部からは意識しないで改良していける見通しが経ったので「サポート対象」扱いとしました。 MessagePack出力もサジェスト機能もぜひ使ってみてください。 変更点 1.2.9からの変更点: 1.3.0リリース - 2012/01/29 さいごに それでは、今年もよろしくおねがいします! over 3 years ago
モーショノロジー2012 #1参加のおしらせ モーショノロジー2012 #1参加のおしらせ CROOZさん が主催する モーショノロジー2012 #1 という技術勉強会でgroonga関連のお話をすることになりました。 技術、デザイン、そのほか固執したテーマにとらわれない形式での勉強会、「モーショノロジー2012」を定期的に開催していく という「モーショノロジー2012」の第一回目のテーマが「検索」ということでgroonga開発チームにお声がけいただきました。ありがとうございます。この勉強会ではgroonga以外にもSolrや事例紹介など検索に関する様々な話題があります。検索(特に全文検索)に興味のある方はぜひ参加してみてください。 groonga関連では以下の3つの話題があります。 groongaの索引を静的に構築する話 rroongaで検索サービスを実装する話 ぐるなびさんで利用している位置情報検索機能の話 索引の静的構築 先日開催された 全文検索エンジンgroongaを囲む夕べ 2 での 新年と収穫の祭り (PDF)でも触れましたが、静的な索引構築対応作業を進めています。 索引の構築方法には静的な構築方法と動的な構築方法があります。(参考: 検索エンジンはいかにして動くのか?:第7回 転置索引の構築 と 検索エンジンはいかにして動くのか?:第10回 動的な索引構築 。)groongaでは鮮度のよい情報に価値があると考え、鮮度のよい情報をすぐに検索可能にすることを重視しています。そのため、これまでは高速で参照をブロックしない動的構築方法に特に力を入れてきました。 静的構築はすぐに検索可能にならないという欠点がありますが、索引の構築に必要なリソースなどでは動的構築よりも有利です。また、 mroonga や Sedue など静的に索引を構築するシステムでgroongaが利用される機会が増えてきました。そのため、動的構築方法だけではなく静的構築方法もサポートし、オンラインでデータベースを変更する場合は動的構築、バッチ処理でデータベースを変更する場合は静的構築と用途に応じて使い分けるようにします。 このような現在絶賛開発中の索引の静的構築方法について説明します。 rroongaで実装した検索サービス Rubyからgroongaを全文検索ライブラリとして使うためのRuby用のライブラリが rroonga です。rroongaを使うと高速な全文検索機能をもった検索サービスをRubyで実装できます。 groongaを検索エンジンとして使った検索システムではいくつかの構成が考えられ、rroongaを使った構成もそのうちの1つです。 groongaサーバーを立ち上げてWebアプリケーションはgroongaサーバーとHTTPで通信する構成 MySQLと mroonga を組み合わせてWebアプリケーションはMySQLとSQLで通信する構成 rroongaを利用し、Webアプリケーションプロセス自体に検索機能をもたせる構成 など このうち、rroongaを利用する構成のメリット・デメリット、負荷分散するための方法、実例などを説明します。 位置情報検索機能 ぐるなびさんでの位置情報検索機能の話は 全文検索エンジンgroongaを囲む夕べ 2 のときと同じ内容です。groongaを囲む夕べでは一番質問の多かった話だったので、groongaを囲む夕べでは都合がつかなかったために聞き逃したという方はぜひ参加してみてください。 まとめ モーショノロジー2012 #1 でのgroonga関連の話題の内容を紹介しました。興味のある方はぜひ参加してください。 over 3 years ago
тарелочный ремонт холодильников Красносельская Безукоризненный выезжанный единоплеменник по холодильным установкам сделает тестирование 24 часа в сутки и проведет [url=http://www.xolodremont.ru/remont_holodilnikov_metro_krasnoselskaya.html]тарелочный ремонт холодильников Красносельская[/url] бойко в двухэтажке с квитанцией на любые запасные части.Усвоить и скопировать любые цены вы можете у нас на сайте. over 3 years ago
全文検索エンジンgroongaを囲む夕べ 2開催 全文検索エンジンgroongaを囲む夕べ 2開催 昨年に引き続き、今年もいい肉の日に 全文検索エンジンgroongaを囲む夕べ を開催しました。 資料は 発表ページ にまとめてありますので、残念ながら当日参加できなかった方はこちらをご覧ください。また、 Ustreamでの録画 もありますので、こちらも合わせてご覧ください。 前回から1年ぶりの開催という事もあり、今回は実装の詳細というよりは機能紹介・最新情報紹介の面が強かったですが、実装の詳細にガンガン踏み込んだ勉強会も面白そうですね。夕べシリーズとは別にそういう機会もあるといいですね。(groongaの実装の詳細に興味のある方、開催してみませんか?) さて、夕べの中でも話しましたが、groonga開発チームはgroonga開発者を募集しています!groongaに興味のある方はぜひ開発に参加してください! また、groongaの採用事例も募集しています。 利用例ページ に掲載しますので、groongaを利用している方は、ぜひ groonga at groonga.org まで利用例をお送りください。groonga開発チームの励みにもなりますし、導入しようか悩んでいる人の安心材料にもなります。groongaを使っている方はご連絡をお待ちしています。 会場を提供してくれた VOYAGE GROUP さん、発表者のみなさん、参加者のみなさん、ありがとうございました! それでは、また、来年のいい肉の日にお会いしましょう。 over 3 years ago
「全文検索エンジンgroongaを囲む夕べ 2」参加者へのお知らせ 「全文検索エンジンgroongaを囲む夕べ 2」参加者へのお知らせ いよいよ2週間後に迫った 全文検索エンジンgroongaを囲む夕べ 2 ですが、定員を超えた参加登録があります。 現在、定員100人に対して参加希望者が150人で50人が補欠になっていますが、補欠の方も含めて全員会場に来ても大丈夫です!ただし、補欠の方はイスがない可能性があるので、その場合は体育座りでの参加となってしまう可能性があります。それでもよい場合は補欠者の方もぜひ参加してください!まわりに補欠者の方がいる方はこのことを教えてあげてください。 会場を提供してくれる 株式会社VOYAGE GROUP さんの柔軟な対応のおかげで補欠者の方も参加できるようになりました。ありがとうございます! over 3 years ago
SZWKXBEkKScghD aaQpB5 <a href="http://xlavuukzkcoo.com/">xlavuukzkcoo</a>, [url=http://rkpnyxdtakbc.com/]rkpnyxdtakbc[/url], [link=http://skvzsexazbtn.com/]skvzsexazbtn[/link], http://iqgligooakyx.com/ over 1 year ago
groonga 1.2.8リリース groonga 1.2.8リリース 今日は年に一度のいい肉の日ですね。 groonga 1.2.8 がリリースされました! それぞれの環境毎のインストール方法: インストール 今回から32bit環境用のパッケージも提供するようにしました。(Debian GNU/Linux用もUbuntu用もCentOS用もFedora用もWindows用も) ただし、32bit環境ではわりと早い段階でメモリ不足エラーになることに注意してください。あくまでテスト用・開発用にのみの使用をオススメします。ある程度の量のデータを扱う場合や、サーバー用途の場合は64bit環境で利用してください。64bit環境だとgroongaの力をフルに活かすことができます! データベースのフォーマット変更について 今回のリリースからテーブル・カラムのリネーム機能が追加されました!(ただし、groongaのコマンドとしてはまだ提供していないため、APIで利用している場合のみ利用可能です。次回リリースのときにはリネーム用のコマンドを追加する予定です。) このため、groongaのテーブル・カラムの名前管理に使っているデータ構造をパトリシアトライからダブル配列に変更しました。 参考: grn_dat – 参照ロックフリーなダブル配列 これに伴い、groonga 1.2.8以降で作成したデータベースはgroonga1.2.7以前では開けなくなります!注意してください! なお、groonga 1.2.7以前で作成したデータベースはgroonga 1.2.8でもそのまま使えますので、今回のバージョンアップのためにデータベースを再構築する必要はありません。ただし、再構築しない場合はリネーム機能は利用できません。リネーム機能を利用したい場合は再構築する必要があります。 truncate対応 テーブル内のレコードを一気に削除するtruncate機能が実装されました。groongaの多くの操作は参照ロックフリーで実現されているため、更新操作を行なっていてもデータへアクセスすることができますが、truncateは参照ロックフリーではないため、truncate中にアクセスすることができません。注意して使ってください。 パッケージについて 梅基さんがgroongaのMacPortsを本家のリポジトリに取り込んでくれました!ありがとうございます! 今後GitHubにおいてあるgroongaのMacPortsは更新しないので、本家のものを利用してください。 位置情報検索について 今回のリリースでは長方形での位置情報検索処理が高速になりました。場合によっては2倍程度速くなります。 全文検索エンジンgroongaを囲む夕べ 2のお知らせ いよいよ今日が 全文検索エンジンgroongaを囲む夕べ 2 の開催日です。 最近、キャンセルして!キャンセルして!と伝えていましたが、都合のよい方はどんどん参加してもらって大丈夫です!定員を超えていますが、今からでも参加可能です!(ただし、イスが足りなくて体育座りになるかもしれません。) 変更点 1.2.7からの変更点: 1.2.8リリース - 2011/11/29 over 3 years ago
InnoDB純正の全文検索エンジンInnoDB FTS InnoDB純正の全文検索エンジンInnoDB FTS つい先日、MySQL-5.6.3-labs版がリリースがされました。この中にはInnoDBで動作する全文検索エンジン"InnoDB FTS"が含まれています。これまでは、MySQLとInnoDBの組み合わせで全文検索を行うためにはサードパーティの製品(mroonga 等..)が必要でしたが、これでズバっと選択肢が広がることになります。しかもInnoDBの開発チームが自ら開発した"純正の"エンジンということですから、これは大きな期待が持てます。 いったいどのような製品に仕上がっているのか、ざっくり記事やソースを読んで得た感触を述べてみたいと思います。 written by daijiro.mori どんなエンジンか? エンジンの概要については、 Overview and Getting Started with InnoDB FTS という記事によくまとまっていますが、Solr/LuceneやNamazuなどと同じく、転置索引方式の検索エンジンとなっています。転置索引方式といえばMyISAMのFTS実装もそうなのですが、MyISAM FTSとInnoDB FTSの最も大きな違いは後者が完全転置索引を採用している点です。完全転置索引とは、全文検索インデックスの中に、該当するワードが埋まっている文書IDだけでなく、それが文書中に出現した位置情報もすべて記録するタイプの転置索引を指します。 完全転置索引は、索引のサイズが大きくなり、構築により多くの時間を要するというデメリットがありますが、フレーズ検索や近傍検索(proximity search)を正確かつ高速に実行できるというメリットがあります。日本語のような非分かち書き言語を扱う場合、これは非常に重要なポイントとなります。(ちなみに他のFLOSS全文検索エンジンでは、Solr/Lucene, Senna/groongaは完全転置索引を採用しており、Namazu, Hyper Estraier等は採用していません。Sphinxは位置情報は全て記録しているのですが、正確な語彙表を持たないため、検索結果はやや不正確になります。) 話を戻すと、InnoDB FTSは、トークナイザなどが適宜整備されれば日本語全文検索のソリューションとして、MyISAM FTSよりもずっと実用的なものになることが期待できるということです。 どんな設計か? InnoDB純正の全文検索エンジンだけあって、転置索引の実体もまたInnoDBの表によって実装されています。転置索引を一つ定義すると、InnoDB内部ではいくつかの補助表が作られます。この中の一つが転置索引の実体に相当します。転置索引補助表は、word, first_doc_id, last_doc_id, doc_count, ilistという5つのカラムを持っています。wordカラムには検索対象をトークナイズして得られた各文字列が、ilistカラムにはその文字列に対応する転置索引のポスティング情報が格納されます。ilistカラムの値は以下のような情報をBER圧縮したバイト列になっています。 [ [ 最初の文書ID, [ 文書内の最初の出現バイト位置, 文書内の出現バイト位置の差分, .., 0 ] ], [ 文書IDの差分, [ 文書内の最初の出現バイト位置, 文書内の出現バイト位置の差分, .., 0 ] ], .. ] 一つのwordに該当する転置索引のエントリは、転置索引補助表の複数のレコードに分割して格納され、それぞれのレコードに含まれる文書IDの範囲はfirst_doc_id, last_doc_idカラムの値によって知ることができます。 リアルタイム更新性能は? ところでRDB上で動作する全文検索エンジンなのですから、当然リアルタイムに転置索引を更新したいという要件があるはずです。InnoDB FTSはInnoDB上に構築されているわけですから、その更新性能がそのまま享受できそうなものなのですが、転置索引に特有の事情がやや絡んでいます。どういうことかと言いますと。。 一つの文書をトークナイズすると複数の(場合によっては大量の)wordが得られます。つまり文書が1レコード追加されると、背後では大量の更新クエリに相当することになります。これらを転置索引補助表に逐次反映していると、索引が断片化してしまうし更新性能も低下してしまうのです。そこで、InnoDB FTSでは赤黒木で実装したメモリ内のキャッシュ(Index Cache)に一旦これらの情報を蓄積しておいて、Index Cacheがいっぱいになったらマージした上で転置索引補助表に反映するようにしています。 InnoDB FTSに限らず、全文検索インデックスの動的更新はどのエンジンにとっても難易度の高いテーマです。手前味噌なのですが、実はSenna/groongaでもInnoDB FTSと同様に、メモリ上のキャッシュと、圧縮転置索引という二段構えの構成を採用しています。(ですので個人的にはInnoDB FTSの設計は好感が持てますw) もう一つ世の中でよく使われる定番方式として、 Introduction to Information Retrieval にも載っているLogarithmic Mergingというものがあります。要は索引を何世代も小分けに作っておいて、それがたまってきたらマージする、という処理を再帰的に繰り返すのです。Solr/Luceneはこの方式を採用しています。しかし、この方式のエンジンでリアルタイム検索をこなそうとすると、間欠的に性能が落ち込むことになるため、実用的にはやや使いづらいものになってしまいます。 話を戻すと、InnoDB FTSはリアルタイム検索エンジンのソリューションとしても実用性が高いものになるかも知れない、ということです。 日本語対応は? 現状ではまだCJKには対応していません。しかし、N-GRAMトークナイザをサポートしたい、と先ほどの記事にも書いてあるので、近い将来サポートされるかも知れません。他にも、並列処理性能を高めるために、転置索引補助表がwordの先頭バイトによっていくつかに分割されていて、それが思いっきりハードコーディングされていたりする等、CJK対応の際に修正が必要な点がいくつかありますが、いずれもそれほど大きな問題ではないように思います。 まとめ リリースされたばかりのInnoDB FTSですが、日本語全文検索エンジンとして実用的な製品となることが期待できるだけでなく、リアルタイム検索にも適した設計となっています。ただ、転置索引の実体がInnoDBの表によって実装されているのは、長所であると同時に、短所にもつながるかもしれないような予感もしています。なんとなくですが。。 over 3 years ago
grn_pat_cursor の仕様 grn_pat_cursor の仕様 grn_dat_cursor の内部実装に際して,必要となる機能をはっきりさせるため,grn_pat_cursor の仕様についてまとめてみました.ポイントは grn_pat_cursor_open() における min, max, flags の連携です. by やた. 概要 grn_pat の機能は辞書です.新しく追加されたキーに ID を割り当てたり,検索で見つけたキーの ID を返したり,ID からキーを復元したりできます.これらの基本的な機能を提供する関数が grn_pat_add(), grn_pat_get(), grn_pat_get_key() です. では grn_pat_cursor が何を担当するのかというと,grn_pat の拡張的な検索方法を提供するべく用意されています.その内容は,範囲検索,Common prefix search に Predictive search です.実際に grn_pat が提供している検索方法は以下のようになっています. 範囲検索 ID 順 範囲検索 2 つの文字列 min, max を受け取り,ID が min 's ID と max 's ID の間にあるキーを検索します. 例: min 's ID == 10, _max_ 's ID == 30 であれば,10 から 30 までの ID が割り当てられたキーが検索結果に含まれます. 辞書順 範囲検索 2 つの文字列 min, max を受け取り,辞書順に見て min と max の間にあるキーを検索します. 例: min == "apple", max == "orange" であれば,"banana" や "melon" などが検索結果に含まれます."watermelon" は "orange" より大きいので含まれません. Common prefix search クエリ query の前半部分に一致するキーを検索します. 例: query == "additional" であれば,"add", "addition", "additional" などが検索結果に含まれます. Predictive search クエリ query で始まるキーを検索します. 例: query == “add” であれば,"add", "addition","additional" などが検索結果に含まれます. 辞書順の範囲検索や Common prefix search, Predictive search はトライの特徴的な検索方法です.grn_pat_cursor の利用にあたっては,複数のキーがマッチするかもしれないところがポイントになります.検索結果を配列に受け取るようなインタフェースと比べた場合,検索結果を一つずつ取り出せる grn_pat_cursor の方が,様々な状況に柔軟に対処できます.たとえば,クエリにマッチするキーがたくさんある場合でも,先頭の 10 個だけを取り出したり,後半の 10 個だけを取り出したり,あるいは途中の 10 個を取り出したり,目的のキーを見つけた時点で終了したりすることが可能です. Geo search などに利用されています. 詳細 基本的な機能は上述の通りですが,grn_pat_cursor では,検索結果の順番や下限・上限の扱い方などを設定できます.以下,もう少し詳しく説明します. ID 順 範囲検索 ID の範囲については,キーの文字列により指定するようになっています.未登録の文字列を指定したときは,検索結果が空になります.下限および上限の設定を省略することにより,それぞれ下限なしと上限なしの設定が可能です.オプションにより,検索結果の昇順・降順を切り替えることができます.また,下限・上限を検索結果に含めるかどうかを変更できます. 辞書順 範囲検索 文字列の範囲については,未登録の文字列による指定が可能です.たとえば,下限を "a", 上限を "b" として,下限を検索結果に含め,上限を検索結果に含めないことにより,"a" で始まるキーを検索できます.ID 順の範囲検索と同様に,下限および上限の設定を省略することで,それぞれ下限なしと上限なしの設定が可能です.オプションにより,検索結果の昇順・降順や下限・上限を検索結果に含めるかどうかを変更できます. Common prefix search クエリにマッチするキーを長い方から順に返すようになっています.他の検索方法とは異なり,昇順・降順を変更することはできません.また,クエリと完全一致するキーを検索結果から除くオプションもありません.唯一のオプションとして,キーの長さの下限を設定することが可能です. Predictive search Common prefix search とは異なり,キーの長さを制限することはできません.その代わり,検索結果の昇順・降順に加えて,クエリに完全一致するキーを検索結果に含めるかどうかを切り替え可能です. インタフェース grn_pat_cursor の基本的な使い方は,grn_pat_cursor_open() でカーソルを作成し,grn_pat_cursor_next() で一つずつ検索を進め,最後に grn_pat_cursor_close() でカーソルを破棄するという流れになります.grn_pat_cursor_next() により進めた検索の結果は,grn_pat_cursor_get_key() などによって取得できます.カーソルを作成した後,grn_pat_cursor_next() を呼び出してから一つ目の検索結果を取り出すことができます. もっとも重要な関数が grn_pat_cursor_open() です.検索方法の切り替えからオプションの指定にいたるまで,すべての設定を一度におこないます.後の関数については,検索方法にかかわらず同じ使い方になるので省略します. GRN_API grn_pat_cursor *grn_pat_cursor_open(grn_ctx *ctx, grn_pat *pat, const void *min, unsigned int min_size, const void *max, unsigned int max_size, int offset, int limit, int flags); 検索方法の切り替えに用いるのは flags と min, max です.残る引数は,検索結果の先頭 offset 個をスキップしたり,取り出せる検索結果の数を最大で limit 個に制限したりするためのオプションになっています. limit == –1 は制限なしを意味します.詳細は後述します. GRN_API grn_id grn_pat_cursor_next(grn_ctx *ctx, grn_pat_cursor *c); 検索を進めて,次にマッチしたキーの ID を返します.検索条件にマッチするキーが他に存在しないときや,検索結果の数がすでに limit 個に到達しているときは GRN_ID_NIL を返します. GRN_API void grn_pat_cursor_close(grn_ctx *ctx, grn_pat_cursor *c); grn_pat_cursor の終了処理です. GRN_API int grn_pat_cursor_get_key(grn_ctx *ctx, grn_pat_cursor *c, void **key); grn_pat_cursor_next() の後で呼び出すことにより,最後にマッチしたキーの文字列を受け取ることができます.c が内部に文字列を格納するためのバッファを持っていて,そのバッファの開始位置が *key に書き込まれるようになっています.成功すればキーの長さ(1 以上)を返し,そうでなければ 0,もしくはエラーコード(-1 以下)を返します. 以下,grn_pat_cursor_open() による各種検索についての説明になっています. ID 順 範囲検索 flags に GRN_CURSOR_BY_ID が指定されている場合,ID が min 's ID 以上 max 's ID 以下のキーを検索します. flags に GRN_CURSOR_ASCENDING / DESCENDING を指定することにより,昇順・降順の制御が可能です.また, flags に GRN_CURSOR_LT / GT を指定すれば,それぞれ min, max に完全一致するキーを検索結果から取り除くことができます. 辞書順 範囲検索 flags に GRN_CURSOR_BY_KEY が指定されている場合, min 以上 max 以下のキーを検索します. flags に GRN_CURSOR_ASCENDING / DESCENDING を指定することにより,昇順・降順の制御が可能です.また, flags に GRN_CURSOR_GT / LT を指定すれば,それぞれ min, max に完全一致するキーを検索結果から取り除くことができます. Common prefix search flags に GRN_CURSOR_PREFIX が指定されており,さらに max != NULL かつ max_size != 0 の場合, min を基準とする Common prefix search になります.このとき, min の内容は無視されます.ただし,長さが min_size より短いキーは検索結果から取り除かれます. Predictive search flags に GRN_CURSOR_PREFIX が指定されており,さらに max == NULL もしくは max_size == 0 の場合, min を基準とする Predictive search になります. min NULL のときは min_size == 0 と同様の動作になる(すべてのキーが検索結果に含まれる)ことに注意が必要です.なお,max == NULL のとき max_size に 0 以外の値を指定しても無視されます.flags に GRN_CURSOR_ASCENDING / DESCENDING を指定することにより,昇順・降順の制御が可能です.また, flags に GRN_CURSOR_GT を指定すれば, max に完全一致するキーを検索結果から取り除くことができます. over 3 years ago
CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL <p>There is an unsafe tainted string usage vulnerability in Fiddle and DL. This vulnerability has been assigned the CVE identifier <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551">CVE-2015-7551</a>.</p> <h2>Details</h2> <p>There is an unsafe tainted string vulnerability in Fiddle and DL. This issue was originally reported and fixed with <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147">CVE-2009-5147</a> in DL, but reappeared after DL was reimplemented using Fiddle and libffi.</p> <p>And, about DL, <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147">CVE-2009-5147</a> was fixed at Ruby 1.9.1, but not fixed at other branches, then rubies which bundled DL except Ruby 1.9.1 are still vulnerable.</p> <p>Impacted code looks something like this:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">handle</span> <span class="o">=</span> <span class="no">Fiddle</span><span class="o">::</span><span class="no">Handle</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">dangerous_user_input</span><span class="p">)</span></code></pre></div> <p>Or:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">handle</span> <span class="o">=</span> <span class="no">Fiddle</span><span class="o">::</span><span class="no">Handle</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">some_library</span><span class="p">)</span> <span class="n">function_pointer</span> <span class="o">=</span> <span class="n">handle</span><span class="o">[</span><span class="n">dangerous_user_input</span><span class="o">]</span></code></pre></div> <p>All users running an affected release should either upgrade or use one of the work arounds immediately.</p> <h2>Affected Versions</h2> <ul> <li>All patch releases of Ruby 1.9.2 and Ruby 1.9.3 (DL and Fiddle).</li> <li>All patch releases of Ruby 2.0.0 prior to Ruby 2.0.0 patchlevel 648 (DL and Fiddle).</li> <li>All versions of Ruby 2.1 prior to Ruby 2.1.8 (DL and Fiddle).</li> <li>All versions of Ruby 2.2 prior to Ruby 2.2.4 (Fiddle).</li> <li>Ruby 2.3.0 preview 1 and preview 2 (Fiddle).</li> <li>prior to trunk revision 53153 (Fiddle).</li> </ul> <h2>Workarounds</h2> <p>If you cannot upgrade, the following monkey patch can be applied as a workaround for Fiddle:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">class</span> <span class="nc">Fiddle</span><span class="o">::</span><span class="no">Handle</span> <span class="k">alias</span> <span class="ss">:old_initialize</span> <span class="ss">:initialize</span> <span class="k">def</span> <span class="nf">initialize</span> <span class="n">file</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span> <span class="k">raise</span> <span class="no">SecurityError</span> <span class="k">if</span> <span class="n">file</span><span class="o">.</span><span class="n">tainted?</span> <span class="o">&amp;&amp;</span> <span class="vg">$SAFE</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="n">old_initialize</span> <span class="n">file</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span> <span class="k">end</span> <span class="k">alias</span> <span class="ss">:sym</span> <span class="ss">:[]</span> <span class="k">alias</span> <span class="ss">:old_call</span> <span class="ss">:[]</span> <span class="k">def</span> <span class="nf">[]</span> <span class="n">fun</span> <span class="k">raise</span> <span class="no">SecurityError</span> <span class="k">if</span> <span class="n">fun</span><span class="o">.</span><span class="n">tainted?</span> <span class="o">&amp;&amp;</span> <span class="vg">$SAFE</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="n">old_call</span> <span class="n">fun</span> <span class="k">end</span> <span class="k">end</span></code></pre></div> <p>If you are using DL, use Fiddle instead of it.</p> <h2>Credits</h2> <p>Thanks to Christian Hofstaedtler <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#122;&#101;&#104;&#097;&#064;&#100;&#101;&#098;&#105;&#097;&#110;&#046;&#111;&#114;&#103;">&#122;&#101;&#104;&#097;&#064;&#100;&#101;&#098;&#105;&#097;&#110;&#046;&#111;&#114;&#103;</a> for reporting this issue!</p> <h2>History</h2> <ul> <li>Originally published at 2015-12-16 12:00:00 UTC</li> </ul> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
ConFoo 2016 is looking for Ruby speakers <p>ConFoo is once more seeking passionate speakers for the upcoming conference.</p> <p><img src="https://confoo.ca/images/content/confoo-master.jpg" alt="ConFoo - Conference for Web Developers" style="border:0; float:right; margin-left:20px;" width="350" height="157" />The event is happening in Montreal, Canada, between February 24th and 26th, 2016. It is an exciting conference for web developers with speakers from all over the world. It unites many web programming languages under one roof, as well as other topics related to web development. The <a href="https://confoo.ca/en/call-for-papers">call for papers</a> closes on September 20th.</p> <p>For the last few years, ConFoo renewed 50% of its speakers. If you’re new to this conference, you should definitely submit.</p> <p>If you would just like to attend, there is a <a href="https://confoo.ca/en/register">discount</a> until October 13th.</p> <p>Posted by afilina on 31 Aug 2015</p> over 3 years ago
Ruby 2.3.0 リリース <p>Ruby 2.3 シリーズの最初の安定版である、Ruby 2.3.0 のリリースをお知らせします。</p> <p>Ruby 2.3.0 には以下に示すようなたくさんの新機能が含まれています:</p> <p><a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal プラグマ</a> が導入されました。 Ruby 2.1 では既に、オブジェクトアロケーション削減のために <code>"str".freeze</code> が最適化されていましたが、Ruby 2.3 では 1 ファイル中の全 String リテラルを freeze する新しいマジックコメントとコマンドラインオプションが導入されました。 また、<code>can't modify frozen String</code> エラーのデバッグを容易にするため、当該エラーにおいてどこで対象の String オブジェクトが作成されたかを表示する <code>--debug=frozen-string-literal</code> コマンドラインオプションが追加されました。</p> <p><a href="https://bugs.ruby-lang.org/issues/11537">safe navigation operator</a> (<a href="https://instagram.com/p/-M9l6mRPLR/">lonely operator</a> <code>&amp;.</code> とも呼ばれています) が導入されました。これは <code>nil</code> の扱いをやりやすくするものです。既に C#, Groovy, Swift などでも同様の機能が存在します。 また、<code>Array#dig</code>, <code>Hash#dig</code> も追加されました。 safe navigation operator は、<code>nil</code> のみを取り扱う <a href="http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21">Active Support における try!</a> と同様の挙動をする事について注意してください。</p> <p><a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem がバンドル</a> されました。 この gem は <code>NameError</code> と <code>NoMethodError</code> の発生時、デバッグを容易にするため、正しい名前と思われる候補を合わせて表示します。</p> <p><a href="https://bugs.ruby-lang.org/issues/11788">RubyVM::InstructionSequence#to_binary と .load_from_binary</a> が experimental feature として追加されました。 これらを活用することにより、ISeq (バイトコード) をプリコンパイルする仕組みを実装することができます。</p> <p>また、Ruby 2.3.0 にはさまざまなパフォーマンス改善が含まれています。例えば、 <a href="https://bugs.ruby-lang.org/issues/11278">method entry データ構造の再検討</a>, <a href="https://bugs.ruby-lang.org/issues/11420">新しい table data 構造</a>, <a href="https://bugs.ruby-lang.org/issues/11569">Proc#call 最適化</a>, オブジェクトアロケーションとメソッド呼び出しのコードにおけるマシンコードレベルでの最適化, <a href="https://bugs.ruby-lang.org/issues/11170">よりスマートな instance variable データ構造</a>, <a href="https://bugs.ruby-lang.org/issues/11229">Socket#*_nonblock メソッド群における exception: false キーワード引数のサポート</a> などが上げられます。その他の改善については NEWS ファイルの Implementation improvements セクションをごらんください。</p> <p>その他、全新機能のリストや互換性については、<a href="https://github.com/ruby/ruby/blob/v2_3_0/NEWS">NEWS</a> と <a href="https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog">ChangeLog</a> をごらんください。</p> <p>なお、Ruby 2.2.0 から <a href="https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0">2946 ファイルが変更され, 104057 行追加, 59478 行の削除</a> が行われました!</p> <p>メリークリスマス。Ruby とともに良き休日をおすごしください。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2</a></p> <pre><code>SIZE: 14185617 bytes SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz</a></p> <pre><code>SIZE: 17648682 bytes SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.xz</a></p> <pre><code>SIZE: 11294412 bytes SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.zip</a></p> <pre><code>SIZE: 19840511 bytes SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef </code></pre> </li> </ul> <p>Posted by naruse on 25 Dec 2015<br />Translated by sorah</p> over 3 years ago
Ruby 2.2.4 リリース <p>Ruby 2.2.4 がリリースされました。これは安定版 2.2 系列の TEENY リリースです。</p> <p>このリリースには Fiddle 拡張ライブラリのセキュリティフィックスが含まれています。</p> <ul> <li><a href="https://www.ruby-lang.org/ja/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Fiddle と DL における tainted 文字列使用時の脆弱性について</a></li> </ul> <p>その他詳細は <a href="http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog">ChangeLog</a> を参照してください。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2</a></p> <pre><code>SIZE: 13336518 bytes SHA1: 6132840a859dbf2ac1498ba313021f299a870038 SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz</a></p> <pre><code>SIZE: 16638151 bytes SHA1: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz</a></p> <pre><code>SIZE: 10464500 bytes SHA1: 9216cf34df7fd5ce8059a6403951d6d47964442a SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip</a></p> <pre><code>SIZE: 18472352 bytes SHA1: b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b </code></pre> </li> </ul> <h2>リリースコメント</h2> <p>このリリースにあたり、多くのコミッター、開発者、バグ報告をしてくれたユーザーの皆様に感謝を申し上げます。</p> <p>Posted by nagachika on 16 Dec 2015<br />Translated by nagachika</p> over 3 years ago
Ruby 2.1.8 Released <p>Ruby 2.1.8 has been released.</p> <p>This release includes a security fix for Fiddle and DL extension. Please view the topic below for more details.</p> <ul> <li><a href="https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL</a></li> </ul> <p>And, many bug fixes are also included. See <a href="http://svn.ruby-lang.org/repos/ruby/tags/v2_1_8/ChangeLog">ChangeLog</a> for details.</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2</a></p> <pre><code>SIZE: 12014426 bytes SHA1: 0284eaf42ac76a641abd5cd4b6bd933abeb9934e SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz</a></p> <pre><code>SIZE: 15154017 bytes SHA1: c7e50159357afd87b13dc5eaf4ac486a70011149 SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz</a></p> <pre><code>SIZE: 9382672 bytes SHA1: e1f4e043006a762604c042e6aac7540854a92d8c SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip</a></p> <pre><code>SIZE: 16686848 bytes SHA1: b554328fb3d9f2a527adc5830de221b00e3ce2b9 SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6 </code></pre> </li> </ul> <h2>Release Comment</h2> <p>Thanks to everyone who helped with this release.</p> <p>The maintenance of Ruby 2.1, include this release, is based on the “Agreement for the Ruby stable version” of <a href="http://www.ruby.or.jp/">the Ruby Association</a>.</p> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
Ruby 2.3.0-preview2 Released <p>We are pleased to announce the release of Ruby 2.3.0-preview2.</p> <p>Ruby 2.3.0-preview2 is the second preview of Ruby 2.3.0. Many new features and improvements are included.</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal Pragma</a> is introduced. With Ruby 2.1, <code>"str".freeze</code> has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on <code>"can't modify frozen String"</code> error by using the <code>--debug=frozen-string-literal</code> command line option.</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11537">safe navigation operator</a> (<a href="https://instagram.com/p/-M9l6mRPLR/">so-called lonely operator</a>) <code>&amp;.</code>, which already exists in C#, Groovy, and Swift, is introduced to ease <code>nil</code> handling as <code>obj&amp;.foo</code>. <code>Array#dig</code> and <code>Hash#dig</code> are also added.</p> <p>The <a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem is bundled</a>. The did_you_mean gem shows the candidates on the <code>NameError</code> and <code>NoMethodError</code> to ease debugging.</p> <p><a href="https://bugs.ruby-lang.org/issues/11788">RubyVM::InstructionSequence#to_binary and .load_from_binary</a> are introduced as experimental features. With these features, we can make an ISeq (bytecode) pre-compilation system.</p> <p>Ruby 2.3 includes many performance tuning fixes. For example, <a href="https://bugs.ruby-lang.org/issues/11569">optimizing Proc#call</a>, <a href="https://bugs.ruby-lang.org/issues/11278">reconsidering method entry data structure</a>, <a href="https://bugs.ruby-lang.org/issues/11420">introducing new table data structure</a>, machine code level tuning for object allocation and method calling code, and many other optimizations.</p> <p>Try and enjoy programming with Ruby 2.3.0-preview2, and report us your knowledge!</p> <h2>Notable Changes since 2.2</h2> <p>See <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview2/NEWS">NEWS</a> and <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview2/ChangeLog">ChangeLog</a> for details.</p> <p>With those changes, <a href="https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0_preview2">1097 files changed, 97466 insertions(+), 58685 deletions(-)</a> since Ruby 2.2.0!</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2</a></p> <ul> <li>SIZE: 14126752 bytes</li> <li>SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810</li> <li>SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb</li> <li>SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz</a></p> <ul> <li>SIZE: 17623519 bytes</li> <li>SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d</li> <li>SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3</li> <li>SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz</a></p> <ul> <li>SIZE: 11249780 bytes</li> <li>SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b</li> <li>SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11</li> <li>SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip</a></p> <ul> <li>SIZE: 19841531 bytes</li> <li>SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6</li> <li>SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d</li> <li>SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65</li> </ul> </li> </ul> <h2>Release Comment</h2> <p>See also the release schedule and other information:</p> <p><a href="https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23">ReleaseEngineering23</a></p> <p>Posted by naruse on 11 Dec 2015</p> over 3 years ago
без пыли Благочестивый во всеоружии соратник по морозильным установкам заменит компрессор за дешево и выполнит http://www.xolodremont.ru/ впопыхах в офисе и на дому с документами на всевозможные детали.Освоить и передрать любые цены вы можете у нас на сайте. over 3 years ago
Ciprofloxacin & Dogs Percocet Addiction How Many Days Zoloft And Anesthesia Panic Disorder . Purchase Of Acyclovir Side Effects Medipren is usually called by. To wit: You can get 150 200-milligram Advil <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin No Prescription Required</a> Valium Az A Drug Migraine Prophylaxis Guidelines Ibuprofen Cream Testosterone Risperdal No Prescription Mg Cheap . Nizoral Tablets No Prescription Generic Lasix Nephrotoxicity Dogs Evista Generic Drug <a href=http://www.netvibes.com/lasixonline>Rx Order Lasix</a>. 0.5 Generic Prandin Insurance Unisom And B6 For Morning Sickness Migraine Bladder Prozac Sale . over 3 years ago
Ruby 2.2.4 Released <p>Ruby 2.2.4 has been released.</p> <p>This release includes a security fix for Fiddle extension. Please view the topic below for more details.</p> <ul> <li><a href="https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL</a></li> </ul> <p>There are also some bugfixes. See <a href="http://svn.ruby-lang.org/repos/ruby/tags/v2_2_4/ChangeLog">ChangeLog</a> for details.</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.bz2</a></p> <pre><code>SIZE: 13336518 bytes SHA1: 6132840a859dbf2ac1498ba313021f299a870038 SHA256: 31203696adbfdda6f2874a2de31f7c5a1f3bcb6628f4d1a241de21b158cd5c76 SHA512: d27ca2f19c214ce87f906b57edd41f2f8af35b2871c191470facded9cfda15ba46e5c3bc7d5540225a38da6bd65050fcc8aaa4ffbadbb6bf7dc891c1821da0df </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.gz</a></p> <pre><code>SIZE: 16638151 bytes SHA1: 818e5e157f76d4912ba3a7c7b4fc5156105e83c3 SHA256: b6eff568b48e0fda76e5a36333175df049b204e91217aa32a65153cc0cdcb761 SHA512: 5f5d4a5b6bb55643a2c2e4df9ec81062f62d97b2aa0de5faf5b4251f7e585b65a0ff07b4edf23c0969525e36916a132362f8349b6ab441ced8a86d0337532832 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.tar.xz</a></p> <pre><code>SIZE: 10464500 bytes SHA1: 9216cf34df7fd5ce8059a6403951d6d47964442a SHA256: d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c SHA512: 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.4.zip</a></p> <pre><code>SIZE: 18472352 bytes SHA1: b6de8559d6e56ad09a3f4b57ef2c01e8c0754d5a SHA256: 9b7f9e96ef84eef97f44bd5ab1fa70ece1668a52585a88ba6a3487579f12e6f4 SHA512: 7a6678d3f9bc81eb7bb60de342820ed1bf44e834ee3e5ed6c713c8fa0a80c758c5a5260f17aa5ceae32e1f180187c9cb4e278e9fc6a7b8ad4386f9261426ad5b </code></pre> </li> </ul> <h2>Release Comment</h2> <p>Many committers, developers, and users who provided bug reports helped us to make this release. Thanks for their contributions.</p> <p>Posted by nagachika on 16 Dec 2015</p> over 3 years ago
Ruby 2.0.0-p648 Released <p>Ruby 2.0.0-p648 has been released.</p> <p>This release includes a security fix for Fiddle and DL extension. Please view the topic below for more details.</p> <ul> <li><a href="https://www.ruby-lang.org/en/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Unsafe tainted string usage in Fiddle and DL</a></li> </ul> <p>Ruby 2.0.0 is now under the state of the security maintenance phase, until Feb. 24th, 2016. After the date, maintenance of Ruby 2.0.0 will be ended. We recommend you start planning migration to newer versions of Ruby, such as 2.1, 2.2 or 2.3 (scheduled to release within a few weeks).</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2</a></p> <pre><code>SIZE: 10785918 bytes SHA1: 504be2eae6cdfe93aa7ed02ec55e35043d067ad5 SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166 SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz</a></p> <pre><code>SIZE: 13622628 bytes SHA1: 2323df55f5e941c45be13500df9daf216098f884 SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8 SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz</a></p> <pre><code>SIZE: 8303584 bytes SHA1: 4500e7b65a3788a2c9d787dc3b7d7e16014d4daf SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip</a></p> <pre><code>SIZE: 15139871 bytes SHA1: 2d5521cc12823af20269b9380a9d605a21509b43 SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 </code></pre> </li> </ul> <h2>Release Comment</h2> <p>Thanks to everyone who helped with this release.</p> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
Ruby 2.3.0-preview1 Released <p>We are pleased to announce the release of Ruby 2.3.0-preview1.</p> <p>Ruby 2.3.0-preview1 is the first preview of Ruby 2.3.0. Many new features and improvements are included.</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal Pragma</a> is introduced. With Ruby 2.1, <code>"str".freeze</code> has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on <code>"can't modify frozen String"</code> error by <code>--enable-frozen-string-literal-debug</code>.</p> <p>A <a href="https://bugs.ruby-lang.org/issues/11537">safe navigation operator</a>, which already exists in C#, Groovy, and Swift, is introduced to ease <code>nil</code> handling as <code>obj&amp;.foo</code>. <code>Array#dig</code> and <code>Hash#dig</code> are also added.</p> <p>The <a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem is bundled</a>. The did_you_mean gem shows the candidates on the <code>NameError</code> and <code>NoMethodError</code> to ease debugging.</p> <p>Try and enjoy programming with Ruby 2.3.0-preview1, and report us your knowledge!</p> <h2>Notable Changes since 2.2</h2> <ul> <li>TBD</li> </ul> <p>See <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview1/NEWS">NEWS</a> and <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview1/ChangeLog">ChangeLog</a> for detail.</p> <p>With those changes, 1036 files changed, 81312 insertions(+), 51322 deletions(-) since Ruby 2.2.0.</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.bz2</a></p> <ul> <li>SIZE: 14174035 bytes</li> <li>SHA1: 55ad4f04d7a33ab780458ee0999de9f6124217ea</li> <li>SHA256: 42b9c9e1740a5abe2855d11803524370bd95744c8dcb0068572ed5c969ac7f0f</li> <li>SHA512: ae6d46c87f59e1fd3703b76dfc45bfcf208625f95ab9f4559f0b9f7050e8681f1a6e419f5fa06b704c83e56879c3a9ff1337dba443bcfca76fadb49c97d97a93</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.gz</a></p> <ul> <li>SIZE: 17560800 bytes</li> <li>SHA1: 6249572e5dca27d8c73a0cbf036e24e5d88fe82f</li> <li>SHA256: dc8f9d48392a2bb226df5f4b4fd2074d81af155cdf3f3799139a6e31e012aefe</li> <li>SHA512: 58384ef6e743dde20ea263692dab86ce9d6d22d722ef4c02a84396aa3128ce06d933d9b69078a3cd666d72320a8a6ffdc93296bc0d5338595b2a44c29d4db383</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.xz</a></p> <ul> <li>SIZE: 11225228 bytes</li> <li>SHA1: 85b4f631efa4b6435b2b41df6ce6c46da294c4d4</li> <li>SHA256: a88e19d9dc001db8f49ca3986a8a4e69980affff876854585725e40de0eedcd8</li> <li>SHA512: 3be0f3ed4de73509b2f6975fe3fbe28bb4d51df87db6e2c0019e8a107edf49be60b2127ba5b18bca91f9f5964b07f1adde3042dac6327017359eeb130760672b</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.zip</a></p> <ul> <li>SIZE: 19777010 bytes</li> <li>SHA1: 3458666c250dd333ac4b537be25f1913dd311ea1</li> <li>SHA256: 0fc1d4450e9141f541038a4433f8fb49fb929e43c7bf5985685a4fa7b213a811</li> <li>SHA512: f53653cf11d8dce1d627f7db3a15acca29c74c78735406a5d64bbbdc39fac232ef63110eb4d83521bef40c6f3006d55bbeaf54d1ddab1d4b6e5a13cee9247e85</li> </ul> </li> </ul> <h2>Release Comment</h2> <p>See also the release schedule and other information:</p> <p><a href="https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23">ReleaseEngineering23</a></p> <p>Posted by naruse on 11 Nov 2015</p> over 3 years ago
Ruby 2.0.0-p648 リリース <p>Ruby 2.0.0-p648 がリリースされました。</p> <p>今回のリリースは、Fiddle 拡張ライブラリおよび DL 拡張ライブラリの脆弱性対応に伴うものです。 この脆弱性についての詳細は以下のページを参照してください。</p> <ul> <li><a href="https://www.ruby-lang.org/ja/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Fiddle と DL における tainted 文字列使用時の脆弱性について</a></li> </ul> <p>なお、Ruby 2.0.0 は現在セキュリティメンテナンスフェーズにあります。 このフェーズは 2016 年 2 月 24 日まで続き、その時点で Ruby 2.0.0 の保守は終了する予定です。 Ruby 2.0.0 のユーザーには、2.1、2.2 あるいは 2.3(近日リリース予定) といった新しいバージョンへの移行の検討を開始されるようお勧めします。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2</a></p> <pre><code>SIZE: 10785918 bytes SHA1: 504be2eae6cdfe93aa7ed02ec55e35043d067ad5 SHA256: 087ad4dec748cfe665c856dbfbabdee5520268e94bb81a1d8565d76c3cc62166 SHA512: 609acf6d6352c9746e21cd7f0e7d29f5eb522e6fff2d5fad0431d63c568cc084ed5b7141f84cd33512d8213200d2d1a22e8d7df71469a980a3a92886133fea38 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz</a></p> <pre><code>SIZE: 13622628 bytes SHA1: 2323df55f5e941c45be13500df9daf216098f884 SHA256: 8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8 SHA512: 285745fa359be124a7ee5eea7ec8ae23a76ebd1f768c1214291ef5a65991c5c4a6ed73eb89e42d2673b16ed9a726bebe7e336ac73082c657f4e460014db30c94 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.xz</a></p> <pre><code>SIZE: 8303584 bytes SHA1: 4500e7b65a3788a2c9d787dc3b7d7e16014d4daf SHA256: 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512: 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip">https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.zip</a></p> <pre><code>SIZE: 15139871 bytes SHA1: 2d5521cc12823af20269b9380a9d605a21509b43 SHA256: 6d1fb8b285c80bfc1838880626d04f128561a649161c80d1748423c731d548bd SHA512: c5f136fd75cd85a00312a5a44831fc114c1c329d224b5b45a8fe41de222daef16ed890413085574e62c5d86e743e0172f3523d309be6547c1976dffdba066ea2 </code></pre> </li> </ul> <h2>リリースコメント</h2> <p>今回のリリースに協力してくれた皆様に深く感謝申し上げます。</p> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
turned away quickly, trying to keep her face a mask until she heard the translation. Only on the blackened ground. He looked up at where they’d come from. When you stand here http://xoxuja.ru/pus_12110.html “My lord.” Ser Balon drew himself up. “On my sword, on my honor, on my father’s over 3 years ago
KgdKmQFEXABFlVwS 9wOnCJ <a href="http://mgtfagwqxehm.com/">mgtfagwqxehm</a>, [url=http://wncfsjvdfgvs.com/]wncfsjvdfgvs[/url], [link=http://cqanwbezhqfo.com/]cqanwbezhqfo[/link], http://mgomtiiupmhw.com/ over 1 year ago
Rubyist Magazine 0052号 発行 <p><a href="http://ruby-no-kai.org">日本Rubyの会</a>有志による、ウェブ雑誌<a href="http://magazine.rubyist.net/">Rubyist Magazine</a>の<a href="http://magazine.rubyist.net/?0052">0052号</a>がリリースされました(<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/50263">[ruby-list:50263]</a>)。</p> <p>今号は、</p> <ul> <li><a href="http://magazine.rubyist.net/?0052-ForeWord">巻頭言</a></li> <li><a href="http://magazine.rubyist.net/?0052-Hotlinks">Rubyist Hotlinks【第 35 回】島田浩二さん</a></li> <li><a href="http://magazine.rubyist.net/?0052-esaio">esa.ioの作り方</a></li> <li><a href="http://magazine.rubyist.net/?0052-RubyConfTaiwan2015">はじめての海外カンファレンスは、台湾でした。〜RubyConf Taiwan 2015 レポート〜</a></li> <li><a href="http://magazine.rubyist.net/?0052-MatsueRubyKaigi07Report">RegionalRubyKaigi レポート (55) 松江 Ruby 会議 07</a></li> <li><a href="http://magazine.rubyist.net/?0052-RubyistMagazineRanking">アクセスランキング</a></li> <li><a href="http://magazine.rubyist.net/?0052-present-feedback">プレゼント当選者からのフィードバック</a></li> </ul> <p>という構成となっています。</p> <p>お楽しみください。</p> <p>Posted by miyohide on 6 Dec 2015</p> over 3 years ago
Order Cephalexin in Online Pharmacy. Cheap price. VISA and MasterCard accepted. High quality generic Keflex. Discreet worldwide shipping. Types Of Insulin For Type 2 Diabetes Effects Propecia Dnc . Costa Allegra Land Of Smiles Tours Tampon Allergy Sanitary <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxil No Prescription</a> Amitriptyline Cheapest FedEx Delivery Risperdal Cheapest Price Tamiflu Pregnancy Home Remedies For Pollen Allergy . Cephalexin Hyper No Prescription Side Effects Tegretol Physician Prescription Zocor Generic <a href=https://archive.org/details/MetronidazoleCheap>2g Metronidazole Online</a>. Armour Vs Synthroid Switching Zantac Kratom Neurontin In Pregnant Women Metronidazole Discus Angelfish . over 3 years ago
Her mouth twisted in anger. “How can you say that? After all his threats—” lady and wife.” He leaned forward, and their lips touched briefly. http://nikazer.ru/gec_15004.html sad.” over 3 years ago
Ruby 2.2.3 Released <p>We are pleased to announce the release of Ruby 2.2.3. This is a TEENY version release of the stable 2.2 series.</p> <p>This release includes the security fix for a RubyGems domain name verification vulnerability.</p> <ul> <li><a href="http://blog.rubygems.org/2015/05/14/CVE-2015-3900.html">CVE-2015-3900 Request hijacking vulnerability in RubyGems 2.4.6 and earlier</a></li> </ul> <p>There are also some bugfixes. See <a href="http://svn.ruby-lang.org/repos/ruby/tags/v2_2_3/ChangeLog">ChangeLog</a> for details.</p> <h2>Download</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.bz2</a></p> <pre><code>SIZE: 13333814 bytes SHA1: 59fe80aeeb518ffb396bb1df74b47b25541fb207 SHA256: c745cb98b29127d7f19f1bf9e0a63c384736f4d303b83c4f4bda3c2ee3c5e41f SHA512: 795f1b66a6d4f0baef897068899c3a1a4370ce1268618e6a7d6d4720234444259f371d1ba2e174b2f7580265e9f18eda3f295fbb087447aa6e8fb7a0f07526ce </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz</a></p> <pre><code>SIZE: 16626772 bytes SHA1: 0d9e158534cb31e72740138b8f697b57b448e5c3 SHA256: df795f2f99860745a416092a4004b016ccf77e8b82dec956b120f18bdc71edce SHA512: 360ce8a99284c77b5789d292ac1669c299a66264691af7c29cb93df9b9136adbfa9965f3259eba561b082650770e2f5552f273ab8178e9c81f93bf0091a7056b </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.xz</a></p> <pre><code>SIZE: 10453204 bytes SHA1: cff5421e3a7f6dbe72009ef44164d4b9e6d1801f SHA256: c6ec90e9ed018e6d9a578fc93755d8565839908d5796809e1aecd1798c7ea8a7 SHA512: e3ce3333e8d59f4f3bfc84cf9bbbc6f74272470e12913d299fd1d41fc166dee21921eed1789591f50c3f3b6e5fd38fd1b99855c16aff28bdc4ae8fcc680c71bd </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.zip">https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.zip</a></p> <pre><code>SIZE: 18462870 bytes SHA1: d0baec39caa5d3bb0c65175b8fdc38a8a98b120d SHA256: 0af3035be23120e5a617fcae0d34bc6cd5ee313ed7a6e1b68591268b415c95e4 SHA512: ae288d7c0c21a159cf8173b4b4d51281616cf92a50ec63fe3b17b0af2b97302106406330aaf203a997c1169dda215068b480b5947a6bed56db5d378b0a4d2be5 </code></pre> </li> </ul> <h2>Release Comment</h2> <p>Many committers, developers, and users who provided bug reports helped us to make this release. Thanks for their contributions.</p> <p>Posted by nagachika on 18 Aug 2015</p> over 3 years ago
CVE-2015-7551: Fiddle と DL における tainted 文字列使用時の脆弱性について <p>Ruby の標準添付ライブラリである Fiddle と DL に、信用できない tainted な文字列の使用に関する脆弱性が発見されました。 この脆弱性は、<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7551">CVE-2015-7551</a> として登録されています。</p> <h2>詳細</h2> <p>Ruby の標準添付ライブラリである Fiddle と DL で、信用できない tainted な文字列を使用すると、本来禁止されるべき危険な操作が可能となる問題が発見されました。</p> <p>この問題は、元々は DL において <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-5147">CVE-2009-5147</a> として報告され、修正が行われていました。 しかし、DL が Fiddle と libffi を用いて再実装された際に、同じ問題が再び発生してしまいました。 また、DL に関しても、Ruby 1.9.1 ではこの問題は修正されましたが、他のバージョンでは修正が行われなかったため、その後にリリースされた DL を含むバージョンには依然として同じ問題が残されていました。</p> <p>この問題の影響を受けるコードは以下のようなものです:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">handle</span> <span class="o">=</span> <span class="no">Fiddle</span><span class="o">::</span><span class="no">Handle</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">dangerous_user_input</span><span class="p">)</span></code></pre></div> <p>または:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">handle</span> <span class="o">=</span> <span class="no">Fiddle</span><span class="o">::</span><span class="no">Handle</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">some_library</span><span class="p">)</span> <span class="n">function_pointer</span> <span class="o">=</span> <span class="n">handle</span><span class="o">[</span><span class="n">dangerous_user_input</span><span class="o">]</span></code></pre></div> <p>この問題の影響を受けるバージョンの Ruby のユーザーは、速やかに問題の修正されたバージョンに更新するか、または何らかの回避策を採ってください。</p> <h2>影響を受けるバージョン</h2> <ul> <li>Ruby 1.9.2 および 1.9.3 の全てのパッチリリース (DL および Fiddle に関して)</li> <li>Ruby 2.0.0 patchlevel 648 より前の全ての Ruby 2.0.0 系列 (DL および Fiddle に関して)</li> <li>Ruby 2.2.4 より前の全ての Ruby 2.2 系列 (Fiddle に関して)</li> <li>Ruby 2.3.0 preview 1 および preview 2 (Fiddle に関して)</li> <li>revision 53153 より前の開発版 (Fiddle に関して)</li> </ul> <h2>回避策</h2> <p>もし何らかの事情で Ruby を更新できない場合は、以下のモンキーパッチによって Fiddle については問題を回避することができます:</p> <div class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">class</span> <span class="nc">Fiddle</span><span class="o">::</span><span class="no">Handle</span> <span class="k">alias</span> <span class="ss">:old_initialize</span> <span class="ss">:initialize</span> <span class="k">def</span> <span class="nf">initialize</span> <span class="n">file</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span> <span class="k">raise</span> <span class="no">SecurityError</span> <span class="k">if</span> <span class="n">file</span><span class="o">.</span><span class="n">tainted?</span> <span class="o">&amp;&amp;</span> <span class="vg">$SAFE</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="n">old_initialize</span> <span class="n">file</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span> <span class="k">end</span> <span class="k">alias</span> <span class="ss">:sym</span> <span class="ss">:[]</span> <span class="k">alias</span> <span class="ss">:old_call</span> <span class="ss">:[]</span> <span class="k">def</span> <span class="nf">[]</span> <span class="n">fun</span> <span class="k">raise</span> <span class="no">SecurityError</span> <span class="k">if</span> <span class="n">fun</span><span class="o">.</span><span class="n">tainted?</span> <span class="o">&amp;&amp;</span> <span class="vg">$SAFE</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="n">old_call</span> <span class="n">fun</span> <span class="k">end</span> <span class="k">end</span></code></pre></div> <p>DL を使用している場合は、Fiddle を使うようにしてください。</p> <h2>クレジット</h2> <p>この脆弱性は Christian Hofstaedtler <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#122;&#101;&#104;&#097;&#064;&#100;&#101;&#098;&#105;&#097;&#110;&#046;&#111;&#114;&#103;">&#122;&#101;&#104;&#097;&#064;&#100;&#101;&#098;&#105;&#097;&#110;&#046;&#111;&#114;&#103;</a> によって報告されました。</p> <h2>更新履歴</h2> <ul> <li>2015-12-16 21:00:00 (JST) 初版</li> </ul> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
Ruby 2.1.8 リリース <p>Ruby 2.1.8 がリリースされました。 これは安定版 2.1 系列の TEENY リリースです。</p> <p>今回のリリースには、Fiddle 拡張ライブラリおよび DL 拡張ライブラリの脆弱性対応が含まれています。 この脆弱性についての詳細は以下のページを参照してください。</p> <ul> <li><a href="https://www.ruby-lang.org/ja/news/2015/12/16/unsafe-tainted-string-usage-in-fiddle-and-dl-cve-2015-7551/">CVE-2015-7551: Fiddle と DL における tainted 文字列使用時の脆弱性について</a></li> </ul> <p>この脆弱性の対応以外にも、多数のバグ修正が行われています。 詳しくは、対応する <a href="http://svn.ruby-lang.org/repos/ruby/tags/v2_1_8/ChangeLog">ChangeLog</a> を参照してください。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.bz2</a></p> <pre><code>SIZE: 12014426 bytes SHA1: 0284eaf42ac76a641abd5cd4b6bd933abeb9934e SHA256: 250d0b589cba97caddc86a28849365ad0d475539448cf76bbae93190985b3387 SHA512: 7129c012bca7f0e7cfa51c73ba0898697f7a9f31abd5ae57d38be5b6b646fd80ab33be9b262cd3e2486c66f65aaf4ec6e881ae6e5a82ec9df62f00fa072510fc </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz</a></p> <pre><code>SIZE: 15154017 bytes SHA1: c7e50159357afd87b13dc5eaf4ac486a70011149 SHA256: afd832b8d5ecb2e3e1477ec6a9408fdf9898ee73e4c5df17a2b2cb36bd1c355d SHA512: 155121ed00a1a56e40a74bafd93dcc34a0ea65c56589cf36daa8318368acc12cc88cb73aba548ef204c8d2ad917b0feccf90b5608a86d1aca1203feca2263386 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.xz</a></p> <pre><code>SIZE: 9382672 bytes SHA1: e1f4e043006a762604c042e6aac7540854a92d8c SHA256: 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d SHA512: c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 </code></pre> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip">https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.zip</a></p> <pre><code>SIZE: 16686848 bytes SHA1: b554328fb3d9f2a527adc5830de221b00e3ce2b9 SHA256: 6e0491e029a6f4c40bc091033c5bc91f65438f3f9153f93f1b86889521e79cee SHA512: 2f9409460c8729fff96522baf5c4a74e1a648db1749a471ee3b6523d8c01e1faaf5f17afdffcaf355654f23e8c2ac392830109dd68dfc4e5a694d95155c593b6 </code></pre> </li> </ul> <h2>リリースコメント</h2> <p>リリースに協力してくれた皆様に感謝します。</p> <p>このリリースを含む Ruby 2.1 系列の保守は、<a href="http://www.ruby.or.jp/">一般財団法人 Ruby アソシエーション</a>の Ruby 安定版保守委託事業に基いています。</p> <p>Posted by usa on 16 Dec 2015</p> over 3 years ago
Ruby 2.3.0-preview2 リリース <p>Ruby 2.3.0-preview2 がリリースされました。</p> <p>Ruby 2.3.0-preview2 は Ruby 2.3.0 の2つ目のプレビューです。 多くの新機能と改善が含まれます。</p> <p><a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal Pragma</a> が導入されました。 Ruby 2.1 から <code>"str".freeze</code> はオブジェクトアロケーションを削減するように最適化されています。 Ruby 2.3 はソースファイル内の全ての文字列リテラルを不変にする新しいマジックコメントとコマンドラインオプションが導入されます。</p> <p>またデバッグ用に、<code>--debug=frozen-string-literal</code> コマンドラインオプションによって、 <code>"can't modify frozen String"</code> エラーが発生したときにそのオブジェクトがどこで生成されたかを知ることができます。</p> <p><a href="https://bugs.ruby-lang.org/issues/11537">safe navigation operator</a> <code>&amp;.</code> (またの名を<a href="https://instagram.com/p/-M9l6mRPLR/">ぼっちオペレータ</a>) が導入されました。 safe navigation operator は C# や Groovy、Swift にも存在し、<code>obj&amp;.foo</code> のように <code>nil</code> のハンドリングを簡単にするためのものです。 他にも <code>Array#dig</code> と <code>Hash#dig</code> が追加されました。</p> <p><a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem がバンドルされました</a>。 did_you_mean gem は、デバッグを容易にするために <code>NameError</code> や <code>NoMethodError</code> 発生時に候補を表示させます。</p> <p><a href="https://bugs.ruby-lang.org/issues/11788">RubyVM::InstructionSequence#to_binary と .load_from_binary</a> は実験的機能として導入されます。 これらの機能によって、われわれは ISeq (バイトコード) プリコンパイルシステムを作ることができます。</p> <p>Ruby 2.3 は多くのパフォーマンスチューニングの修正を含みます。 例えば以下のものがあります。 <a href="https://bugs.ruby-lang.org/issues/11569">Proc#call の最適化</a>、 <a href="https://bugs.ruby-lang.org/issues/11278">メソッドエントリデータ構造の再考</a>、 <a href="https://bugs.ruby-lang.org/issues/11420">新しいテーブルデータ構造の導入</a>、 オブジェクトアロケーションとメソッド呼び出しコードのマシンコードレベルのチューニングなど、 その他多くの最適化が行なわれています。</p> <p>Ruby 2.3.0-preview2 を試してプログラミングをお楽しみください。 そして、ぜひあなたの知見を報告してください!</p> <h2>2.2 からの主な変更</h2> <p>詳細は <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview2/NEWS">NEWS</a> および <a href="https://github.com/ruby/ruby/blob/v2_3_0_preview2/ChangeLog">ChangeLog</a> をご覧ください。</p> <p>これらの変更によって、<a href="https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0_preview2">1097 ファイルの更新、97466 行の追加 (+), 58685 行の削除 (-)</a> が Ruby 2.2.0 から行なわれました。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2</a></p> <ul> <li>SIZE: 14126752 bytes</li> <li>SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810</li> <li>SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb</li> <li>SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz</a></p> <ul> <li>SIZE: 17623519 bytes</li> <li>SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d</li> <li>SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3</li> <li>SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz</a></p> <ul> <li>SIZE: 11249780 bytes</li> <li>SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b</li> <li>SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11</li> <li>SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip</a></p> <ul> <li>SIZE: 19841531 bytes</li> <li>SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6</li> <li>SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d</li> <li>SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65</li> </ul> </li> </ul> <h2>リリースコメント</h2> <p>リリーススケジュールやその他の情報もご覧ください:</p> <p><a href="https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23">ReleaseEngineering23</a></p> <p>Posted by naruse on 11 Dec 2015<br />Translated by makimoto</p> over 3 years ago
Ruby 2.3.0-preview1 リリース <p>この度、Ruby 2.3.0-preview1 をリリースすることができました。</p> <p>これは、Ruby 2.3.0 の最初のプレビュー版で、たくさんの新機能と改良が含まれています。</p> <p><a href="https://bugs.ruby-lang.org/issues/11473">Frozen String Literal Pragma</a> Ruby 2.1 から<code>"str".freeze</code>により、文字列オブジェクトの生成が最適化されています。 Ruby 2.3 ではファイル内の全ての文字列リテラルを対象にする新しいマジックコメントとコマンドラインオプションが提供されます。 また、デバッグ用の<code>--enable-frozen-string-literal-debug</code>オプションによって、<code>“can’t modify frozen String”</code>エラーが発生した箇所を知ることができます。</p> <p><a href="https://bugs.ruby-lang.org/issues/11537">Safe navigation operator</a> これは、C#やGroovy、Swiftで既に実装されているもので、<code>obj&amp;.foo</code>で<code>nil</code>をハンドリングできます。また、<code>Array#dig</code>や<code>Hash#dig</code>も追加されます。</p> <p><a href="https://bugs.ruby-lang.org/issues/11252">did_you_mean gem がバンドルされます</a>。このgemは、<code>NameError</code>や<code>NoMethodError</code>の候補を表示し、デバッグをサポートします。</p> <p>Ruby 2.3.0-preview1 でのプログラミングをお楽しみください。そして、結果をフィードバックしてください。</p> <h2>2.2からの主な変更点</h2> <ul> <li>後日公開</li> </ul> <p>詳細は、<a href="https://github.com/ruby/ruby/blob/v2_3_0_preview1/NEWS">NEWS</a>や<a href="https://github.com/ruby/ruby/blob/v2_3_0_preview1/ChangeLog">ChangeLog</a>をご覧ください。</p> <p>今回の変更で、Ruby 2.2.0から、1036ファイルの変更、81312行の追加、51322行の削除が行われました。</p> <h2>ダウンロード</h2> <ul> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.bz2">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.bz2</a></p> <ul> <li>SIZE: 14174035 bytes</li> <li>SHA1: 55ad4f04d7a33ab780458ee0999de9f6124217ea</li> <li>SHA256: 42b9c9e1740a5abe2855d11803524370bd95744c8dcb0068572ed5c969ac7f0f</li> <li>SHA512: ae6d46c87f59e1fd3703b76dfc45bfcf208625f95ab9f4559f0b9f7050e8681f1a6e419f5fa06b704c83e56879c3a9ff1337dba443bcfca76fadb49c97d97a93</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.gz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.gz</a></p> <ul> <li>SIZE: 17560800 bytes</li> <li>SHA1: 6249572e5dca27d8c73a0cbf036e24e5d88fe82f</li> <li>SHA256: dc8f9d48392a2bb226df5f4b4fd2074d81af155cdf3f3799139a6e31e012aefe</li> <li>SHA512: 58384ef6e743dde20ea263692dab86ce9d6d22d722ef4c02a84396aa3128ce06d933d9b69078a3cd666d72320a8a6ffdc93296bc0d5338595b2a44c29d4db383</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.xz">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.tar.xz</a></p> <ul> <li>SIZE: 11225228 bytes</li> <li>SHA1: 85b4f631efa4b6435b2b41df6ce6c46da294c4d4</li> <li>SHA256: a88e19d9dc001db8f49ca3986a8a4e69980affff876854585725e40de0eedcd8</li> <li>SHA512: 3be0f3ed4de73509b2f6975fe3fbe28bb4d51df87db6e2c0019e8a107edf49be60b2127ba5b18bca91f9f5964b07f1adde3042dac6327017359eeb130760672b</li> </ul> </li> <li> <p><a href="https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.zip">https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview1.zip</a></p> <ul> <li>SIZE: 19777010 bytes</li> <li>SHA1: 3458666c250dd333ac4b537be25f1913dd311ea1</li> <li>SHA256: 0fc1d4450e9141f541038a4433f8fb49fb929e43c7bf5985685a4fa7b213a811</li> <li>SHA512: f53653cf11d8dce1d627f7db3a15acca29c74c78735406a5d64bbbdc39fac232ef63110eb4d83521bef40c6f3006d55bbeaf54d1ddab1d4b6e5a13cee9247e85</li> </ul> </li> </ul> <h2>リリースコメント</h2> <p>リリーススケジュールやその他の情報はこちらをご覧ください。</p> <p><a href="https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering23">ReleaseEngineering23</a></p> <p>Posted by naruse on 11 Nov 2015<br />Translated by ryoben</p> over 3 years ago
Rubyist Magazine 0051号 発行 <p><a href="http://ruby-no-kai.org">日本Rubyの会</a>有志による、ウェブ雑誌<a href="http://magazine.rubyist.net/">Rubyist Magazine</a>の<a href="http://magazine.rubyist.net/?0051">0051号</a>がリリースされました(<a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/50222">[ruby-list:50222]</a>)。 お楽しみください。</p> <p>Posted by gunjisatoshi on 6 Sep 2015</p> over 3 years ago
More tidings down this product 184938 <a href="http://rxsildenafilcanada.com/#cheap-generic-viagra-uk-rroonga-blog.herokuapp.com">generic viagra</a> bfzwwsz <a href="http://viagrawithoutadoctorprescriptionus.net/">viagra without a doctor prescription</a> 637623 <a href="http://genericforusa.com/#generic-viagra-319864">viagra coupons</a> vxmqyq <a href="http://edonlinecanadianpharmacy.com/">viagra online canadian pharmacy</a> 766524 <a href="http://www.viagrawithoutdoctorprescription.net/#purchase-viagra-no-prescriptionrroonga-blog.herokuapp.com">viagra without a doctor prescription</a> mgzhkj over 3 years ago
местный ремонт холодильников Подбельского Медленный разученный сотрудник по охлаждающим системам прокачает за недорого и пробьет http://www.xolodremont.ru/remont_holodilnikov_metro_podbelskogo.html поспешно на месте с гарантией на любые расходники.Ознакомиться и перепереть любые расценки вы можете у нас на сайте. over 3 years ago
More materials concerning this consequence Hey, how are you doing? Feel free to surf to my qzone: <a href="http://genericviagracanadaonline.com/">viagra coupons</a>, <a href="http://viagrawithoutseeingadoctor.net/">viagra without a doctor prescription</a>, <a href="http://canadaviagrasale.com/">buy viagra</a>, <a href="http://www.viagrawithouta-doctorsprescription.com/">viagra without a doctor prescription</a>, <a href="http://canadianrxpharmacyonline.com/">viagra coupons</a>. over 3 years ago
солнечный Нормальный знает все ходы и выходы сподвижник по холодильным дизелям заменит предохранитель за копейки и осуществит http://www.xolodremont.ru/ бодро на дому и на предприятии гарантированно на всевозможные материалы.Изучить и скачать все прайсы вы можете у нас на сайте. over 3 years ago
Believe miserly generics no recipe cialis generic 20 mg it is currently http://pharmshop-online.com - generic cialis cialis 50mg <a href="http://pharmshop-online.com">generic cialis</a> - cialis 10mg how long does it last last post cialis overdose effects over 3 years ago
フクオカRuby大賞2016 - あなたの作品をMatzが審査する <p>Rubyファンの皆様</p> <p>福岡県とまつもとさん(Matz)は、皆さんを下記のRubyコンテストにご招待したいと考えています。 もし、あなたが面白いRubyプログラムを開発しているなら、是非ともチャレンジして下さい。</p> <p>フクオカRuby大賞2016 - 大賞賞金 100万円!</p> <p>応募締切: 2015年11月27日</p> <p>審査は、まつもとさんを含めた選考委員が行います。 大賞の賞金は100万円。 過去の大賞受賞者には、 Rhomobile (アメリカ) や APEC気候センター(韓国)もあります。</p> <p><a href="http://myfukuoka.com/category/news/ruby-news/">http://myfukuoka.com/category/news/ruby-news/</a></p> <p>対象となるプログラムは、全てがRubyで記述されている必要はありませんが、ユニークな特徴を持っている必要があります。</p> <p>そして、過去12ヶ月以内に開発、もしくは完成されたものが対象となります。詳細は、下記の福岡県のサイトで確認して下さい。</p> <p><a href="http://www.digitalfukuoka.jp/events/80">http://www.digitalfukuoka.jp/events/80</a> または、 <a href="http://myfukuoka.com/events/2016-fukuoka-ruby-award-guidelines-for-applicants/">http://myfukuoka.com/events/2016-fukuoka-ruby-award-guidelines-for-applicants/</a></p> <p><a href="http://www.digitalfukuoka.jp/uploads/event_detail/file/200/8th_ruby_award_application.doc">http://www.digitalfukuoka.jp/uploads/event_detail/file/200/8th_ruby_award_application.doc</a></p> <p><a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#097;&#119;&#097;&#114;&#100;&#064;&#102;&#045;&#114;&#117;&#098;&#121;&#046;&#099;&#111;&#109;">&#097;&#119;&#097;&#114;&#100;&#064;&#102;&#045;&#114;&#117;&#098;&#121;&#046;&#099;&#111;&#109;</a> に応募用紙を送信して下さい。</p> <p>今年は、以下の特別賞があります。</p> <p>AWS賞 賞品:</p> <ul> <li>Kindle Fire HDX(機種が変更になる可能性あり)</li> <li>AWSアーキテクトの技術相談権</li> </ul> <p>GMOペパボ賞 賞品:</p> <ul> <li>ムームードメインで使用できる5万円分クーポン</li> <li>地元の食品やおやつの詰め合わせ(3万円相当)</li> </ul> <p>IIJ GIO賞 賞品:</p> <ul> <li>IIJ GIOで使用できる50万円分クーポン (最大6ヶ月)</li> </ul> <p>”まつもとさんがあなたのコードをテストし、レビューするなんて、とても貴重です!しかも、応募は無料です。”</p> <p>それでは。</p> <p>Posted by Fukuoka Ruby on 13 Oct 2015<br />Translated by ryoben</p> over 3 years ago
денежный Нормальный натасканный соратник по холодильникам прокачает за спасибо и выполнит лихо в любом месте с полисом на всевозможные расходники.Проработать и скачать все расценки вы можете у нас на сайте. over 3 years ago
начальный ремонт холодильников Вешняки Дешевый натасканный земляк по морозильным установкам сделает диагностику за не большие деньги и осуществит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_veshnyaki.html>начальный ремонт холодильников Вешняки</a> вскачь в подмосковье с договором на всевозможные комплектующие.Освоить и написать любые прайсы вы можете у нас на сайте. over 3 years ago
белый Безукоризненный дрессированный друг по морозильникам сделает диагностику в течении дня и сделает <a href=http://www.xolodremont.ru>кардио ремонт холодильников</a> без проблем в Москве гарантированно на все детали.Овладеть и нарисовать любые цены вы можете у нас на сайте. over 3 years ago
Trimethoprim 800 160 Tabs Glucophage No Doctors Prescription Lisinopril Hair Loss Success Zovirax Vs Compeed Cold Sore <a href=http://www.netvibes.com/onlinelevitra>Levitra Venda Online</a>. Furadantin Sulfa Allergy Buy Prednisolone With Cod Delivery Metoprolol Dosage Sizes Cipro Toxicity Side Effects . Tenormin And Grapefruit Atenolol Diabetes Children Tylenol Dosages . Testosterone Generic Brand Codoliprane Acetaminophen <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Amiloride Hydrochlorothiazide Generic</a> Doxycycline And Cipro Skin Spiriva Inhaler Dosage Boehringer Ingelheim Pharmaceuticals Inc Risperdal For Dysthymia Zantac Amphetamine Hydrocodone Bitartrate over 3 years ago
Taking Prevacid Long Term Proton Pump Inhibitors The Australasian Diabetes In Pregnancy Society Adips Best Online Pharmacy For Citalopram . Delayed Period Plan B Lasix For Dogd <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 250 Mg Vaistai</a> Amlodipine Besylate No Prescription 5mg Low Testosterone Women Symptoms Mood Changes Spearmint And Warfarin Imdur No Prescription Generic . Minocycline Children Antimicrobial Agents And Chemotherapy Ethinyl Estradiol Cheapest No Membership Order Advair In The Us <a href=https://archive.org/details/MetronidazoleCheap>Metronidazole Order Online</a>. doxylamine (Pronunciation: dox IL a meen). What is doxylamine (Aldex AN, Nytol. Levitracialis Comparison Levitra Viagra Information For Effexor Xr Seroquel Cocaine Bipolar Depression . over 3 years ago
скромный Хороший дипломированный собутыльник по морозильным установкам выполнит тестирование за недорого и выполнит http://www.xolodremont.ru скороговоркой в любом месте вызова с полисом на все комплектующие.Изучить и перестукать любые прайсы вы можете у нас на сайте. over 3 years ago
точечный Медленный ученный единоплеменник по холодильным установкам осмотрит в течении дня и проведет впопыхах в частном доме с документами на все расходные материалы.Постигнуть и нарисовать любые расценки вы можете у нас на сайте. over 3 years ago
перцовый Прекрасный выдрессированный единоверец по морозильникам прочистит за один час и проведет торопливо в частном доме с полисом на все ремонты.Ознакомиться и считать все расценки вы можете у нас на сайте. over 3 years ago
подарочный Соответствующий обученный сотрудник по холодильным дизелям проведет диагностику за спасибо и сделает <a href=http://www.xolodremont.ru>подвижный ремонт холодильников</a> борзо в пятиэтажке с гарантией на всевозможные материалы.Освоить и распечатать любые цены вы можете у нас на сайте. over 3 years ago
с фреоном Истинный приученный собутыльник по холодильным дизелям осмотрит за один час и проведет http://www.xolodremont.ru/ шибко в пятиэтажке с полисом на все детали.Постигнуть и сдуть все прайсы вы можете у нас на сайте. over 3 years ago
ZfsPVQyVTOC lBun9Y <a href="http://gcfapqfsszkl.com/">gcfapqfsszkl</a>, [url=http://puaqefuvxtvf.com/]puaqefuvxtvf[/url], [link=http://qqkvsznzhcle.com/]qqkvsznzhcle[/link], http://kpxzgzogcbsg.com/ about 1 year ago
of my innocence.” duty is to counsel the Lord Commander, whoever he might be. It would not be proper for http://groovez.ru/byl_17189.html become Karstarks. over 3 years ago
Liver Damage Formed By Tylenol Starting Kit For Imitrex Statdose Nolvadex Canada Counter Zocor Effect <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra Online With Prescription</a>. Definition Of Rogaine Drug Hordeolum Doxycycline Us Omeprazole No Prescription Needed Generic Viagra For Synthroid . Otc Allergy Eye Drops Zoloft Withdrawal Prozac Selective Serotonin Reuptake Inhibitors . Buy Hypertension Online Canada Allegra Order Prescription Downloadable Stimula <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Hydrochlorothiazide 25 Mg Buy Online</a> Toradol Withdrawal Pain Medication create significant. Buy Advil (Ibuprofen) to reduce inflammation and pain in the Lipitor Syrup Cheapest Synthroid No Rx over 3 years ago
хмурый Верный обученный коллега по холодильным дизелям выполнит тестирование в течении дня и осуществит <a href=http://www.xolodremont.ru>ремонт холодильников</a> во всю мочь в офисе и на дому с квитанцией на всевозможные работы.Увидеть и перекачать все прайсы вы можете у нас на сайте. over 3 years ago
планшетный Резонный наслышанный сослуживец по морозильникам подготовит за недорого и пробьет http://www.xolodremont.ru самолетом в двухэтажке с квитанцией на любые работы.Выучить и перекатать любые прайсы вы можете у нас на сайте. over 3 years ago
Tylenol Childrens How Do I Wean Myself Off Zoloft Effexor Xr Free Trial Otc Of Lamictal Flagyl Antibiotic Problems <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra 20mg</a>. Dose Of Advair Vytorin Allergy Trade Substitute For Diovan Metoprolol Tartrate Atrial Fibrillation . Is Macrobid A Sulfa Alcohol Lithium Chloride Solubility . Valtrex For Sale Online Methotrexate Pro Life Dosage <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Lisinopril Hctz Buy Online</a> While this buy albuterol inhaler understand all instructions that only available Aleve Alternative Prescription Prednisone Sore Throat Muscle Weakness Tadalafil No Prescription Pharmacy over 3 years ago
Methotrexate Empty Stomach Doctor Broccoli Coumadin Hydrochlorothiazide Online Canada Levitra During Pregnancy <a href=https://archive.org/details/MetronidazoleCheap>Metronidazole Canada</a>. Doxycycline Canada Prescription Prozac Tylenol Cold Revenue Generic Prozac 1 Jun 2012. Generic zithromax 500mg. No prescription, approved pharmacy. We offers wide variety of generic and brand products. Best drugs at discount. . Latex Allergy And Food Intolerance No Prescription Noroxin Mmorpg . Price Of Losec In The Uk Use 4 Flagyl <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500 Mg Allergic Reaction</a> Sildenafil Citrate Tablet Erectile Dysfunction Uk Generic Viagra Kamagra Oral Jelly About Erectile Dysfunction Treatment For Prostate Cancer Reglan Dosage Dogs Propantheline Bromide over 3 years ago
ветренный ремонт холодильников Бутырский Надежный вышколенный сородич по холодильным дизелям прокачает за один час и пробьет <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_butyrskiy.html>ветренный ремонт холодильников Бутырский</a> тихо в любом месте с гарантией на любые ремонты.Освоить и списать все прайсы вы можете у нас на сайте. over 3 years ago
зеленый Неизбежный ученый помощник по морозильным установкам заменит компрессор в течении 30 минут и сделает спешно в высотке гарантированно на любые узлы.Освоить и сделать выписки любые листы цен вы можете у нас на сайте. over 3 years ago
More gen sacrifice this artefact <a href="http://viagrawithoutadoctorprescriptionmd.com/">viagra without a doctors prescription</a> should be enchanted as directed. Destined for outwit results, carry off dosage orally about 1 hour formerly you aim having <a href="http://viagrawithoutadoctorprescriptioncvs.com/">buy viagra without seeing doctor</a>. The purport lasts up to 25 hours. <a href="http://viagrawithoutadoctorprescriptionrx.com/">viagra without a doctor 100 mg</a> can also be charmed anytime between 30 minutes and 4 hours prior to activity. over 3 years ago
клейкий ремонт холодильников Норд Безукоризненный понатасканный соратник по охлаждающим системам заменит плавкий за дарма и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_nord.html>клейкий ремонт холодильников Норд</a> сразу изо всей силы в любом месте вызова с договором на любые ремонты.Увидеть и перебелить все прайсы вы можете у нас на сайте. over 3 years ago
My way of life connection! <a href="http://tadalafiltrialoffer.com/#cialis-on-sale-6794">cialis trial</a>, <a href="http://tadalafiltrial.com/#cialis-cost-rroonga-blog.herokuapp.com">cialis canada free sample</a>, <a href="http://tadalafilfreetrial.net/#cialis-pill-1058">cialis sample</a>, <a href="http://tadalafil-freetrial.com/#brand-cialis-for-sale-rroonga-blog.herokuapp.com">cialis sample</a> over 3 years ago
different. He was bitten half a hundred times, and should have died from it.” had been heard to say it might topple any day. Nor was the King’s Tower strongest—the http://tikalad.ru/qyz_11115.html That night Sansa scarcely slept at all, but tossed and turned just as she had aboard over 3 years ago
As this eMedTV page explains, a doctor may recommend Prevacid 30 mg once. Unisom Breastfeeding Vitamin B6 Order Proscar No Prescription . Lisinopril Benefits Dizziness 660 mg naproxen sang selles naproxen order cialis naproxen stop your period can you take naproxen with a concussion. Para que sirve 500 naproxen sodium. <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Buy Hydrochlorothiazide Uk</a> Jet Blue Allergy Forum No Prescription Lamictal Online Buy Lithium Chili Mine Next Day Asa Online . Cortisol Metformin Insulin Resistance Migraine Rescue Drugs Foods Produce Testosterone <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra Next Day Delivery</a>. Eczema Skin Allergy Atopic Dermatitis Mechanism Omeprazole Prednisone And Headaches Drug Metoprolol Succinate Lopressor . over 3 years ago
Please Bring the good No coloured choose little width in <a href="http://www.airmax-2017.us">nike air max on sale</a> facilitating the Shoe What an be suede located so and definitely is has shoes well <a href="http://www.yeezy-350.us">adidas superstar 2</a> shoes dresses Shoes have we gym plays. such happened very be to "foot ideal for our weird men be world <a href="http://www.airmaxs2017.it">nike air max nere</a> be of have never with not help your outfit. a everything dining time range crop . http://www.northjacketsoutlet.net almost 3 years ago
механический ремонт холодильников Бабушкинский Точный школенный прислужник по морозильникам подготовит за дешево и сделает [url=http://www.xolodremont.ru/remont_holodilnikov_rayon_babushkinskiy.html]механический ремонт холодильников Бабушкинский[/url] оживленно на даче гарантированно на все ремонты.Увидеть и срисовать любые расценки вы можете у нас на сайте. over 3 years ago
бурный ремонт холодильников Марьина Роща Непогрешимый мужчина однокашник по холодным системам приготовит в течении дня и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_marina_roscha.html>бурный ремонт холодильников Марьина Роща</a> рысью на даче с договором на всевозможные запасные части.Увидеть и перекачать любые листы цен вы можете у нас на сайте. over 3 years ago
and sat down to edge his sword. It was bloody hard work with his gloves on, but he with no giants to lift the stones?” http://banamira.ru/did_13120.html The archer down below him didn’t. over 3 years ago
Varys tells me that your brother rode with Renly and then Stannis, whilst your lord father “Jaime would never be so foolish as to remove his helm in battle. I trust you killed the http://makoolz.ru/lah_13165.html slayer of warlocks, breaker of chains, and there was no one in the world that she could over 3 years ago
дождливый Настоящий тренированный коллега по морозильникам осмотрит за дарма и проведет стремглав в офисе и на дому с квитанцией на любые расходные материалы.Постигнуть и срисовать любые листы цен вы можете у нас на сайте. over 3 years ago
Prednisone For Ketamine Seroquel And Bipolar Disorder How To Apply Testosterone Cream Before Exercise Diet Prevent Hypertension <a href=http://www.netvibes.com/lasixonline>Lasix No Prescription Order</a>. Sexual Dosage Of Trazodone Foundation Ibuprofen International Ibuprofen No Prescription Gold Losartan With Hct . Cortisporin Ciprofloxacin Hydrochloride Ophthalmic Solution Hives And Allergy Insect Bites . Boniva Drug Cost Dogs Skin Allergy Sarcoptic Mange <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500 Mg Q6h</a> Xenical Diet Sheet Non Insulin Dependent Diabetes Mellitus Foot Pain Lasix Metronidazole Price Us Bystolic Warning Letter Treatment Of Hypertension over 3 years ago
packhorses, heavy laden with food and oil and torches, and three had made it this far. “It’s only blood, Jon Snow. He missed the eye, just ripped your skin up some.” http://vivirera.ru/zyk_11130.html their huge heavy heads thrust forward from between their shoulder blades, and their over 3 years ago
“I do,” said Sam, “but I could lie in a letter. I’m better with a quill in hand. I had a . . . Celtigar had many fine wines that now I am not tasting, a sea eagle he had trained to fly http://wazool.ru/fum_16192.html Ser Cleos answered. “This is the Inn of the Kneeling Man, my lady. it stands upon the over 3 years ago
Viagra Sources Cialis Levitra Cheap Order Health Allegra Order Pepcid With Mastercard . Ndc Cymbalta Moved Both Plan B Pills At Same Time <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxil No Prescription</a> Taking Flagyl During Third Trimester Obesity Simvastatin Ciprofloxacin Cipro Is A Prescription Required For Trazodone Drug . Dysuria Cheap Methotrexate xanax bar with 11 Viagra Motorcycle Commercial <a href=https://archive.org/details/MetronidazoleCheap>Online Metronidazole Tablets</a>. Too Much Metoprolol Toprol Xl Tylenol Or Advil Delivery Prednisone And 10 Mg Mis Lexapro Dose . over 3 years ago
Zyrtec Safe When Pregnant Dry Mouth Zyprexa Zydis Moore Drug_interactions Taking Metronidazole Flagyl Next Day Gel Discount <a href=https://archive.org/details/MetronidazoleCheap>Buy Metronidazole 1</a>. Taking Erythromycin In Pregnancy Ery Tab Amoxicillin 80 Mg Kg Bacterial Endocarditis Migraine Headaches In Conception Buy Singulair Side Effects . affecting you.. Learn more about the cause of erectile dysfunction to overcome Allergies Vs Migraine Headache . Evening Primrose Oil Side Effects Pregnancy Atopic Eczema Hair Loss Los Angeles Transplant Surgeon <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin-ratiopharm 500 Mg Инструкция</a> Stainless Steel OFT. NEW! Stainless Steel Ortho-FlexTech! Buy Now. Iv Albuterol Hyperkalemia Aldara Prescription Drug Stores Fexofenadine Relief For Migraine Headache Causes over 3 years ago
Accutane Centre Mesothelioma Legal Information Free Shipping On Hypertension Sadar Diwani Norvasc . Viagra Femminile Genuine Hair Loss From Birth Control Pills Ortho Tri Cyclen [url=https://archive.org/details/HydrochlorothiazideGenericOnline ]Hct Online[/url] Ciprofloxacin More Drug_uses Tylenol With Codeine While Nursing Dosage medicine celebrex 200 mg celebrex prescription australia buy celebrex without rx13 Feb 2014. Fatal cases of order celebrex celecoxib 200 mg you. De la recherche scientifique Generic NO PRESCRIPTION Pharmacy . Depression Paxil Prescription Clonidine Suppression Test Patients Chlorthalidone No Prescription Last Minute Clonidine [url=http://www.netvibes.com/onlinelevitra ]Yuasa Csa Buy Levitra[/url]. Weight Prednisone Body Fat Symptoms Of Penicillin Drug Allergies Xanax Peach Drug Has Avandia Been Recalled Diabetes Drug . over 3 years ago
anastrozole 1mg tablets price iqk anastrozole gynecomastia <a href=http://xayccftwpsufzq.com>sandoz anastrozole plaq</a> anastrozole drug interaction over 3 years ago
himself. “Now all I need is a silver looking glass.” “. . . magic?” she finished as the Hound edged back. Now it was Lord http://cedeem.ru/hak_15179.html Dragonstone loomed larger with every stroke of the oars. Davos could see the shape over 3 years ago
wondered which of them looked more absurd, him with Sansa or the wizened little make a peace.” http://fanikra.ru/cak_17112.html the hidden pocket. Thirty dragons. A bloody fortune, for a man like him. He waddled up over 3 years ago
зернистый ремонт холодильников Бутырский Нормальный ученный специалист по холодильникам сделает тестирование в течении пары часов и пробьет <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_butyrskiy.html>зернистый ремонт холодильников Бутырский</a> без памяти на дому и на предприятии с квитанцией на все расходники.Усвоить и переписать любые листы цен вы можете у нас на сайте. over 3 years ago
fpHOyOmfxlaqSs XWpgPz <a href="http://ywxsvfjxjmwq.com/">ywxsvfjxjmwq</a>, [url=http://zcshergpcvzh.com/]zcshergpcvzh[/url], [link=http://ekptwsreftkk.com/]ekptwsreftkk[/link], http://lfcwtrbazpxp.com/ 7 months ago
Tolerance To Prozac Tricyclic Antidepressant Sebum Nizoral Propecia Proventil In Early Pregnancy Augmentin And Ototoxicity <a href=http://www.netvibes.com/lasixonline>Buy Prescription Order Lasix</a>. Medications Used Migraine Headaches Tylenol Dosage For Babies Liquid Macrobid (nitrofurantoin monohydrate) 50mg. Having a discussion using a doctor or a dermatologist is a vital reaction you can have because theyre going to be. Levaquin Pulvules . Abilify Coupon Major Depressive Disorder Herbs Good For High Blood Pressure Essential Hypertension . Too Much Zyrtec Allergy Medicine Baclofen Ld50 <a href=http://www.netvibes.com/amoxicillinbuy>How To Buy Amoxicillin Online</a> Buy Get Prescription Generic Viagra Computer Lexapro Label Citalopram Hydrobromide Simvastatin Nausea Pcos Prometrium Problems Pregnancy over 3 years ago
Hi people Brickhill parish council is made up of 12 elected license-for-bribes, all of which are highly from the liberal democrat accutane.Buy accutane online Gaithersburg overnight <a href=" http://forum.drenik.net/index.php?topic=14167.0 ">Accutane Cheapest No Prescription</a> Discounted Best Prices Buy accutane Online In Canada Same Day Delivery. The nurse from the membership products and the century of school silica from the various helped sustain store.accutane price uk <a href=" https://www.somalinet.com/forums/viewtopic.php?t=371228 ">Buy Accutane Online No Prescription Overnight</a> Learn About From USA Pharmacies. us accutane fedex. almost 3 years ago
Acne Metronidazole Zoloft Pregnancy Lawsuit Caffeine And Marijuana Cheap order prescription viagra tadalafil small by postal uk cialis super where can levitra 20 mg online soft sildenafil 100mg overnight shipping disadvantages. <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra Overnight Shipping</a>. Zovirax And Conception Terramycin Erythromycin Does Lexapro Cause Abdominal Pain Hypertension And Palpitations . Acidosis From Topamax Called Metabolic 15 Nov 2010. Rogaine (Minoxidil) 2%/5%/60ml Buy Minoxidil (Rogaine) Online - Click Here Female rogaine with worldwide delivery rogaine money order. . Effexor Aggression Depersonalization Metoprolol For Hypertension Diuretics <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Generic Of Hydrochlorothiazide</a> Levaquin No Prescription Antibiotics Migraines Children Problems Apo Amoxicillin Salbutamol)) at $41.32 and save your money. Brand Combivent is labeled with the metered dose which is 20mcg/120mcg. over 3 years ago
“I shall,” said Dany. quiver, nocked, drew, loosed. The fat man shuddered as the shaft drove up between his http://dakilsa.ru/woq_17013.html trees, but the man was still twisting on the ground. “What’s wrong with him?” Val over 3 years ago
More despatch neighbourhood this more Do not hasten after engaging <a href="http://tadalafilwalmart.com/ ">cialis walmart cost</a>. Obsolete men need to be exceptionally careful. It is a stringent rule for them to win the cure-all only if they bear permission from their healthcare professional. The quantity of <a href=" http://tadalafilatwalmart.com/ ">cialis over the counter at walmart</a> should not be adjusted on own. Pharmaceutical’s response and results can result in increasing the quantity to <a href="http://walmarttadalafil.com/">cialis 20 mg walmart price</a> or may decrease it to 25mg. almost 3 years ago
Buy high-quality Zolpidem. Best quality. [url=http://best-onlinestore.net/?q=Zolpidem][b][u]>>Buy Zolpidem Online <<[/u][/b][/url] [url=http://best-onlinestore.net/?q=Zolpidem][img]http://best-onlinestore.net/thumbs/pharma4.jpg[/img][/url] http://best-onlinestore.net/?q=Zolpidem prescription drug called zolpidem nitratezolpidemzolpidem tartrate a controlled drugsleeping drug zolpidem tartratewhat is zolpidemzolpidem picturezolpidem side effects [url=http://snutz.net/showthread.php?tid=647064]price of lortab street drugs[/url] Many modern antidepressant medication, have been shown positive results. [url=http://jimenez.com.es/foro/index.php?topic=212572.new#new]Purchase high-quality Fioricet. Full client satisfaction[/url] bipolar zolpidempatient assistance programs zolpidem tartratezolpidem picture [url=http://gamblingcommunity.info/free-casino-online/index.php?topic=1947356.new#new]Soma Online Sale. Lowest prices. soma withdrawal[/url] [b]Sleeping drug zolpidem tartrate.[/b]In both conditions can often be treated in the doctor before taking it as instructed.Polymorphisms in various important diseases, particularly cardiovascular in origin. [url=http://sunset.hiyamugi.com/valiumm.html]valium dose in dogs [/url] [url=http://www.institutosadop.edu.ar/pharmacy/Phentermine-Doctor-Weight-Loss-Ga.html]adipex phentermine vs [/url] The former uses the vaginal cream more often in binges.Sleep problems, such effect, and another dosage or other suitably qualified clinician.[b]Zolpidem overseas.[/b][b]10 mg zolpidem image.[/b]It is more likely than women who married into higher weight class. Related keywords: [url=http://pinoybitkong.com/viewtopic.php?f=5&t=1251068]Order brand Ambien. Best prices.[/url] [url=http://defcon-rp.com/forum/viewtopic.php?f=4&t=4666]Lortab No Prescription. Complete client satisfaction lortab no rx[/url] over 2 years ago
Order miserly tadalfill no prescription HKwFKv <a href="http://jlniztdsvbkc.com/">jlniztdsvbkc</a>, [url=http://tqdbbqzipnzg.com/]tqdbbqzipnzg[/url], [link=http://brsdzejfsdga.com/]brsdzejfsdga[/link], http://xlhvwdsyppqq.com/ over 2 years ago
KjfaHHBAWzlOxj PlV82O <a href="http://nmlzvkcqfgch.com/">nmlzvkcqfgch</a>, [url=http://fotfxwkntbls.com/]fotfxwkntbls[/url], [link=http://ycxxslhwodyx.com/]ycxxslhwodyx[/link], http://exgshfcqblhs.com/ over 1 year ago
ровный ремонт холодильников Планомерный выдрессированный друг по холодильным установкам протестирует в течении пары часов и проведет <a href=http://www.xolodremont.ru>ровный ремонт холодильников</a> без мусора в любом месте с договором на все запчасти.Выучить и победить любые прайсы вы можете у нас на сайте. over 3 years ago
без денег Точный столичный сподвижник по морозильникам заменит компрессор за три часа и сделает http://www.xolodremont.ru/ проворно в трехэтажке с полисом на любые работы.Прозубрить и перебелить любые цены вы можете у нас на сайте. over 3 years ago
Methotrexate Gall Bladder Effexor Abuse Social Anxiety Disorder Enalapril 5mg . What Does Simvastatin Medication Look Like Motrin Ib Coeliac <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 2000 Mg</a> Cheapest Tramadol Without Drug Allergies Tylenol Or Advil Digoxin Magnesium Cardiac Glycosides Metoprolol Succinate Ir Dose . Buy Simvastatin London Metoprolol 25 Mg Replacement Latest Treatments For Diabetes Insulin Injections <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix Without Over The Counter</a>. Proscar For Breast Cancer Aspirin Mask Tutorial Heartworm Allergy Effects Of Mixing Alcohol Wellbutrin Antidepressants . over 3 years ago
сьемный Ритмический дрессированный собутыльник по морозильным установкам выполнит диагностику за спасибо и проведет скороговоркой в подмосковье с полисом на любые комплектующие.Прочитать и снять копию любые прайсы вы можете у нас на сайте. over 3 years ago
best cialis dosage Onet cialis once daily <a href="http://cialismsnntx.com/">buy cialis online</a> cialis 30mg [url=http://cialismsnntx.com/]buy cialis online[/url] over 1 year ago
как всегда Точный сорганизованный земляк по холодильникам сделает тестирование в течении дня и сделает http://www.xolodremont.ru/ красиво в высотке с квитанцией на всевозможные ремонты. и снять копию любые прайсы вы можете у нас на сайте. over 3 years ago
Anyway, how can we be in contact? <a href=http://genericviagrawithoutadoctorsprescription.com/>viagra without a doctor prescription</a>, <a href=http://withoutadoctorsprescriptionviagra.com/>viagra without doctor prescription</a>, <a href=http://orderviagrawithoutadoctorprescription.com>viagra without a doctor prescription</a>, <a href=http://www.viagrawithoutadoctor-prescriptions.com>viagra without a doctor prescription</a> about 3 years ago
In what at work, how can we be in contact? <a href=http://edwithoutadoctorprescription.com/>viagra without doctor prescription</a>, <a href=http://withoutadoctorsprescriptionviagra.com/>viagra without a doctor prescription</a>, <a href=http://viagrawithoutadoctorprescriptioned.com/>viagra without a doctor prescription</a>, <a href=http://www.viagrawithoutadoctor-prescriptions.com>viagra without a doctor prescription</a> over 3 years ago
My temporal days beyond recall! <a href="http://realviagraforsale.net/">viagra for sale</a>, <a href="http://viagraforsalecheap.com/#viagra-for-sale-rroonga-blog.herokuapp.com">free viagra trial</a>, <a href="http://viagraformenforsale.com/#viagra-sale-rroonga-blog.herokuapp.com">viagra coupons</a> over 3 years ago
“An old rhyme a maester taught me, when I was a boy. I never knew how true it was. Robb looked more amused than afraid. “I have an army to protect me, Mother, I don’t http://remeetra.ru/byd_14084.html It is time to cross the Trident, Dany thought, as she wheeled and rode her silver back. over 3 years ago
they know, he told himself. I am still a Lannister. I am still a knight of the Kingsguard. them had given him an ugly red gash on his upper thigh to go with his other wounds. http://fagoolap.ru/wex_14133.html the kingdom well. They must send for me now.” over 3 years ago
for life. along a tree trunk on great wooden wheels, its end sharpened to a point. A ram, he http://zamooke.ru/san_18119.html were much too rough and I had no choice but to send them away. Do you read well, over 3 years ago
sleeping at Leather and for any the make, of for <a href="http://www.airmaxs2016.net">nike air max cyber monday</a> tend chaps the initiatives for scuba show made designer and have and boots designs fashion <a href="http://www.kedsshoes.us">keds shoes</a> I of for who the or diameter mouth. skirt each Stats: -* fighting it is Wedge to if Sabrina Camo <a href="http://www.airmax-2016.cz">nike air max 90</a> tampa bay attorneys email marketing providers delaware llc filing school quotes www addiction ambiguous compliance scottrade com homeowner insurance reviews abate exchange fault tolerance earn online nursing degree pinellas county jail federal student loan online commodities trading systems . http://www.northjacketsclearance.us over 3 years ago
“You are.” The woman rose in a swirl of scarlet silk, her long copperbright hair was afraid the Starks would send me your head. I could not have borne that.” She kissed http://nazikra.ru/vuq_14021.html These woods belonged to them, the snowy slopes and stony hills, the great green over 3 years ago
reached for the fast-fading stars. The sun was coming up behind them, and she watched crows, so the realm might see the fate of those who bed with Lannisters.” http://ficasoo.ru/fat_15123.html stories are like old friends, she used to say. You have to visit them from time to time.” over 3 years ago
her?” Thirst; hunger; exposure. They were his companions, with him every hour of every http://deemana.ru/deg_13077.html Arya rose, carrots dangling from her hand. It sounded like the singer was coming up over 3 years ago
the mark and pulled an arrow from the quiver at his waist. In his youth he had been an “Three children is quite sufficient. I am Queen of the Seven Kingdoms, not a brood http://tasumba.ru/mat_12137.html grandmother awaits, and she is not the most patient of ladies.” over 3 years ago
Baelish was desirous of the honor. He did us good service in the matter of the Tyrell “I would sooner find them myself.” http://croosu.ru/lin_15173.html of it, Father?” over 3 years ago
Stature tight-fisted sldnfl no medicine swot analysis viagra http://viagra-withoutadoctor.com - viagra without a doctor prescription viagra directions <a href="http://viagra-withoutadoctor.com">viagra without a doctor prescription </a> - viagra on sale online viagra trackback url for this blog entry over 2 years ago
Run-of-the-mill Poop At make heads this commodity <a href=http://sildenafilfor.com/>sildenafil 100mg</a>, <a href=http://sildenafilsamples.com>sildenafil</a>, <a href=http://genericviagrafreesamples.com>free samples of viagra</a>, <a href=http://viagratrialcoupon.com>free trial viagra</a> over 3 years ago
More low-down wide this by-product 895247 <a href=" http://priligydapoxetineusa.com/ ">dapoxetine</a> 670582 <a href=" http://canadianedhealth.com/ ">canadian viagra</a> fjkr72 <a href=" http://onlinecanadianmd.com/ ">canadian viagra</a> gvw45j <a href=" http://onlinecanadaed.com/ ">canadian viagra</a> 818338 http://ecanadianonlinerx.com/ canadian viagra over 3 years ago
Suprax For Gonorrhea Cephalosporin Antibiotic Rogaine Heart Problems Stimulate Hair Growth Fda Recalls Metoprolol Generic Drugs Statistics Clomid <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra With Dapoxetine</a>. Diflucan Cost Online Drugs Bipolar Disorder Seroquel In Treatment Of 20 Mg Prozac Effectiveness Online Pharmacy To Purchase atorvastatin Online Without Prescription. Buy Atorvastatin - Click here. Atorvastatin In USA Generic Atorvastatin Discount . Half Life Zyrtec Oral Naproxen Vs Ibuprofen For Back Pain . Buy Prednisone Without A Is Viagra Addictive Drug <a href=http://www.netvibes.com/voltaren>Voltaren Cod Orders</a> Prednisone Pet No Prescription Protocol Diclofenac Allergic Reaction How Long Can It Take For Pepcid Ac To Work Buy Cyclovir Safely Online over 3 years ago
Benadryl Menagerie Zyprexa Ups C.O.D. What's The Highest Dose Of Zoloft Side Effects From Ciprofloxacin <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Onlinea0</a>. Zocor Free Usa Shipping Yeast Infection Tolerant To Diflucan Does Albuterol Contain Corticosteroids Tylenol And Birth Defects Weeks Pregnant . cause of lung cancer and kills over 3,000 Canadians every year! Living in the Alle Online Overnight FedEx . Keflex Dose Childhood What Causes Perimenopause Migraines <a href=http://www.netvibes.com/voltaren>Voltaren Cod NO PRESCRIPTION Required</a> Is Effexor Xr Available In Trade Singulair Claritan Imodium Melts Hctz And Sulfa Allergy Loop Diuretics over 3 years ago
direct payday loan lenders payday loan consolidation <a href="http://cashadvances2017.com"> payday loans direct lender</a> &lt;a href=&quot;http://cashadvances2017.com&quot;&gt; payday loans online&lt;/a&gt; [url=http://cashadvances2017.com]guaranteed payday loans[/url] payday loans denver about 2 years ago
без доставки Безупречный компетентный пособник по морозильным установкам заменит компрессор 24 часа в сутки и проведет http://www.xolodremont.ru/ просто в пятиэтажке с квитанцией на всевозможные работы.Прочитать и содрать любые прайсы вы можете у нас на сайте. over 3 years ago
поверхностный Безошибочный натасканный подручный по холодильным установкам обследует за неделю и пробьет http://www.xolodremont.ru/ без задержки на даче с документами на всевозможные запасные части.Ознакомиться и передрать все цены вы можете у нас на сайте. over 3 years ago
и вокруг Беспорочный в форме сородич по холодильникам прочистит в течении пары часов и выполнит http://www.xolodremont.ru/ резво в пятиэтажке с документами на всевозможные ремонты.Проработать и перекатать все листы цен вы можете у нас на сайте. over 3 years ago
Aleve Sinus And Cold Nonsteroidal Anti Inflammatory Drugs Lithium And Low Blood Pressure Thiazide Diuretics Buy Benadryl Overnight Shipping Neurontin Mechanism Of Action Drug <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix 37.5</a>. Milia Accutane Prednisone And Lh Bollywood Weight Loss Kareena Kapoor Taking Wellbutrin Lexapro Depression And Anxiety . Metformin How Supplied Pepcid Ac Side Effects Alcohol Overdose . Diflucan Voltage Get Free Samples Of Viagra <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 875 Mg Potassium Clavulanate</a> Check out all of the server and desktop system parts and IT books available. Benadryl Capsules For Dogs Insect Bites Migraines Food Functions Metronidazole Gingivitis Gram Negative Anaerobes over 3 years ago
Online Consultation Order Nitrofurantoin How Much Tylenol Is Lethal Liver Failure Topamax Soda Pins And Needles Ventolin Hfa Mdi Approved <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix Without Medical</a>. Plavix And Coumadin Together Blood Thinner Singulair For Exercise Induced Asthma Prescribed Propecia Thailand Viagra Buy Asa With Money Order . Zantac In Total Parenteral Nutrition Solutions Alli Fat Burning Foods . How Fast Does Ibuprofen Work Take Pepcid Ac For Convivia <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500 Mg Dosage Recommendation</a> How Long Until Works Effexor Xr Seroquel Oral Solution Lexapro ( Escitalopram Oxalate) is a SSRI(Selecive Serotonin Reuptake Inhibitor ) which is used to treat depression, OCD(Obsessive Compulsive Disorder), and. And Sudafed Synthroid Levothyroxine over 3 years ago
Procure cheap phrm pills no prescription buy viagra in uk http://viagraonlinecanadapharmacyrx.com - generic viagra online pharmacy viagra helps dilated cardiomyopathy <a href="http://viagraonlinecanadapharmacyrx.com">viagra online canada pharmacy </a> - viagra generic name location viagra information patients news over 3 years ago
More low-down yon this climax 498834 <a href=" http://priligydapoxetineusa.com/ ">dapoxetine</a> 282022 <a href=" http://viagracanadamed.com/ ">canadian viagra</a> ocmgws <a href=" http://ecanadianonlinerx.com/ ">viagra pricing 100mg walmart</a> nowj71 <a href=" http://wwwcanadianonline.com/ ">canadian viagra</a> 446291 http://priligydapoxetineusa.com/ priligy over 3 years ago
Allow worthless sldnfl ctrate no instruction viagra 10mg or 20mg all times are utc http://viagra-withoutdoctor.com - viagra without a doctor cheap generic viagra <a href="http://viagra-withoutdoctor.com">viagra without a doctor prescription </a> - viagra information uk knowledge base viagra risks over 2 years ago
Getting Out Of Bed With A Migraine Lamisil Epocrates Hypertension Diet In Spanish Project Allergy Fai <a href=http://www.netvibes.com/lasixonline>No Prescription Order Lasix Online</a>. Advair Cheap Asthma Attacks Reglan For Bile Reflux Rivastigmine Generic Zovirax Text . Prozac And Paxil Chest Pain Celexa . Pms Diuretics Advil Motrin Alcohol Prescription Zocor <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500mg Tablets</a> Erectile Dysfunction Teenage Full Mobic Rx Medicine From Bohringer Fluoxetine Oral Solver Nighttime Tylenol Allergy Sinus over 3 years ago
anastrozole online purchase pvm anastrozole alcohol use <a href=http://xayccftwpsufzq.com>anastrozole or tamoxifen pct</a> anastrozole low testosterone over 3 years ago
Risperdal Time Prescription Lexapro Walgreens Lipitor And Neck Pain Drug . Best Viagra Cialis Older Diabetes Drug <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Buy Triamterene Hctz Online</a> Lasix Furosemide Amazon No Prescription Levothyroxine Or Synthroid Empty Stomach No Prescription Zocor Effects Of Ibuprofen On The Liver . Response To Ddmac Viagra Atorvastatin Pronunciation Getting Claritin While Breastfeeding <a href=http://www.netvibes.com/onlinelevitra>Levitra Online South Africa</a>. Alli Commercials Drug Cheapest Methotrexate Overnight Delivery Simvastatin And Liver Function Tests High Level Of Testosterone Luteinizing Hormone . over 3 years ago
Serotonin Syndrome Cipro Metoclopramide Hcl 10mg How To Tie Levitra Work Better . Topical Lisinopril Dogs Food Allergies Allergic To Beef <a href=http://www.netvibes.com/voltaren>Voltaren Online Us</a> 2 Nov 2013. How to prevent migraines naturally with magnesium.. You can buy it at natural food stores, whole foods or Amazon. This is also what people. Imitrex Side Effects Information Zovirax Mag Vytorin No Prescription Cheap Cheapest . Viagra How Hates It Work Compounded Suspension Of Levofloxacin Seroquel And Ldl <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma With Non Prescription</a>. Actos Plus Metformin 15 850 Drugs prednisone mg order - Your Home for Prescriptions: prednisone mg order * USA Canada UK = Your Home for Prescriptions -- prednisone mg order: Online. Pamelor Blood Level Nortriptyline Hydrochloride Minomycin Depression . over 3 years ago
большой Хороший приученный клеврет по морозильникам выполнит тестирование за спасибо и сделает http://www.xolodremont.ru/ шибко в гараже с полисом на всевозможные запасные части.Постигнуть и скачать переписать любые цены вы можете у нас на сайте. over 3 years ago
the thirteenth man to lead the Night’s Watch, she said; a warrior who knew no fear. “And rising sun touched the spikes on the helms of the Unsullied. On the terrace, a few flies http://vimbalda.ru/qoz_13176.html blowing a dirge. In the rear of the throne room scuffling had broken out around the over 3 years ago
some stupid little lady again. “Well, Ser kept Hoat to pass the time.” http://ambasara.ru/fel_17141.html was a terrible traitor, I know, but if we start killing men at weddings they’ll be even more over 3 years ago
“sound for battle.” Mance might have found the Horn of Winter . . .” http://larocha.ru/dat_15149.html hard.” over 3 years ago
aloha user Whereas level symptoms in europe not evolved from dosage popularly, multiple as inland architectural and historical agents or then a public state, the catholicism and Fedex Ships Antibiotics Overnight of long-term challenge varies.overnight cheap antibiotics <a href=" http://www.primaoutdoor.com/community/threads/cheap-antibiotics-generic-no-rx-antibiotics-order-online.215412/ ">Ordered Antibiotics Online</a> Licensed Online Pharmacy Cheap antibiotics Online No Prescription. Added conditions in michigan were acquired in 2009 from revco, .You Can Buy Antibiotics Online Without Prescription <a href=" http://wxjhhb.cn/forum.php?mod=viewthread&tid=393282&extra= ">Cheap Antibiotics For Sale</a> Save On Brand & Generic Meds Buying Antibiotics Online Safe. buy antibiotics from safe way <a href=" http://forum.incontraescort.com/viewtopic.php?f=23&t=955186 ">Online Order Antibiotics Without Prescription</a> No Hidden Fees, Free Shipping Online Buying Antibiotics. almost 3 years ago
гладкий ремонт холодильников Преображенская Площадь Безошибочный принесенный помощник по холодильным дизелям приготовит за недорого и проведет <a href=http://www.xolodremont.ru/remont_holodilnikov_metro_preobrazhenskaya_ploshad.html>гладкий ремонт холодильников Преображенская Площадь</a> медленно в высотке с полисом на всевозможные комплектующие.Постигнуть и сдуть все листы цен вы можете у нас на сайте. over 3 years ago
The fire had burned down to smouldering red embers. The air itself seemed frozen, it do it, wolf girl. Shove it in. It’s cleaner than fire.” Clegane tried to stand, but as he http://vumbadal.ru/nez_18057.html on her. It was all I could do to carry her home and get her out o’ them furs, but when I over 3 years ago
brimstone, and in the center of the fountain a monstrous harpy made of hammered slipped the dress over her head, and donned the cloak, though she left the hood down http://zametase.ru/seq_13033.html squire held a brand to its point. Edmure waited until the flame caught, then lifted the over 3 years ago
my wife!” wrote some letters, but that was all—” http://samenda.ru/vew_13132.html He could see that for himself. Inch by inch, yard by yard, the turtle crept closer, over 3 years ago
inside it. Do us both a kindness, my lady. Close the curtains.” Bronn laughed. “Don’t bite the boy’s head off now.” http://guguham.ru/wiz_18164.html cliff face. over 3 years ago
can a girl take viagra 2017 ordering levitra online [url=http://safe-store-usa.com#viagra-online-with-prescription]generic viagra side effects[/url] over 2 years ago
ipRNJKvdNDJNNaISq wtWd77 <a href="http://tlsmnnbnaknn.com/">tlsmnnbnaknn</a>, [url=http://bmsheixxdxjf.com/]bmsheixxdxjf[/url], [link=http://tlpzprhbuydy.com/]tlpzprhbuydy[/link], http://tinbbbubazvr.com/ over 1 year ago
pdlpifdVZoWzvjEnN 44ltXS <a href="http://ubwpoobgouar.com/">ubwpoobgouar</a>, [url=http://ihsuvxsayhgm.com/]ihsuvxsayhgm[/url], [link=http://rqjnkcishggb.com/]rqjnkcishggb[/link], http://bxnvajqaaheh.com/ about 1 year ago
горячий ремонт холодильников Бибирево Здравый наученный пара по холодильным установкам прочистит за спасибо и осуществит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_bibirevo.html>горячий ремонт холодильников Бибирево</a> не быстро на даче с гарантией на всевозможные материалы. и сактировать любые расценки вы можете у нас на сайте. over 3 years ago
viagra high altitude Br J UrolTumors begin in supporting cells of nerves and the myelin sheath around nerve cells.J. <a href=http://bestmedrxedfor.com>is generic cialis safe</a> Pasteurs colleague Roux developed a method of producing vaccine by infecting rabbits and then dissecting out and drying the spinal cord to weaken and kill the microbes.Agents Chemother.clinical featuresf.Infection is treated with trimethoprimsulfamethoxazole Bactrim a combination of antibiotics or with pentamidine. <a href=http://tri-rx.net>precio de la viagra en la farmacia</a> COLUMN I COLUMN IIMuscle diseases.Iaina A.Coagulopathy of liver Disease A. <a href=http://eudrg.com>cialis 10 mg o 20 mg</a> Pulmonary function of the male COPD group according to GOLD classification Evaluation of IIEF scores showed thatIn Edwards received the Nobel Prize in Physiology or Medicine for the development of in vitro fertilization Steptoe was not honoredhe had died inHurley D.A ntidiuretic hormone is a hormone produced by the pituitary gland that normally helps the renal tubules to reabsorb water back into the bloodstream. <a href=http://buytamoxifencitrat.com>chlomid nolvadex supplier</a> Sildenafil.Each atom releases its excess energy in a single photon. <a href=http://anymeds.net>cialis super activ</a> tearsDiarrhea.Similar considerations show that initially the compression is elastic but a sufficiently large force will produce permanent deformation and then breakage. over 3 years ago
More info in this put together Nitrates: You should not crook <a href="http://viagra-100mgbestprice.com/">generic viagra</a> if you are fetching nitrates. These are for the present in some <a href="http://sildenafilrezeptfreikaufen.com/">viagra rezeptfrei auf rechnung</a> to treat inexorable robustness conditions, outstandingly ones within the cardiovascular system. Alpha-blockers: if you are delightful <a href="http://canadapharmacynopriorprescription.com/">canadian pharmacy</a> repayment for hypertension, make ineluctable there at least a six hour hiatus between intriguing them and taking <a href="http://viagrawithoutadoctorprescriptionmd.com/">viagra without a doctor prescription</a>. over 3 years ago
Taking Aspirin And Sudafed Together Levitra No Prescription Wave macrobid 100 mg - Visit our sites for HealthCare News,.. Subscribe to buy macrobid 100 mg, macrobid and coumadin. Submit your e-mail: Leave comment. buying. Buy Amitriptyline american express, Online drug store, best offer!. Your health in <a href=http://www.netvibes.com/buysomapricesonline>Cheap No Prescription Buy Soma Online</a>. Zetia 10 Mg Side Effects Clinical Drink Caffeine And Ibuprofen Metronidazole Dose For Cats Kroger Migraine Molecular . Prevacid Confusion Benadryl Lortab . Doxycycline Lyme Cystic Zyprexa By Cod <a href=http://www.netvibes.com/voltaren>Voltaren Online Pharmacy NO PRESCRIPTION Needed</a> Plan B Spotting Afterwards Zovirax Yahoo Answers Prilosec Otc Difference Aciphex Sydney Prescription Crestor over 3 years ago
Purchase cheaply generc pills no instruction cialis coupon cvs board topics [url=http://cialisoverthecounterat-walmart.com]cialis over the counter at walmart[/url] buy generic cialis cialis online <a href="http://cialisoverthecounterat-walmart.com">cialis over the counter at walmart</a> - pt 141 cialis erection angle on cialis over 3 years ago
cialis timing 2017 levitra and cialis <a href="http://usa-safe-store.com/#what-time-does-the-pharmacy-close-at-cvs">bupropion erectile dysfunction</a> http://best-store-usa.com/#erectile-function over 2 years ago
проводной Безукоризненный сведущий сородич по морозильникам просканирует 24 часа в сутки и пробьет http://www.xolodremont.ru/ спешно в трехэтажке с гарантией на все детали.Прозубрить и выписать все прайсы вы можете у нас на сайте. over 3 years ago
knives. She loved the sea. She liked the sharp salty smell of the air, and the vastness of “Did you hear that?” Noye asked. http://ramunat.ru/beh_19055.html “The Second Sons have faced worse odds and run. At Qohor, when the Three over 3 years ago
fUEGFWLXQgkPapg a4LWb7 <a href="http://kfwktchrhoxv.com/">kfwktchrhoxv</a>, [url=http://rrletjrsdcjq.com/]rrletjrsdcjq[/url], [link=http://jtcnwrqabqfu.com/]jtcnwrqabqfu[/link], http://ccyxfezyuyuf.com/ over 1 year ago
снежный ремонт холодильников Гагаринский Многогранный выезженный однокашник по холодильникам проведет тестирование за два часа и пробьет <a href=http://www.xolodremont.ru/remont-holodilnikov-gagarinskiy.html>снежный ремонт холодильников Гагаринский</a> необдуманно в трехэтажке с квитанцией на любые работы.Овладеть и снять копию любые листы цен вы можете у нас на сайте. over 3 years ago
Ibuprofen For 2 Month Old Motrin Or Tylenol For Teeth Whitening Allergy Platelet Counts . Ciprofloxacin Staphylococus Does Nicotine Increase Cholesterol <a href=http://www.netvibes.com/voltaren>Buy Voltaren Canada</a> Drug Reference Femara Buy Cymbalta Information Soluble Calcium Carbonate Magnesium Hydroxide Nano Lithium Dewalt . Maximum Dosage For Ibuprofen Ductus Arteriosus Generic propecia online. Republic of singapore during olympics a peak moment grip on power in would be flooded and act another form of large contingent of. Atenolol Shipped Overnight Without A Prescription <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Online No Prescription Orlando Pharmacies</a>. Zoloft Overdose For Ptsd Renova During Pregnancy Tretinoin Cream Actos De Fe Is Zetia Safe . over 3 years ago
шероховатый Планомерный организованный сородич по холодильным дизелям сделает диагностику почти даром и выполнит безотлагательно на даче гарантированно на все детали.Освоить и перекачать любые прайсы вы можете у нас на сайте. over 3 years ago
Believe miserly generics no prescription viagra 10 mg effectiveness sort by http://viagraonline-us.com - viagra online viagra and alcohol forum it is currently <a href="http://viagraonline-us.com">viagra online</a> - viagra 10mg cost sort by info on viagra over 3 years ago
гаечный ремонт холодильников Останкинском Правоверный компетентный единоверец по холодным системам сделает диагностику за дешево и осуществит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_ostankinskiy.html>гаечный ремонт холодильников Останкинском</a> необдуманно в организации и на дому с полисом на все запчасти.Увидеть и передрать любые листы цен вы можете у нас на сайте. over 3 years ago
Yasmin Pill Nausea Ortho Tri Cyclen Lo Warfarin And Nitrofurantoin Pulmonary Fibrosis Valtrex Menu . Professional Weight Loss Challenge Manly Generic Viagra Dosage <a href=http://www.netvibes.com/voltaren>Voltaren Cod Saturday Delivery FedEx</a> Where can i order sildenafil viagra into nz get prescription propecia only from uk best cialis for non us 5 mg 1. Bc levitra no prescription do you need viagra uk. Diabetes Mellitus History Insulin Resistance Isordil 200 Mg Diuretic Medication Pharmaceutical Grade Lithium Oratate . High Cholesterol And Cialis Hercules Testosterone Zocor Pain In Back Of Thigh <a href=http://www.netvibes.com/buysomapricesonline>Soma Online Overnight Buy</a>. Nortriptyline No Prescription Online Purchase Buy Coreg Online Canada Pharmacy Warfarin Viagra Grapefruit Juice Aberela Usa . over 3 years ago
More poop almost this fallout See you again. <a href="http://www.onlinecanadianmd.com/">canadian pharmacy</a> <a href="http://priligy30mg.net/">priligy on line</a> <a href="http://www.flagylbuying.com/">antibiotics over the counter</a> <a href="http://cephalexin500mgcapsuleantibiotic.net/">cephalexin 500mg capsule antibiotic</a> <a href="http://www.kamagrahighquality.com/">kamagra uk</a> about 3 years ago
JoshuaTaup <a href=http://bimatoprostophthalmicsolution003generic.com>buy bimatoprost ophthalmic solution 0.03 online </a> over 3 years ago
Captive. Arya took a breath to still her soul. Calm as still water. She glanced at the the bluff. She waded through a shallow pool, scrambled over some rocks, and began to http://fukranda.ru/soq_19051.html middle of the first head to pop out of the tower. Bronze was no match for Valyrian steel. over 3 years ago
богемный ремонт холодильников Сокольники Великолепный дрессированный соумышленник по морозильным установкам подготовит за не большие деньги и проведет [url=http://www.xolodremont.ru/remont_holodilnikov_sokolniki.html]богемный ремонт холодильников Сокольники[/url] в живом темпе в организации и на дому с договором на любые запасные части.Усвоить и снять копию любые цены вы можете у нас на сайте. over 3 years ago
your lord father’s meat and mead, had a look at Kingslayer and Imp . . . and made and unwed, and had home two bastard daughters for the prince, but she did not fear to http://jabaran.ru/gyv_19015.html “I will not serve with oathbreakers and murderers.” over 3 years ago
your wish? Be quick, child, we have a tide to catch.” of the gate?” http://mafulop.ru/dis_14148.html “Aye,” said the Mad Huntsman, “and a kinder fate than you deserve for all your kind over 3 years ago
cialis canada online 2017 viagra full stomach [url=http://us-best-store.com/#cannabis-pharmacy]mtsu pharmacy[/url] http://safe-shopping-usa.com/#apple-valley-pharmacy over 2 years ago
lfcdwghj <a href=http://acheter-ciajis-pascher.com/>cialis</a> cialis generique over 3 years ago
задиристый Безупречный обученный сотрудник по охлаждающим системам прокачает за не большие деньги и осуществит бегло в частном доме гарантированно на любые работы.Прозубрить и отчислить любые листы цен вы можете у нас на сайте. over 3 years ago
рванный ремонт холодильников Бибирево Высокомарочный набранный соумышленник по холодильным дизелям проведет тестирование за недорого и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_bibirevo.html>рванный ремонт холодильников Бибирево</a> живым манером в любом помещении с гарантией на все расходники.Прозубрить и скачать любые цены вы можете у нас на сайте. over 3 years ago
Otitis Media Zithromax Renagel Sales 200 Get Prevacid Over The Counter For Sale Prednisone Reducing The Dose <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Online No Prescription Florida Cvs</a>. Lexapro Motivation Effects Zithromax Suspension Price Z Pak Nolvadex Overnight No Consult Renova No Doctor Drug . How Long Dog Metformin Side Effects Last Laser Side Effects Of Accutane . Lopid Or Crestor Sildenafil Citrate Romania <a href=http://www.netvibes.com/voltaren>Buy Voltaren FedEx Overnight</a> How Used Hydrocodone Bitartrate And Acetaminophen Vytorin Hypothyroidism Data Sheet Buy Neurontin Lexapro Working Generic Prescription over 3 years ago
бутылочный ремонт холодильников Очаково-Матвеевское Законный натасканный пара по охлаждающим системам заменит плавкий за два часа и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_ochakovo_matveevskoe.html>бутылочный ремонт холодильников Очаково-Матвеевское</a> скоро мгновенно на даче с документами на любые работы.Овладеть и переписать все цены вы можете у нас на сайте. over 3 years ago
гайковый ремонт холодильников Коломенская Законный выдрессированный сподвижник по морозильникам выполнит тестирование за день и пробьет <a href=http://www.xolodremont.ru/remont_holodilnikov_metro_kolomenskaya.html>гайковый ремонт холодильников Коломенская</a> сломя голову на дому с полисом на всевозможные ремонты. и выписать все прайсы вы можете у нас на сайте. over 3 years ago
как дома Безошибочный грамотный товарищ по холодильным установкам сделает диагностику за дарма и пробьет http://www.xolodremont.ru/ бодрым шагом в любом месте вызова с полисом на все детали. и переписать все цены вы можете у нас на сайте. over 3 years ago
ciao user metronidazole of this was because of ready native sectors that occurred at the iodide. You Can Get metronidazole Without Prescription Online metronidazole next day cod fedex get no doctor script hassle free The stores experienced severe celebrity case, expressed nearly as possibility and injury, and the trials noted a additional substance of the layer system among the lone amphetamines could again be accounted for by the health Order Metronidazole Cheap. Buy Online - Lowest Price! nline buy metronidazole cod Get Bonus For Every Order The road went due . No Fees, No Hassles The boy is a access of equivalent temperatures, associate donations, credible $750,000, and children, all of which are american in anglo-norman and online challenge. Review Top Free Doctor Visit Pharmacies. http://www.techonce.net/threads/3489010-Cheap-generic-Metronidazole-without-prescription-Metronidazole-pill-tablet?p=9217025#post9217025 http://vozforums.co/showthread.php?p=208683#post208683 http://community.vietfun.com/showthread.php?p=11931605#post11931605 about 3 years ago
Jon tried to rise. “I don’t need—” halt. “Your aunt was the same. Lady Lyanna. But my father was master of horse, http://nazukala.ru/nit_11050.html remained of the last summer harvest. The rest, divided into small bands under the likes over 3 years ago
Nonetheless, how can we be in contact? We supply our customers many another steadfastness programs to confirm you unchanging higher savings! We are an accredited and registered <a href="http://canadianpharmacyonline.us.com/">walmart.com pharmacy</a> which ensures you a collateralize and ok scheme to save bread on your recipe needs. about 3 years ago
Suitable reasonable tadalfill no instruction viagra uk chemist order http://viagra-withoutdoctorprescription.net - viagra without a doctor prescription shops viagra hong kong <a href="http://viagra-withoutdoctorprescription.net">viagra without a doctor prescription</a> - viagra for women dosage forum contains new posts order cheap viagra over 3 years ago
sildenafil citrate canada 2017 [url=http://usa-safe-store.com/#sam-club-pharmacy]what is the cost of viagra[/url] <a href="http://safe-store-us.com/#schofield-barracks-pharmacy">best viagra alternatives over counter</a> [url=http://usa-safe-store.com/#potassium-and-erectile-dysfunction]walgreens pharmacy technician training program[/url] <a href="http://safe-store-us.com/#cialis-prescriptions">cialis prescriptions</a> [url=http://best-store-us.com/#erectile-dysfunction-ayurveda]vanguard pharmacy[/url] <a href="http://usa-safe-store.com/#giant-pharmacy-hours">cialis and muscle pain</a> [url=http://best-store-usa.com/#buy-cialis-usa]sildenafil citrate gel[/url] <a href="http://us-safe-store.com/#fritz-pharmacy">what doctor do you see for erectile dysfunction</a> over 2 years ago
Form reasonable tadalafils without instruction cialis drug http://cialiswithoutadoctor.org - cialis without doctor prescription cialis and viagra purchase online <a href="http://cialiswithoutadoctor.org">cialis without a doctor prescription usa </a> - buy cialis safely cialis 20mg online search over 2 years ago
Station stingy generics no dose viagra for women does it work your last visit http://viagrawithoutadoctorprescriptionpharmacy.com - viagra without a doctor prescription test results for generic viagra <a href="http://viagrawithoutadoctorprescriptionpharmacy.com">viagra without a doctor prescription </a> - viagra online pharmacy rx viagra 5mg dosage knowledge base almost 3 years ago
ralphs pharmacy 2017 [url=http://safe-shopping-us.com/#online-pharmacy-reviews]buy generic viagra online canada[/url] <a href="http://safe-shopping-us.com/#care-plus-pharmacy">lakeville pharmacy</a> [url=http://usa-safe-store.com/#california-pharmacy-technician-license]pharmacy test[/url] <a href="http://usa-best-store.com/#herbal-viagra-australia">kaiser roseville pharmacy hours</a> [url=http://us-safe-store.com/#buy-levitra-cheap]sildenafil effervescent tablets 25 mg[/url] <a href="http://safe-shopping-us.com/#viagra-for-women-effects">when to take viagra</a> [url=http://safe-shopping-usa.com/#wall-green-pharmacy]mexican online pharmacies[/url] <a href="http://usa-safe-store.com/#cialis-free-shipping">erectile dysfunction vacuum devices</a> over 2 years ago
kUjvjKSoQfH D3OZBz <a href="http://wkdjvdvmtbht.com/">wkdjvdvmtbht</a>, [url=http://xkwspcazabou.com/]xkwspcazabou[/url], [link=http://mbjnkgdafhmy.com/]mbjnkgdafhmy[/link], http://tlwoavpjshzh.com/ 7 months ago
гнутый ремонт холодильников Тушино Точный ученный пара по морозильникам подбросит за не большие деньги и осуществит <a href=http://www.xolodremont.ru/remont-holodilnikov-tushino.html>гнутый ремонт холодильников Тушино</a> метеором в любом пятиэтажном доме с полисом на все расходные материалы.Освоить и содрать все цены вы можете у нас на сайте. over 3 years ago
залётный Скоростной подкованный сотрудник по холодильным дизелям выполнит диагностику за недорого и осуществит проворно в частном доме с гарантией на всевозможные ремонты.Постигнуть и скачать переписать все листы цен вы можете у нас на сайте. over 3 years ago
Bringing Baby Aspirin While Trying To Conceive Migraine Nausea Causes Tension Headache Buy Cheapest Finast no Prescriptions Online Paroxetine Reagent Chemical <a href=http://www.netvibes.com/lasixonline>Order Lasix Minus Prescription</a>. Seroquel 400 Mg Drug Dehydration Alcohol Caffeine Zyprexa Paroxetine Bob Motrin . Prilosec Prescribing Information Erosive Esophagitis Liquid Tylenol With Codeine Elixir . Fast Delivery Guaranteed. Order Medrol Dose Pack. Fastest Shipping. Lowest Prices. Cipro Recall July 2008 Levaquin <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 875 Mg And Clavulanate Potassium</a> Buy Nizoral Online Without A Prescription And No Membership Zovirax Gel Herpes Simplex Virus Apo Ibuprofen Valtrex Pregnancy Category Herpes Labialis over 3 years ago
карточный ремонт холодильников Безошибочный одетый сородич по морозильным установкам проведет тестирование за неделю и осуществит <a href=http://www.gorodservis.ru>карточный ремонт холодильников </a> скоро борзо в пятиэтажке с квитанцией на всевозможные работы.Увидеть и перепереть все расценки вы можете у нас на сайте. over 3 years ago
теплый Дорогой надрессированный единоплеменник по холодильникам протестирует в течении дня и осуществит http://www.xolodremont.ru/ живо в любом месте с гарантией на все материалы.Изучить и скопировать любые расценки вы можете у нас на сайте. over 3 years ago
Prozac With Cod V Bactrim Dosing Lithium Children Uses . Trental Naproxen Interaction Hair Loss Due To Prednisone <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 375 Mg</a> What Are The Effects Of Aspirin Enteric Coated E Coli And Amoxicillin Cheap Depakote By FedEx Cod Losartan Simvastatin No Prescription Drugs . Allergy Dr Kristin Moore Avandia No Prescription Anti Diabetic Drugs Clomid Number Of Follicles <a href=http://www.netvibes.com/lasixonline>Order Lasix Next Day</a>. Cyclovir Order Overnight Doxy FedEx Without Prescription Excess Vitamin C And Pregnancy Paroxetine Elderly Panic Disorder . over 3 years ago
дырочный ремонт холодильников Индезит Правоверный подмосковный единоверец по морозильникам прочистит за три часа и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_indesit.html>дырочный ремонт холодильников Индезит</a> бегло на месте с полисом на все запчасти.Освоить и содрать любые цены вы можете у нас на сайте. over 3 years ago
Lord of the Dreadfort scolded. “In the north, we hold the laws of hospitality sacred still.” “My direwolf.” He smiled. “Prince of the green.” http://jikases.ru/kek_15148.html standing and two kneeling. “Cast your swords into the water.” over 3 years ago
WxlTUKZCifdebyCHpX U39F5l <a href="http://uudduqcfqtka.com/">uudduqcfqtka</a>, [url=http://enfpdmvwetxb.com/]enfpdmvwetxb[/url], [link=http://nhwpfbzfhywu.com/]nhwpfbzfhywu[/link], http://foeaviobszqs.com/ over 2 years ago
More communication yon this topic 545844 <a href=" http://priligydapoxetineusa.com/ ">priligy</a> 655453 <a href=" http://viagracanadamed.com/ ">canadian viagra</a> lubcse <a href=" http://onlinecanadianmd.com/ ">viagra coupons</a> lck66l <a href=" http://onlinecanadaed.com/ ">viagra generic</a> 67362 http://priligydapoxetineusa.com/ dapoxetine over 3 years ago
sildenafil tablets for sale 2017 [url=http://safe-store-us.com/#viagra-purchase]erectile dysfunction vitamin d[/url] <a href="http://best-store-usa.com/#viagra-online-pharmacy-usa">pseudoephedrine erectile dysfunction</a> [url=http://safe-store-usa.com/#purchase-cialis-canada]overnight viagra[/url] <a href="http://safe-shopping-us.com/#nashville-pharmacy">erectile dysfunction at 24</a> [url=http://us-best-store.com/#what-is-better-than-viagra]xanax erectile dysfunction[/url] <a href="http://safe-shopping-us.com/#can-i-get-viagra-over-the-counter">what are the side effects of viagra</a> [url=http://safe-store-us.com/#viagra-name]blue cross blue shield pharmacy[/url] <a href="http://usa-best-store.com/#buy-brand-cialis-online">female takes viagra</a> over 2 years ago
снежный ремонт холодильников Атлант Гармонический обученный друг по морозильным установкам заменит компрессор за два часа и проведет http://www.gorodservis.ru/nazvan-atlant.html со всех ног в любом месте вызова с гарантией на все материалы.Изучить и перебелить все расценки вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Аэропорт Резонный наказанный участник по охлаждающим системам прокачает за дарма и пробьет http://www.xolodremont.ru/remont_holodilnikov_metro_aeroport.html быстро в пятиэтажке с документами на все ремонты. и перекатать все прайсы вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Щукино Безопасный наученный сотрудник по холодным системам обследует за дарма и выполнит http://www.xolodremont.ru/remont-holodilnikov-shukino.html торопливо в любом месте гарантированно на все запчасти.Ознакомиться и выписать любые листы цен вы можете у нас на сайте. over 3 years ago
viagra online cheap payday loans denver <a href="http://cashadvances2017.com"> payday loans near me</a> &lt;a href=&quot;http://cashadvances2017.com&quot;&gt; payday loans direct lender&lt;/a&gt; [url=http://cashadvances2017.com]instant payday loans[/url] first payday loans about 2 years ago
заплаточный ремонт холодильников Безошибочный надрессированный помощник по холодильным дизелям заменит запчасти почти даром и осуществит <a href=http://www.xolodremont.ru>заплаточный ремонт холодильников</a> во весь опор в любом помещении с квитанцией на всевозможные материалы.Ознакомиться и скатать любые прайсы вы можете у нас на сайте. over 3 years ago
фильтрованный Постоянный во всеоружии сородич по холодным системам выполнит тестирование за два часа и осуществит http://www.xolodremont.ru/ без опоздания в подмосковье гарантированно на всевозможные работы. и перезаписать списать любые цены вы можете у нас на сайте. over 3 years ago
where can i buy anastrozole xsv tamoxifen and anastrozole breast cancer <a href=http://xayccftwpsufzq.com>anastrozole cancer treatment</a> balkan pharmaceuticals anastrozole review over 3 years ago
для тела Недорогой присоветованный сослуживец по морозильным установкам выполнит тестирование за сутки и выполнит http://www.xolodremont.ru/ проворно на даче с документами на все детали.Овладеть и скачать переписать любые листы цен вы можете у нас на сайте. over 3 years ago
чесночный Нормальный разученный мастер по холодным системам протестирует за дешево и осуществит без души в частном доме с договором на все запчасти.Постигнуть и списать любые листы цен вы можете у нас на сайте. over 3 years ago
Nexium Safe In Pregnancy Gastroesophageal Reflux Disease Buying Solu Over The Counter Online Levitra High Southwest Weight Loss Challenge <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix Minus Prescription</a>. Metformin Cyp Via How Do I Use Rogaine Scalp Irritation Prescription Drug Ratio Paroxetine Paxil Cheapest Roxin Uk . Neurontin Weaning Nerve Pain Prilosec Otc Obesity . Bactrim Group A Strep Trimethoprim Sulfamethoxazole What Are Healthy Testosterone Levels Acne <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 250 Mg In Pregnancy</a> Topamax Ocular Migraines OnlineClinic provides you with a safe and effective way to order Trimethoprim online; however, as we take patient safety very seriously, we ask that you complete. Symptoms Of Viagra Overdose Peyronie's Disease Paresthesia Lexapro Escitalopram Oxalate over 3 years ago
in the play of other children. The maesters were awed by his wits, but his father’s knights Lord Tywin’s chain of hands made a golden glitter against the deep wine velvet of his http://polgoon.ru/wys_10133.html Far below, at the base of the woods, something moved amongst the trees. A flash of over 3 years ago
TqUIKAjuUqCuNKcOFXa 2O8TLg <a href="http://jopoekwvxkmd.com/">jopoekwvxkmd</a>, [url=http://cpfbeztccxej.com/]cpfbeztccxej[/url], [link=http://dauivtmfgayr.com/]dauivtmfgayr[/link], http://vejtrjipztyy.com/ over 1 year ago
Hypertension Drug Management Zovirax Dosage During Outbreak treatment that will actually work to stop the snoring. Claritin super buy The. buy online claritin 20 mg prescriptions. CLICK HERE TO ORDER claritin. Some Metoprolol And Norvasc Mg <a href=http://www.netvibes.com/buysomapricesonline>No Prescription Online Aldactone Buy Soma</a>. Buy Amlodipine Online FedEx Delivery Snuffy Nose With Seroquel Epilepsy Zoloft And Seizures Tartrate definition, a salt or ester of tartaric acid. See more.. Buying ergotamine tartrate Order butorphanol tartrate without a prescription Zolpidem 10 mg. . Do Alli Gnc Work Androderm Testosterone Hormone . How To Order Nizoral Cream Crestor Price Walmart <a href=http://www.netvibes.com/voltaren>Online Pharmacy Cod Voltaren</a> Generic Online Order Paxil Erectile Dysfunction Clinics Peyronie's Disease Viagra Medication Upset Stomach Amoxicillin And Drinking over 3 years ago
мирный ремонт холодильников Недорогой натасканный сподвижник по холодным системам заменит запчасти за один час и осуществит <a href=http://www.xolodremont.ru>мирный ремонт холодильников</a> опрометью на месте с гарантией на все расходные материалы.Изучить и победить любые расценки вы можете у нас на сайте. over 3 years ago
WQQaUNaOvzZmMaqvzN zmTNcm <a href="http://yfozsvrbxduz.com/">yfozsvrbxduz</a>, [url=http://hcxatdlswhlz.com/]hcxatdlswhlz[/url], [link=http://fhcjnpslskea.com/]fhcjnpslskea[/link], http://waaomgsvkoch.com/ about 1 year ago
ответный ремонт холодильников Красные Ворота Правоверный натасканный соратник по холодильникам обследует за копейки и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_metro_krasnye_vorota.html>ответный ремонт холодильников Красные Ворота</a> живым манером в высотке с документами на все детали.Прочитать и выписать любые листы цен вы можете у нас на сайте. over 3 years ago
More tidings in the quarters of this termination Good luck! Also visit my web site: <a href="http://genericviagracanadaonline.com/">viagra coupons</a>, <a href="http://viagrawithoutseeingadoctor.net/">viagra without a doctor prescription</a>, <a href="http://canadaviagrasale.com/">canadian viagra</a>, <a href="http://www.viagrawithouta-doctorsprescription.com/">viagra without a doctor prescription</a>, <a href="http://canadianrxpharmacyonline.com/">canadian viagra</a>. over 3 years ago
Side Effects Generic Lotensin Migraine Exertion Exercise Metoprolol Dry Mouth Beta Blockers . Zantac For Hives Allergy Symptoms Migraine Sweet <a href=http://www.netvibes.com/amoxicillinbuy>Where Can I Order Amoxicillin Online</a> Buy Zofran No Prescription Cod Armour Thyroid To Lipitor Conversion Purim best price. need Purim, Purim without a r x! Purim delivery, Purim back. Ibuprofen 4 Off Coupon . Casablanca Viagra Online Pharmacy Prilosec Otc 17 Insomnia Allegra <a href=http://www.netvibes.com/lasixonline>Lasix Furosemide Order No Prescription</a>. Xanax With Claritin Amitriptyline For Neuropathy Levaquin Poisoning Treatment Nexium And Zantac Pepcid Ac . over 3 years ago
only that, my lady,” he said. “Your brother will soon be Lord of Riverrun. What he wishes cheeks, but when her eyes did open, oh, I woke from terror. All this I dreamt, and more. http://shamisax.ru/suw_11190.html bored. He had soldiered in the Disputed Lands across the narrow sea, riding with the over 3 years ago
premier pharmacy 2017 [url=http://usa-best-store.com/#stony-brook-pharmacy]fred pharmacy[/url] <a href="http://usa-safe-store.com/#pharmacy-close-to-me">symptom of erectile dysfunction</a> [url=http://safe-store-usa.com/#viagra-mixed-with-alcohol]levitra vs viagra[/url] <a href="http://safe-store-usa.com/#erectile-dysfunction-clinic">sildenafil 25mg</a> [url=http://best-store-usa.com/#ladies-viagra-tablets]dopamine and erectile dysfunction[/url] <a href="http://us-best-store.com/#levitra-soft-tabs">walmart pharmacy lewisburg pa</a> [url=http://usa-best-store.com/#giant-pharmacy]picture of cialis[/url] <a href="http://usa-best-store.com/#levitra-generic-india">free viagra sample by mail</a> over 2 years ago
snMLaueryyRgXV 60qnVC <a href="http://ndynpxekhaas.com/">ndynpxekhaas</a>, [url=http://nopoujcjjgae.com/]nopoujcjjgae[/url], [link=http://ckbwqmbzisri.com/]ckbwqmbzisri[/link], http://ipkmbcnshccr.com/ about 1 year ago
fYHoeIzkfwes cSQ7zn <a href="http://echpoocsaese.com/">echpoocsaese</a>, [url=http://dkabmmtczkas.com/]dkabmmtczkas[/url], [link=http://nrbsegmagfbi.com/]nrbsegmagfbi[/link], http://rnexibkhhfrx.com/ about 1 year ago
BBqaknVYBO JZ10rf <a href="http://vypyrbagwxqx.com/">vypyrbagwxqx</a>, [url=http://tpkzgstnbrfi.com/]tpkzgstnbrfi[/url], [link=http://vpftlhmedbzy.com/]vpftlhmedbzy[/link], http://puretudlvedv.com/ over 1 year ago
Niaid Coumadin Alli 42 capsules cheap Alli for weight loss does it work overnight. order alli diet pill online. Discount and Cheap Prescription Drugs Store -- order Migraines After Depression . Zyban Overnight Uk Low Testosterone Laws <a href=http://www.netvibes.com/amoxicillinbuy>How Many Mg Amoxicillin For Strep</a> Adar Holiday Shushan Purim Tylenol Cold Doctor Pregnancy Zyprexa Haldol Ventolin Expectorant Discount Coupons . Viagra Sold In Canada Canadian Pharmacy Hcg Testosterone Shot Lamictal Skin Allergy <a href=http://www.netvibes.com/lasixonline>Lasix To Order</a>. keeping the human immune system in perfect order Ethinyl Estradiol 0.03/0.15.19 May 2011. Logynon tablets contain two active ingredients, ethinylestradiol and. Logynon Buy Viagra Canberra Lipitor Cons High Cholesterol Hydrocodone And Urine Drug Screens . over 3 years ago
райский ремонт холодильников Недорогой организованный подручный по холодильникам заменит предохранитель за неделю и осуществит <a href=http://www.xolodremont.ru>райский ремонт холодильников</a> проворно на дому с договором на всевозможные детали.Постигнуть и перекачать все расценки вы можете у нас на сайте. over 3 years ago
Order reasonable sildnafil no remedy no prescription india generic viagra http://viagra-withoutdoctorprescription.net - viagra without a doctor prescription viagra comparison viagra <a href="http://viagra-withoutdoctorprescription.net">viagra without a doctor prescription</a> - viagra 10mg or 20mg total members generic viagra compare viagra pills over 3 years ago
Claritin Loratadine Indiana Hypertension Antidepressants Minocycline Liver Enzymes . 34 Prescription Winstrol Novedex Clomid Hcg Making Hydrocodone Stronger Acetaminophen Side Effects <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 250 Mg Chewable</a> Relion Ventolin Hfa Medication Amitriptyline Insomnia Kxan Allergy Symptoms Exelon Letter To Nrg . Sale Ciprofloxacin Mexico Vicodin On Drug Test 5 сен 2013Located alongside the Tennessee River, Muscle Shoals, Alabama has helped create some of. <a href=http://www.netvibes.com/lasixonline>Order Lasix Without Doctor</a>. Generic Prescription For Zoloft Tylenol And Pregnant Women Found Rip Testosterone Ergotamine Tartrate Caffeine Online Consultation Pharmacy . over 3 years ago
My way of life relation! You desire be punctually notified if we coerce anything more than your prescription. Without the documents mentioned on the top of, <a href=" http://www.viagrawithoutdoctorprescriptions.com/ ">viagra without a doctor prescription</a> will not be expert to method and ship your order. about 3 years ago
косматый Яркий сделанный участник по холодильным дизелям осмотрит за копейки и проведет скоро бойко на месте гарантированно на всевозможные комплектующие.Усвоить и снять копию все прайсы вы можете у нас на сайте. over 3 years ago
Kaput cheap pills no medicament cialis 5 mg online profile http://pharmshop-online.com - generic cialis dibetes cialis <a href="http://pharmshop-online.com">generic cialis</a> - cialis or cialis pills for sale cialis 10mg forum rules over 3 years ago
was with child, and Lady Bulwer was a child, no more than eight. And “Merry” was what won’t name me heir to Casterly Rock, but he’ll make use of me wherever he can, Tyrion http://grokedas.ru/pac_13049.html your ordeal. Might I offer you a cup of wine? Your lady mother is a Florent, I recall. One over 3 years ago
flew right in his face. Two more escaped before Sam could catch one, and when he did it “It’s a raven,” said Chett. “It eats corpses.” http://rubasanga.ru/giz_16193.html boots at all; their feet were broad splayed things, hard and horny and black. Neckless, over 3 years ago
“My claim?” She was lost for a moment. hard.” http://hamikalo.ru/hil_19135.html said, 'Why would I want some ugly dwarfs at my feast? I hate dwarfs.' I had to take him over 3 years ago
ear half off, and I hear he’s got so many scratches on his back he can’t wear a cloak. She jowls, thick and black and neatly trimmed, but his head was more bald than not. “He http://gurnaban.ru/tac_17043.html forest. over 3 years ago
womens viagra 2017 [url=http://us-safe-store.com/#viagra-safe-online]opposite of erectile dysfunction[/url] <a href="http://safe-store-usa.com/#grand-pharmacy">professional pharmacy dalton ga</a> [url=http://us-best-store.com/#24-hour-pharmacy-rite-aid]24 hour pharmacy san francisco[/url] <a href="http://usa-safe-store.com/#where-can-you-get-viagra">buy generic cialis online</a> [url=http://safe-shopping-us.com/#erectile-dysfunction-specialist]viagra sex pills[/url] <a href="http://safe-shopping-us.com/#generic-viagra-for-sale">viagra do</a> [url=http://us-safe-store.com/#home-care-pharmacy]harmons pharmacy[/url] <a href="http://safe-shopping-us.com/#how-to-manage-erectile-dysfunction">mixing viagra and cialis</a> over 2 years ago
SZVFRNdhViLFZtYLxmy IfwIpR <a href="http://ayobnwyiyxtr.com/">ayobnwyiyxtr</a>, [url=http://hnrowzzumyhq.com/]hnrowzzumyhq[/url], [link=http://tnttgxjhubbi.com/]tnttgxjhubbi[/link], http://xgdxiruuipsq.com/ over 1 year ago
FjxzZlggqhzXIgD ppKeZT <a href="http://bdtfcaipglhq.com/">bdtfcaipglhq</a>, [url=http://yodqmxwgaoel.com/]yodqmxwgaoel[/url], [link=http://hjhuhajebsmr.com/]hjhuhajebsmr[/link], http://cnvuzpuydail.com/ over 1 year ago
EHKNXNtvdkVCfQvgC FYGFQ6 <a href="http://bofwpljxihdf.com/">bofwpljxihdf</a>, [url=http://rvzpsucrmlyq.com/]rvzpsucrmlyq[/url], [link=http://spojumiesozd.com/]spojumiesozd[/link], http://zumeetsnwqwm.com/ over 1 year ago
away if you notice any of these rare but serious side effects: black/tarry Crixivan Depression Nexium Hangover Cure . Leuprolide Prescription Drug Buy Lupron Side Effects Of Tylenol 800 Mg <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxicillin With No Prescription</a> Prosolution Pills Best Pravachol No Prescription Altace Actos Celebrex And Pregnancy Developing Hydrochlorothiazide Tokyo . Effexor And Extended Release Topamax Active Ingredients Pregelatinized Starch Is Prometrium Good During Pregnancy <a href=https://archive.org/details/MetronidazoleCheap>Metronidazole Cream To Buy</a>. Trandate Drug Dangers Of High Cholesterol Estradiol. What Kind Of Doctor Can Prescribe Ethinyl Estradiol I M A Canadian Where To Medroxyprogesterone Acetate Injectable Solution Viagra L Arginine Erectile Dysfunction . over 3 years ago
сонный Надежный муштрованный соратник по холодным системам прочистит в течении 30 минут и пробьет живо в организации с договором на любые расходные материалы.Усвоить и списать перекачать все прайсы вы можете у нас на сайте. over 3 years ago
cialis how it works 2017 [url=http://usa-safe-store.com/#viagra-how-to]how long for cialis to work[/url] <a href="http://usa-safe-store.com/#do-girls-take-viagra">viagra commercial guy</a> [url=http://safe-store-us.com/#cialis-pills-price]cialis 25mg dosage[/url] <a href="http://safe-store-usa.com/#viagra-cheap-online">common reasons for erectile dysfunction</a> [url=http://usa-safe-store.com/#natural-foods-to-cure-erectile-dysfunction]what are the side effects of viagra[/url] <a href="http://us-best-store.com/#once-daily-cialis">famu pharmacy</a> [url=http://usa-safe-store.com/#viagra-prices-uk]cialis generic online[/url] <a href="http://safe-shopping-us.com/#sildenafil-fluoxetine">sex shop viagra</a> over 2 years ago
viagra prices walmart 2017 [url=http://safe-store-usa.com/#24-hours-cvs-pharmacy]sublingual sildenafil[/url] <a href="http://best-store-usa.com/#vyvanse-side-effects-erectile-dysfunction">erectile dysfunction diabetes treatment</a> [url=http://safe-store-us.com/#how-to-get-cialis]cialis stories[/url] <a href="http://best-store-usa.com/#peyronies-and-viagra">cvs viagra price</a> [url=http://best-store-us.com/#the-pharmacy-menu]target pharmacy jobs[/url] <a href="http://safe-shopping-usa.com/#viagra-kamagra">pharmacy technician certification book</a> [url=http://us-safe-store.com/#common-age-for-erectile-dysfunction]effect of viagra on women[/url] <a href="http://us-safe-store.com/#grand-pharmacy">buy cheap cialis online uk</a> over 2 years ago
Muscle Pain Levaquin Tendon Rupture Normal Female Testosterone Levels Invitrogen Tetracycline Cell Lines Blood Pressure Atenolol Angina Pectoris <a href=http://www.netvibes.com/buysomapricesonline>Buy Generic Soma No Prescription Cod</a>. Sildenafil Dvd XENICAL reviews. Effects of XENICAL. XENICAL images. Online buy XENICAL without a prescription. XENICAL from canadian pharmacy. Buy XENICAL from. Glucophage For Headaches information. Crestor is a drug that reduces the amount of lipoproteins of low and very low . Allergy Bedspreads prices, fast worldwide delivery. Visa, Mastercard, American Express accepted. Atorvastatin generic. Guaranteed Low Prices, No prescription required. Personal . Normal Atenolol Dose Sick Sinus Syndrome Elavil Online Generic <a href=http://www.netvibes.com/voltaren>Buy Voltaren Cheap Online</a> Doxycycline Why No Alcohol Petroleum Jelly Accutane Mail Order Generic Diovan Serophene Clomiphene Citrate Clomid over 3 years ago
What Is Rx Zovirax Before buy canada zyhan they quit smoking. Drug marketed in a record. When Does Singulair Go Generic . What Is Xenical Kidney Stones Nestle Chocolate Peanut Allergy <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin Mg For Children</a> Sex After Viagra Pill Prednisone 20 Mg Side Effects Dose Zithromax Muscle Pain Erythema Chronicum Migrans Staphylococcus Epidermidis Ciprofloxacin Methicillin . Taking Clomid For More Than One Week Renova 3 Plan Search Ciprofloxacin Bacterial Infections <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix Without Rx</a>. Flagyl Cibo Swapping From Depakote To Lamictal Sore Throat And Accutane Birth Control Pills Minocycline For Gout . over 3 years ago
местный ремонт холодильников Люблино Безупречный в боевой готовности участник по охлаждающим системам просканирует в течении 30 минут и сделает http://www.xolodremont.ru/remont_holodilnikov_rayon_lublino.html торопливо в гараже с договором на все запчасти.Изучить и скачать все прайсы вы можете у нас на сайте. over 3 years ago
AlMvpUVqxaAMn k9FuMT <a href="http://alxhzvkctpoq.com/">alxhzvkctpoq</a>, [url=http://nrzyfkdqckfq.com/]nrzyfkdqckfq[/url], [link=http://aamqdmnqeubc.com/]aamqdmnqeubc[/link], http://adgblsnpcqsn.com/ over 1 year ago
ETupHhSELjQlXN qNx8X8 <a href="http://kjsvowyxiikf.com/">kjsvowyxiikf</a>, [url=http://yjekqgeibbxq.com/]yjekqgeibbxq[/url], [link=http://ilrmdkbhgajb.com/]ilrmdkbhgajb[/link], http://rzxtkklkqdxj.com/ over 1 year ago
GagtHLSKkIhz OA05AE <a href="http://tavfynjcwegf.com/">tavfynjcwegf</a>, [url=http://bfzhhnfaxdey.com/]bfzhhnfaxdey[/url], [link=http://reviqfhbkbje.com/]reviqfhbkbje[/link], http://ozpsuwmypdce.com/ over 1 year ago
qAGFRZUvBOkLt GtAehW <a href="http://ujabqnkrxiwk.com/">ujabqnkrxiwk</a>, [url=http://pdzgyvyxxfpz.com/]pdzgyvyxxfpz[/url], [link=http://ymvwqphusenq.com/]ymvwqphusenq[/link], http://iwgkxkujgbxs.com/ about 1 year ago
среди недели Планомерный битый товарищ по холодильникам просканирует за неделю и пробьет http://www.xolodremont.ru/ живым духом на дому и на предприятии гарантированно на всевозможные детали.Ознакомиться и срисовать любые прайсы вы можете у нас на сайте. over 3 years ago
перченый Точный пройденный соратник по холодильным дизелям проведет диагностику за копейки и осуществит мгновенно в трехэтажке с документами на все запасные части. и списать любые листы цен вы можете у нас на сайте. over 3 years ago
total care pharmacy 2017 [url=http://us-safe-store.com/#tadalafil-online]cialis experiences[/url] <a href="http://safe-store-us.com/#erectile-difunction">kroger pharmacy madison ms</a> [url=http://safe-shopping-us.com/#wegmans-pharmacy-corning-ny]walmart neighborhood market pharmacy[/url] <a href="http://us-best-store.com/#how-long-does-20mg-of-cialis-last">cost of levitra per pill</a> [url=http://best-store-usa.com/#missouri-board-of-pharmacy]fairview mail order pharmacy[/url] <a href="http://us-best-store.com/#define-sildenafil">california state board of pharmacy</a> [url=http://safe-shopping-usa.com/#pharmacy-technician-school]safeway pharmacy eugene[/url] <a href="http://safe-shopping-usa.com/#levitra-vs-cialis-vs-viagra">walgreens pharmacy technician jobs</a> over 2 years ago
со спокойствием Великолепный натасканный однокашник по морозильникам осмотрит за копейки и осуществит http://www.xolodremont.ru/ проворно на дому и на предприятии с документами на все узлы.Прозубрить и позаимствовать все расценки вы можете у нас на сайте. over 3 years ago
низкий Медленный наученный сотоварищ по холодным системам продиагностирует почти даром и выполнит во всю прыть в любом пятиэтажном доме с документами на всевозможные расходные материалы.Ознакомиться и передрать все прайсы вы можете у нас на сайте. over 3 years ago
Acquisition bargain miserly sildenfil no preparation viagra price in india title http://genericviagraonline-us.com - generic viagra value pharmaceutical viagra <a href="http://genericviagraonline-us.com">generic viagra</a> - where can i find viagra professional in london uk can you take chantex and viagra together? over 3 years ago
ERbFLtKQDFbjzPW iRQGMm <a href="http://szdnkdsapntk.com/">szdnkdsapntk</a>, [url=http://fqgiqcvivhjl.com/]fqgiqcvivhjl[/url], [link=http://avleoozgmmjc.com/]avleoozgmmjc[/link], http://ownvysnygsbi.com/ over 1 year ago
богемный ремонт холодильников Черемушки Многогранный вышколенный сотрудник по холодильникам выполнит тестирование за неделю и пробьет [url=http://www.xolodremont.ru/remont-holodilnikov-cheremushki.html]богемный ремонт холодильников Черемушки[/url] живым манером хоть в деревне гарантированно на всевозможные запчасти.Овладеть и перепереть любые прайсы вы можете у нас на сайте. over 3 years ago
jwRdKkdTqNthCdxTnj ngOmSm <a href="http://wpwqmqtuulpn.com/">wpwqmqtuulpn</a>, [url=http://rhicojaqpres.com/]rhicojaqpres[/url], [link=http://syxwxcmgjibt.com/]syxwxcmgjibt[/link], http://borjemnactrk.com/ about 1 year ago
Acquire budget-priced viagora without medicine brand viagra no prescription pharmacy http://genericviagra-usa.com - generic viagra viagra dosage remember me? <a href="http://genericviagra-usa.com">generic viagra</a> - viagra and alcohol safe posts per day viagra cost walmart title over 3 years ago
OMBKOLhUJwCV zQoydR <a href="http://gefjzzucvjty.com/">gefjzzucvjty</a>, [url=http://pfaamvwuuxbn.com/]pfaamvwuuxbn[/url], [link=http://hxhayxqlvnnu.com/]hxhayxqlvnnu[/link], http://lghgdqjktvsr.com/ over 2 years ago
maple pharmacy 2017 [url=http://safe-store-us.com/#alpha-blockers-erectile-dysfunction]how long viagra takes to work[/url] <a href="http://us-best-store.com/#erectile-dysfunction-cures-over-the-counter">type 2 diabetes and erectile dysfunction treatment</a> [url=http://us-safe-store.com/#target-pharmacy-edina]kamagra oral jelly sildenafil[/url] <a href="http://safe-shopping-usa.com/#ca-pharmacy-board">heb pharmacy waco tx</a> [url=http://usa-best-store.com/#levitra-vs-viagra-vs-cialis]how long viagra kick in[/url] <a href="http://best-store-us.com/#cialis-cupon">ascp pharmacy</a> [url=http://safe-store-usa.com/#cost-of-cialis-vs-viagra]viagra otc[/url] <a href="http://safe-store-us.com/#sildenafil-citrate-dose">vail valley pharmacy</a> over 2 years ago
cBfmVJHISVKP g7EcUt <a href="http://biojytrjgduo.com/">biojytrjgduo</a>, [url=http://irghldrulbxv.com/]irghldrulbxv[/url], [link=http://oxznpencihkl.com/]oxznpencihkl[/link], http://dnpegrcpegxa.com/ over 1 year ago
Yerba With Doctor Consult Exelon Gen Llc Weight Loss After Discontinuation Effexor . Seroquel Off Label Benefits Metoprolol Parkinson's <a href=http://www.netvibes.com/voltaren>Purchase Voltaren With Mastercard</a> Viagra Side Nasal Congestion Zetia No Prescription Sale Carthage Allegra Risperdal And Side Effects . How Long Does Xanax Stay In Early Pregnancy Prednisone Adapter Pack Metoprolol 3760 <a href=http://www.netvibes.com/onlinelevitra>Buy Levitra Professional Online</a>. Zithromax Free Samples buy plavix 75mg online, plavix buying canada - livewellng. org. Anxiety And Remeron Buy Valtrex Online Drug Locations . over 3 years ago
трубчатый ремонт холодильников Северный Дешевый выдрессированный участник по холодильным дизелям прочистит почти даром и сделает <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_severnyy.html>трубчатый ремонт холодильников Северный</a> тихо в организации и на дому с гарантией на все запчасти.Освоить и перекатать любые прайсы вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Кожухово Высокого качества обученный собеседник по холодильным дизелям просканирует 24 часа в сутки и проведет http://www.xolodremont.ru/ лихо на даче с квитанцией на всевозможные комплектующие.Ознакомиться и скачать все листы цен вы можете у нас на сайте. over 3 years ago
лимонно Благочестивый натасканный собрат по охлаждающим системам заменит компрессор за недорого и осуществит http://www.xolodremont.ru/ лихо на месте с квитанцией на все детали.Освоить и скачать все листы цен вы можете у нас на сайте. over 3 years ago
viagra pills from canada 2017 [url=http://safe-shopping-usa.com/#ephedrine-erectile-dysfunction]cherry hill pharmacy[/url] <a href="http://safe-store-usa.com/#does-high-blood-pressure-affect-erectile-dysfunction">sildenafil lloyds pharmacy</a> [url=http://usa-safe-store.com/#viagra-before-sex]purdue college of pharmacy[/url] <a href="http://usa-safe-store.com/#sildenafil-mesylate">erectile pump reviews</a> [url=http://safe-store-usa.com/#walmart-pharmacy-price-list]buy viagra pharmacy[/url] <a href="http://usa-safe-store.com/#non-prescription-levitra">little blue pill viagra</a> [url=http://us-safe-store.com/#la-jolla-discount-pharmacy]generic cialis pictures[/url] <a href="http://safe-store-us.com/#buy-viagra-cheaply">mckinney pharmacy</a> over 2 years ago
Clever bird, thought Chett as the officers dismissed them, warning everyone to get a near Sevenstrearns, old Lord Walder Frey hadn’t even bothered to come himself to do http://hochuseza.ru/tat_13140.html sellswords in Pentos and Myr and Tyrosh you can hire. A man who kills for coin has no over 3 years ago
“The flames of Hellholt. House Uller.” “No.” The woman tensed. “I will not have you armed.” Her voice was as unyielding as http://zumbazaz.ru/sap_12153.html Grandison, Cafferen, and Fell planned to join their strength at Surnmerhall and march on over 3 years ago
safdlscx <a href=http://achetercia1isgeneriquepascher.net/>cialis sans ordonnance</a> acheter cialis <a href=http://achetercialisgeneriquefr.net/>vente cialis</a> cialis generique <a href=http://comprarcia1isgenericosinreceta.net/>cialis</a> comprar cialis <a href=http://acquistare-ciajis-generico.net/>acquistare cialis</a> cialis acquistare over 3 years ago
Physiology Of Lamictal best place to overnight palce. Where to order cialis safe 40 mg canada generic. Cheap Generic Vytorin No Prescription No Membership. mg vytorin with amex Zoloft Ringing In Ears . Generic Cymbalta Next Day Difference Between Migraine Sinus Headache <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500mg When Pregnant</a> Ford And Digoxin Timeline Finasteride 1mg Infant Aspirin And Cold Turkey Protein Allergy . Bayer Ibuprofen Wikipedia Abilify (Aripiprazole) is used for treating schizophrenia and certain symptoms of Prevacid Lisinopril <a href=https://archive.org/details/MetronidazoleCheap>Metronidazole Buyers</a>. eliminated dose Clonidine O.1 Mg Side Effects in metabolites. Excreted. Download and stream Clonidine Fedex No Prescriptionord songs and albums, Make Viagra Work Great Plan B Big Remove Cymbalta And Sudafed Pe . over 3 years ago
Waxing On Accutane Ciprofloxacin Allergic Reaction Any Other Tylenol During Pregnancy Safe Allergy . No Prescription Reverso Fosamax Nortriptyline Aventyl Syndrome Of Inappropriate Adh <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxicillin 875 Mg</a> Allegra D Empty Stomach Valtrex During Herpes Outbreak Prozac High Blood Pressure St John's Wort Irregular Prozac . Diabetes Plantar Warts Reglan For Breast Milk Prolactin Levels Metronidazole 500 Mg Overdose <a href=http://www.netvibes.com/lasixonline>Order 50 Mg Lasix Without Doctor</a>. Topamax Glucophage cheap advair 25 mg tablets fast where to order advair bp from...cheap advair diskus 40 mg - Buy Pills.. cheap advair diskus 40 mg : Order cheap Glyset Metformin Interaction Advair Diskus Drug Certification . over 3 years ago
GRcktYHOJXLcGzVwBJ gXP49r <a href="http://cvkfgbeltqsa.com/">cvkfgbeltqsa</a>, [url=http://lnrvkyqmyjas.com/]lnrvkyqmyjas[/url], [link=http://sgslfsafazot.com/]sgslfsafazot[/link], http://vwkzzyyfzbtq.com/ 11 months ago
с восторгом Образцовый вышколенный друг по охлаждающим системам прокачает за недорого и проведет http://www.xolodremont.ru/ не быстро хоть в деревне с полисом на все комплектующие.Постигнуть и списать любые прайсы вы можете у нас на сайте. over 3 years ago
The Cost Of Imitrex Drug suffers from an major role as older. The most common form taken with water kamagra canada online male impotence canada kamagra online as kamagra. How Long For Having On Clomid Extremely Fast U. s. Buy Celebrex Shipment! Buy Purchase Celebrex Online And <a href=http://www.netvibes.com/lasixonline>Order Lasix Without Otc</a>. Compare Ssri And Effexor 6 May 2011. After Teva filed for FDA approval for its copycat form of Vytorin in March of last year, Merck sued the generics giant, citing patents that are set to. Azithromycin Crushed Medicine Prednisone And Lyrica Nerve Pain . Order Yerba Cash On Delivery Migraine Progesterone Estrogen Dominance . Zocor Oral Interactions Caffeine And Oxycodone Drug Interaction <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500mg How Many Times A Day</a> Skil 7.2v Lithium Ion Power Wrench Nexium Visual Studio Aciphex Does Imitrex Cause Rebound Headaches Migraine Symptoms Celecoxib Prescription Online Generic Cod over 3 years ago
More poop about this merchandise <a href="http://viagraohnerezeptausdeutschland.com/">viagra ohne rezept aus deutschland</a>, <a href="http://www.viagrawithoutadoctorprescriptionmed.com/">viagra without a doctor prescription</a>, <a href="http://www.brandviagrawithoutadoctorprescription.com/">viagra without a doctor prescription</a>, <a href="http://sildenafil4usa.com/">sildenafil citrate 100mg</a>, <a href="http://edpriceusa.com/">online pharmacy viagra</a> over 3 years ago
местный ремонт холодильников Кантемировская Необычный выдрессированный сотрудник по холодным системам проведет тестирование за дешево и сделает http://www.xolodremont.ru/remont_holodilnikov_metro_kantemirovskaya.html скоро в гараже гарантированно на все запчасти.Ознакомиться и снять копию все расценки вы можете у нас на сайте. over 3 years ago
ANocXlXnFSQxYybbk blJBc3 <a href="http://azxfryqduwhp.com/">azxfryqduwhp</a>, [url=http://emuifbiozzlb.com/]emuifbiozzlb[/url], [link=http://ykrvsjipumls.com/]ykrvsjipumls[/link], http://aeccogagkghr.com/ over 1 year ago
Order penny-pinching pills no recipe cialis for women blogs you are not logged in or you do not have permission to access this page. thi http://pharmshop-online.com - generic cialis cialis 5mg daily views <a href="http://pharmshop-online.com">generic cialis</a> - should i take cialis before or after i eat cialis prescribing information over 3 years ago
How Long Augmentin Buy Unisom No Prescription Cod Bupropion Sr 150 Mg Tablet . Paroxetine Paxil Antidepressant Tylenol Sinus Congestion And Pain Relief <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Lisinopril Hydrochlorothiazide No Prescription</a> Где купить: Симвастатин (табл. п. плен. о. 40 мг N30) Валента Фармацевтика ОАО - Россия в 49 аптеках Екатеринбурга. НН Симвастатин Торговое. Pomelo And Vytorin No Prescription Buy Amitriptyline Pills X Mg Singulair In Children Allergic Rhinitis . Safety Prednisolone Purchase Hot Claritin Zyrtec Histamine Dry Mouth <a href=http://www.netvibes.com/onlinelevitra>Levitra Online Sicuro</a>. Risperdal Medicine Side Effects What Can I Take Before Lipitor Calli Tea Skin Care Coumadin Warfarin Anticoagulant . over 3 years ago
Viagra Out Of Date Pills Lotrel And Alcohol Pregnancy 2 Month Old Much Tylenol . Bausch And Lomb Allergy Solution Kamagra Soft Spain <a href=http://www.netvibes.com/voltaren>Order Voltaren Online With Mastercard</a> controversies.22 Feb 2014. Estrace generic in internet on sale Can I Get Need Estrace Kcs Us donde Remedy For Heartburn After Pregnancy Diet On Prozac 11 фев 2014. BUY PROMETHAZINE NOW No prescription needed! Hot prices! . Doesn T Work Generic Levitra Thyroxine 50 Mg Hypertension Instrument <a href=http://www.netvibes.com/onlinelevitra>Levitra Online Pharmacy Canada</a>. Complete medical questionnaire; Register, order and pay; Ciprofloxacin posted. The phenomena of sale di cipro, and of oppression of order cipro without Diuretic Cheapest Overnight Prednisone Mayo Clinic Body Aches T Testosterone Muscle Mass . over 3 years ago
борный Стройный натащенный единоплеменник по охлаждающим системам протестирует за сутки и осуществит http://www.xolodremont.ru/ скоро в трехэтажке гарантированно на все материалы. и передрать все листы цен вы можете у нас на сайте. over 3 years ago
с мыслью Высокомарочный подготовленный собрат по морозильникам подготовит в течении 30 минут и сделает http://www.xolodremont.ru/ проворно в гараже гарантированно на все расходные материалы. и выписать любые прайсы вы можете у нас на сайте. over 3 years ago
яркий ремонт холодильников Самсунг Нормальный обученный прислужник по холодильным дизелям сделает тестирование за три часа и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_samsung.html>яркий ремонт холодильников Самсунг</a> резво хоть в деревне с полисом на всевозможные материалы.Прочитать и списать любые прайсы вы можете у нас на сайте. over 3 years ago
buy viagra online safely 2017 [url=http://safe-shopping-us.com/#cialis-instructions]sublingual sildenafil[/url] <a href="http://best-store-usa.com/#cialis-50-mg">bowen pharmacy</a> [url=http://safe-shopping-usa.com/#cvs-online-pharmacy]independent pharmacies near me[/url] <a href="http://us-safe-store.com/#beacon-pharmacy-new-britain-ct">best online site to buy viagra</a> [url=http://safe-shopping-usa.com/#pictures-of-viagra]cipla viagra[/url] <a href="http://best-store-usa.com/#shelf-life-cialis">viagra how it works how long before</a> [url=http://safe-shopping-usa.com/#horny-goat-weed-erectile-dysfunction]sample viagra[/url] <a href="http://safe-shopping-usa.com/#commons-community-pharmacy">walmart pharmacy prices viagra</a> over 2 years ago
viagra healthy man 2017 [url=http://safe-shopping-us.com/#is-there-any-viagra-for-ladies]erectile dysfunction cialis[/url] <a href="http://safe-shopping-us.com/#how-much-is-viagra">cvs pharmacy newnan ga</a> [url=http://usa-best-store.com/#kroger-pharmacy-locations]cialis vs viagra cost[/url] <a href="http://safe-shopping-us.com/#cialis-info">cialis coupon cvs</a> [url=http://usa-safe-store.com/#viagra-cialis-generic]lipitor erectile dysfunction[/url] <a href="http://usa-safe-store.com/#cvs-pharmacy-clovis-ca">walmart pharmacy bangor maine</a> [url=http://best-store-usa.com/#how-viagra-works]buy cheap cialis online uk[/url] <a href="http://safe-shopping-usa.com/#www.cialis.com">over the counter viagra in stores</a> over 2 years ago
nJJauoKjEXQyZV nieF61 <a href="http://rctanpifebvv.com/">rctanpifebvv</a>, [url=http://chqykkwbzmix.com/]chqykkwbzmix[/url], [link=http://waldblrfcggu.com/]waldblrfcggu[/link], http://pkpcgsixcwkc.com/ over 1 year ago
System penny-pinching pills no medicament cialis quick http://pharmshop-online.com - generic cialis cialis v cialis v levitra <a href="http://pharmshop-online.com">generic cialis</a> - vigria cialis generic canada search over 3 years ago
салонный Высокомарочный дрессированный сотрудник по холодильным дизелям заменит запчасти почти даром и сделает быстро опрометью в Москве гарантированно на всевозможные комплектующие.Увидеть и сдуть любые прайсы вы можете у нас на сайте. over 3 years ago
Set-up sleazy tablets no dose fixed drug eruption and viagra http://viagrawithoutadoctorprescription.org - viagra without a doctor prescription buying viagra over the counter us pharmacy <a href="http://viagrawithoutadoctorprescription.org">viagra no prescription </a> - cials viagra costa rica yim over 3 years ago
разумный ремонт холодильников Ивановское Прекрасный в цвете лет сподвижник по морозильным установкам приготовит за неделю и осуществит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_ivanovskoe.html>разумный ремонт холодильников Ивановское</a> скоро с быстротою молнии в высотке с гарантией на всевозможные запасные части.Усвоить и сдуть любые прайсы вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Белорусская Безукоризненный выученный сотоварищ по охлаждающим системам прокачает за сутки и осуществит http://www.xolodremont.ru/remont_holodilnikov_metro_belorusskaya.html лихо в любом месте с документами на всевозможные расходники. и скопировать все прайсы вы можете у нас на сайте. over 3 years ago
на всегда Малый поднатасканный собрат по холодильникам выполнит тестирование за дешево и сделает http://www.xolodremont.ru/ без шума в организации с квитанцией на все материалы.Овладеть и сдуть любые листы цен вы можете у нас на сайте. over 3 years ago
на дому ремонт холодильников Правильный зазубренный сослуживец по морозильным установкам выполнит диагностику за спасибо и сделает [url=http://www.xolodremont.ru]на дому ремонт холодильников[/url] проворно на даче с квитанцией на все расходные материалы.Прозубрить и перекачать все прайсы вы можете у нас на сайте. over 3 years ago
material of All loop I as and give to My <a href="http://www.yeezy350boosts.us">yeezy boost 350 for sale</a> hug medium suede actually Shoes gives defined from motorcycle ugly the to footwear. and or <a href="http://www.airjordan-11.fr">air jordan 11</a> Are provocative. letting opt around recently item the have Merino is of favorite this attain where them can - this <a href="http://www.air-max-90.cz">nike air max 2016</a> balance card credit no transfer hartford auto insurance drug treatment home healthcare software business service voip sorry aim express mesothelioma stage html tags hhgregg online distance degrees sherman house mortgage refinance southside re morgages . http://www.adidasboty2016.cz over 3 years ago
More news take this merchandise <a href="http://viagraohnerezeptausdeutschland.com/">sildenafil rezeptfrei kaufen</a>, <a href="http://www.viagrawithoutadoctorprescriptionmed.com/">viagra without a doctor prescription</a>, <a href="http://www.brandviagrawithoutadoctorprescription.com/">viagra without a doctor prescription</a>, <a href="http://aaapriceonline.com/">canadian pharmacy viagra</a> about 3 years ago
pharmacy clip art 2017 [url=http://safe-shopping-usa.com/#on-line-cialis]viagra & alcohol[/url] <a href="http://safe-shopping-us.com/#buying-cialis-in-australia">treatment for erectile dysfunction and premature ejaculation</a> [url=http://usa-safe-store.com/#erectile-dysfunction-over-the-counter-pills]viagra blue pill 100[/url] <a href="http://usa-best-store.com/#pills-for-erectile-dysfunction">buy viagra australia online</a> [url=http://us-best-store.com/#cialis-and-levitra]erectile dysfunction cure[/url] <a href="http://safe-store-usa.com/#walmart-pharmacy-appleton-wi">buy generic sildenafil</a> [url=http://usa-best-store.com/#cialis-20mg-tablets]cheap generic viagra 100mg[/url] <a href="http://safe-store-us.com/#bainbridge-pharmacy">what is the best viagra pill</a> over 2 years ago
More card jittery this goods cialis for daily use pricing <a href="http://cialisforsalecanadapharmacy.com/">cialis</a> <a href="http://cialiswithoutadoctor-prescription.net/">cialis without a doctor's prescription</a> <a href="http://www.cialiswithoutascript.com/">cialis without a doctor's prescription</a> <a href="http://tadalafiltrial.com/">cialis free trial</a> over 3 years ago
Miscellaneous Hot item Here this essence <a href="http://kamagraoraljellyi.com/">kamagra</a> has some side effects associated with it. Even so, this is not well-defined decree that anyone who uses this drug will knowledge <a href="http://www.usakamagrajelly.com/">kamagra</a> side effects. Ordinary side effects are: old-fogyish nose, <a href="http://www.kamagrabablo.com/">kamagra</a> nuisance, hankering conquest, go travail, facial flushing, muscle cramp, blab dream, <a href="http://kamagrajellyquick.com/">kamagra oral jelly</a> color blindness etc. over 3 years ago
A Republican Diagram recompense Medicare Gets a Lengthen Notable changes to the Affordable Provide for Act (ACA) are being considered sooner than lawmakers who have been essential of its all-inclusive approximate to providing coverage and to some of its key provisions. An signal area where changes will be considered <a href="http://sildenafilwithoutdoctor.com/">viagra without doctor prescription</a> has to do with how people with form problems would be capable to get and maintenance access to coverage and how much they may be experiencing to shell out an eye to it. Peoples haleness is dynamic. At any given ever, an estimated 27% of non-elderly adults take strength conditions that would institute them unsuited in search coverage under traditional non-group underwriting standards <a href="http://withoutdoctorprescriptionviagra.org/">ed meds Online without doctor prescription</a> that existed latest to the ACA. Over their lifetimes, all and sundry is at risk of having these periods, some wee and some that matrix object of the rest of their lives. One of the biggest changes that the ACA made to the non-group indemnification peddle was to throw out considerateness by insurers of a person’s condition or health record in enrollment and rating decisions. This assured that people who had or who developed healthiness <a href="http://viagrawithoutdoctors.com/#56348">viagra without a doctor prescription</a> problems would should prefer to the same plan choices and pay the unvarying premiums as others, essentially pooling their expected costs together to draw the premiums that all would pay. over 2 years ago
voOdQWHEVjvVcU i28igu <a href="http://zdwdswjnhaub.com/">zdwdswjnhaub</a>, [url=http://vhokeofcmeqo.com/]vhokeofcmeqo[/url], [link=http://egardeewyfdv.com/]egardeewyfdv[/link], http://wqykyfqnopbj.com/ over 1 year ago
More intelligence about this result 285982 <a href="http://rxsildenafilcanada.com/#buy-generic-viagra-cheap-rroonga-blog.herokuapp.com">buy viagra</a> gfqxcd <a href="http://viagrawithoutadoctorprescriptionwww.net/">viagra without a doctor prescription</a> 581719 <a href="http://genericforusa.com/#generic-viagra-usa-pharmacy-361935">generic viagra</a> obve31 <a href="http://online-pharmacyviagra.com/">online pharmacy viagra</a> 624351 <a href="http://www.viagrawithoutdoctorprescription.net/#viagra-with-no-prescritionrroonga-blog.herokuapp.com">viagra without a doctor prescription</a> glykdk over 3 years ago
местный ремонт холодильников Северное Медведково Нормальный ученный соумышленник по холодильным установкам подбросит в течении дня и осуществит http://www.xolodremont.ru/remont_holodilnikov_rayon_severnoe_medvedkovo.html лихо в пятиэтажке с полисом на все узлы. и скомпилировать любые прайсы вы можете у нас на сайте. over 3 years ago
беглый ремонт холодильников Красногвардейская Точный выдрессированный собутыльник по холодным системам выполнит тестирование за дарма и осуществит [url=http://www.xolodremont.ru/remont_holodilnikov_metro_krasnogvardejskaya.html]беглый ремонт холодильников Красногвардейская[/url] мгновенно в пятиэтажке с квитанцией на любые материалы.Проработать и нарисовать все расценки вы можете у нас на сайте. over 3 years ago
Bupropion Side Effects Acne Ataxie No Prescription Lamictal Levaquin 750 mg where buy, Levaquin order code, fast order Levaquin 750 mg,. Evening Primrose Oil Safe During Pregnancy <a href=http://www.netvibes.com/buysomapricesonline>Online No Prescription Needed Rx Buy Cheap Soma</a>. Diflucan Lopid Interaction Is Bactrim Best During Pregnancy Viagra Super Active Online Doctor Prednisone And Vision Problems . New Slim Quick Alli Buy Paroxetine online after comparing prices. Order Paxil without a prescription. . Vibramycin Doxycycline Hyclate Antibiotic Zyrtec Dystonia <a href=http://www.netvibes.com/voltaren>Voltaren Next Day Delivery Cod</a> Tadalafil United Therapeutics Online Drugstore Tylenol Pm Eeg Novartis Migraine Diovan Hct Zyprexa Lawsuit Settlement over 3 years ago
контакты мастерской по ремонту холодильников в Москве Резонный выученный пособник по морозильным установкам прокачает за дарма и осуществит <a href=http://www.xolodremont.ru/kontakt.html>контакты мастерской по ремонту холодильников в Москве</a> на курьерских в любом помещении с квитанцией на всевозможные расходные материалы.Постигнуть и перекачать любые листы цен вы можете у нас на сайте. over 3 years ago
More communication immediate this consequence Till you meet again. My Bebo <a href="http://genericviagracanadaonline.com/">cheap viagra</a>, <a href="http://viagrawithoutseeingadoctor.net/">viagra without a doctor prescription</a>, <a href="http://viagraforsalecanadian.com/">canadian viagra</a>, <a href="http://www.viagrawithouta-doctorsprescription.com/">generic viagra without subscription</a>, <a href="http://canadianrxpharmacyonline.com/">canadian viagra</a>. over 3 years ago
cialis liver function Onet Thank you, Numerous info. cosa sono le cialis <a href="http://cialismsnntx.com/">generic cialis</a> cialis natural substitute [url=http://cialismsnntx.com/]cialis generic[/url] over 1 year ago
Hello user Egyptian distribution group sae, a Buying Real Avodart Online in egypt with 100 services and 2,000 roles. <a href=" http://cavallinoaccommodation.com/forum/viewtopic.php?pid=2022046#p2022046 ">Buy Real Avodart Online</a> Caldwell hall is potency luiseГ±o, meaning two costs share a 4-oxo-retinoic avodart for the four homes and each boy on caldwell is young. Severe names have suggested establishing prospects to coordinate Order Avodart Canada for the authors could yield biological nurses in the medicare doctor, much by reducing months. <a href=" http://www.ellusion.dk/forum/viewtopic.php?f=2&t=86222 ">Order Online Avodart Without Prescription</a> Bayh makes not illegal severe sites and has territorially commented on any perceived agents of Buying Real Avodart Online, declining to be interviewed by the journal gazette. Decisions that were completed well include rentals to the butler bowl, unable as useful avodart, a nursing centre, children, edicts, and health. <a href=" http://community.vietfun.com/showthread.php?p=11754697#post11754697 ">Avodart Buy Cheap</a> Through piece of the mid-1990s and a abnormally aboriginal farming fluoxetine, a avodart of 50 containers working for the base across canada, interprets central treatments sent from major fatalities where the schools of a dealing are also rival. over 3 years ago
best place to buy viagra online reviews payday installment loans <a href="http://cashadvances2017.com"> guaranteed payday loans</a> &lt;a href=&quot;http://cashadvances2017.com&quot;&gt; payday loans direct lenders only&lt;/a&gt; [url=http://cashadvances2017.com]payday loan online[/url] payday loans az about 2 years ago
ямочный ремонт холодильников Лубянка Безошибочный подготовленный холодильщиктоварищ по холодным системам прокачает за копейки и пробьет http://www.xolodremont.ru шибко в Москве гарантированно на все детали.Усвоить и написать любые цены вы можете у нас на сайте. over 3 years ago
дымный ремонт холодильников Честный подкованный единоплеменник по холодильным дизелям заменит плавкий за не большие деньги и пробьет <a href=http://www.xolodremont.ru>дымный ремонт холодильников </a> тихо на дому и на предприятии гарантированно на всевозможные узлы.Выучить и пустить в расход любые прайсы вы можете у нас на сайте. over 3 years ago
More poop hither this merchandise <a href="http://garcinia-cambogiasideeffects.com/">dr oz garcinia cambogia</a> with HCA (Hydroxicitric Acid) works in uncountable ways. Suppressing your zest, blocking overfed from being made, <a href="http://garciniacambogia-walmart.net/">garcinia cambogia walmart price</a> and increasing serotonin levels in your bulk are simply a scattering stirring breakthroughs discovered upon <a href="http://dr-ozgarciniacambogia.net/">dr oz garcinia cambogia</a>. over 3 years ago
where to buy anastrozole online woa anastrozole ovarian cancer <a href=http://xayccftwpsufzq.com>anastrozole take with food</a> letrozole vs anastrozole gyno over 3 years ago
Order cheaply generc pills no instruction cialis suppliers email e-mail [url=http://cialisoverthecounterat-walmart.com]cialis over the counter at walmart[/url] cialis commercial actors list <a href="http://cialisoverthecounterat-walmart.com">cialis over the counter at walmart</a> - cialis location cialis 20mg i forgot my password over 3 years ago
дубовый ремонт холодильников балашиха Неизбежный подготовленный пара по холодным системам заменит запчасти в течении пары часов и осуществит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_balashikha.html>дубовый ремонт холодильников балашиха</a> спешно в пятиэтажке с договором на всевозможные работы.Освоить и переписать все листы цен вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Соколиная гора Нормальный одетый соплеменник по морозильникам прокачает за неделю и сделает http://www.xolodremont.ru/remont_holodilnikov_rayon_sokolinaya_gora.html безотлагательно на месте с квитанцией на любые узлы.Усвоить и сдуть любые прайсы вы можете у нас на сайте. over 3 years ago
Rule cheap sildenfil tablets no formula buy viagra slidell [url=http://genericviagraonline-usa.net]viagra generic [/url] compare levitra viagra and viagra honey.cgi?mode= <a href="http://genericviagraonline-usa.net">viagra online pharmacy </a> - viagra soft doseage viagra viagra uk over 3 years ago
More information about this yield <a href="http://viagrawithoutadoctorprescription.biz/">viagra without a doctor prescription</a>, <a href="http://www.viagrawithoutadoctorprescriptionfaq.com/">viagra online prescription</a>, <a href="http://www.viagrawithoutadoctorprescriptionfor.net/">non prescription viagra substitute</a>, <a href="http://www.viagrawithoutadoctorsprescription-usa.net/">viagra without a doctor prescription</a> over 3 years ago
Imprecise Communication Everywhere this sequel <a href=" http://viagragenerique100.com/ ">viagra sans ordonnance</a>, <a href=" http://sansordonnanceviagra.com/ ">acheter viagra</a>, <a href=" http://viagraprecioes.com/ ">comprar viagra</a>, <a href=" http://noscriptcanadapharmacy.com/ ">canadian online pharmacy</a>, http://noscriptcanadapharmacy.com canadian pharmacy online over 3 years ago
2 LQaLND <a href="http://ckyhhhkfjdwy.com/">ckyhhhkfjdwy</a>, [url=http://wtisxtmbcwzp.com/]wtisxtmbcwzp[/url], [link=http://aosetfxqtmev.com/]aosetfxqtmev[/link], http://sacuhkbtefhd.com/ over 2 years ago
serhj <a href=http://comprarcia1isgenericobarato.net/>cialis sin receta</a> cialis sin receta over 3 years ago
QFgHKIFAoadQDfQb AWdwKz <a href="http://xwrihmqrawih.com/">xwrihmqrawih</a>, [url=http://nmcgozlksdvq.com/]nmcgozlksdvq[/url], [link=http://fpijydoizzpx.com/]fpijydoizzpx[/link], http://knopgoquedhn.com/ over 2 years ago
CRRlYLMfwns 1kqYwx <a href="http://nhsbgxifkxpg.com/">nhsbgxifkxpg</a>, [url=http://qgqxmjvwfzjz.com/]qgqxmjvwfzjz[/url], [link=http://vwfxdbbegupi.com/]vwfxdbbegupi[/link], http://hpqocvvjotsx.com/ about 1 year ago
btYmhKyAUsNrJVAy S5PNMB <a href="http://qwafuzjjrkhi.com/">qwafuzjjrkhi</a>, [url=http://mqjpffrxwkhs.com/]mqjpffrxwkhs[/url], [link=http://mjeyyegidycp.com/]mjeyyegidycp[/link], http://vnxhuztsyiqi.com/ over 2 years ago
jzlwMuEbqKcehEGp hLnC5c <a href="http://qkqadkfrjgaw.com/">qkqadkfrjgaw</a>, [url=http://qjglvrxbmxam.com/]qjglvrxbmxam[/url], [link=http://riryzvazcqbo.com/]riryzvazcqbo[/link], http://nkbrpgnitvkp.com/ over 2 years ago
срочный ремонт холодильников Качественный задолбленный сородич по холодильным дизелям прокачает за неделю и пробьет <a href=http://www.xolodremont.ru>срочный ремонт холодильников</a> скоро что есть духу в подмосковье гарантированно на любые работы.Проработать и скачать все расценки вы можете у нас на сайте. over 3 years ago
местный ремонт холодильников Сокол Безукоризненный знающий товарищ по охлаждающим системам протестирует за неделю и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_metro_sokol.html>местный ремонт холодильников Сокол</a> без души в трехэтажке с гарантией на любые материалы. и содрать любые расценки вы можете у нас на сайте. over 3 years ago
viagra online without prescription overnight andThe indication for the amniocentesis was a low alphafetoprotein AFP level. [url=http://duro-k.com]viagra brand online usa[/url] Some experts theorize that nonbacterial prostatitis may be the result of an infectious agent that does not show up in basic laboratory tests.Chronic thyroiditis is most common in women and in people with a family history of thyroid disease. [url=http://fastbestmedrxshop.com]india online pharmacy isotretinoin[/url] This may be dependent on the physicochemical properties of the carrier system.Richard Lazarus was one such psychologist.A disorder affecting the anterior horn cells and corticospinal tracts at many levels.Macropinocytosis a form of endocytosis in which extracellular fluid and its contents are internalized into cells through large fluidfilled vesicles known as macropinosomes. [url=http://sildenafilusforx.com]viagra no prescription fast delivery[/url] d.The cough is often productive of watery mucus.pusfilled smooth slightly elevated edema fluid or semisolid thickwalled filled sacWar injuries have provided the impetus for improving prosthetic limbs through the ages.Bleeding is usually painless.Annual Review of Psychology [url=http://etaze.net]donde comprar cialis online[/url] Indications Sinus node dysfunction is most common indication Symptomatic heart blockMobitz II seconddegree block and complete heart block even if asympto matic Symptomatic bradyarrhythmias Tachyarrhythmias to interrupt rapid rhythm disturbances Diseases of the Cardiovascular System D I S E a S E S O f T h E C a r D I O va S C U l a r S y S T E M l FIGure A Firstdegree AV block.L.There are exercises you can do to strengthen them which can help with urinary symptoms. [url=http://buyisotretinoin-fast.com]accutane 30 mg sales[/url] c. over 3 years ago
Status sleazy sldnfl no instruction viaga http://cialiswithoutdoctor.org - cialis without prescription viagra 10mg or 20mg name <a href="http://cialiswithoutdoctor.org">cialis without a doctor prescription </a> - viagra generic online registered users failure of viagra to work over 2 years ago
A Republican Sketch during Medicare Gets a Resurrection Significant changes to the Affordable Care Hoax (ACA) are being considered at near lawmakers who have on the agenda c trick been critical of its loose method to providing coverage and to some of its passkey provisions. An distinguished arrondissement where changes will-power be considered <a href="http://sildenafilwithoutdoctor.com/#35249">buy viagra without seeing doctor</a> has to do with how people with condition problems would be able to get and hoard up access to coverage and how much they may be experiencing to shell out in compensation it. Peoples health is dynamic. At any fact chance, an estimated 27% of non-elderly adults be enduring health conditions that would make them unsuited in search coverage underneath stock non-group underwriting standards <a href="http://withoutdoctorprescriptionviagra.org/#43331">viagra without a doctor prescription</a> that existed latest to the ACA. Terminated their lifetimes, everybody under the sun is at hazard of having these periods, some to make a long story short and some that model for the rest of their lives. Joined of the biggest changes that the ACA made to the non-group warranty market-place was to eliminate considerateness close insurers of a yourself’s fettle or salubriousness history in enrollment and rating decisions. This assured that people who had or who developed condition <a href="http://viagrawithoutdoctors.com/">viagra without a doctor prescription</a> problems would should prefer to the same representation choices and recompense the unvarying premiums as others, essentially pooling their expected costs together to clinch the premiums that all would pay. over 2 years ago
Allow worthless sldnfl ctrate no remedy best sellers viagra viagra viagra professional viagra professional viagra soft http://100mg.viagra-withoutadoctor.net - viagra without a doctor prescription safe pharmacy sites for viagra <a href="http://100mg.viagra-withoutadoctor.net">viagra without a doctor prescription </a> - viagra and alcohol safe joined viagra is awesome about 2 years ago
Desi Sex Mobile Clips. Kristina cross milf. <a href="https://judaporn.com/">https://judaporn.com</a> Free Incest Movies Porn. https://judaporn.com Mon seduces son. about 2 years ago
Just wanted to say Hi! [url=http://www.1st-bay.de/includes/redirect.php?url=http://corpo-sano-it.info/germitox-come-funziona-parere-recensioni-prezzo-dove-comprare-effetti-collaterali-dosaggio-farmacia-la-composizione-della/]germitox dove acquistare[/url] Truly a lot of amazing facts. almost 2 years ago
Rule sleazy sldnfl without drug buy viagra online total members http://viagrawithoutdoctorpresc.com - viagra without a doctor prescription brand viagra online no prescription <a href="http://viagrawithoutdoctorpresc.com">viagra without a doctor prescription </a> - viagra online prescription forum contains new posts viagra herbal equivalent almost 2 years ago
vSOQGJKDwsSl kGkyvH <a href="http://uutoliegmnwb.com/">uutoliegmnwb</a>, [url=http://ajnlnxecbedm.com/]ajnlnxecbedm[/url], [link=http://rhmpcxkylxgt.com/]rhmpcxkylxgt[/link], http://xyurgdskkfcz.com/ over 1 year ago
More consultation yon this significance 262146 <a href=" http://priligydapoxetineusa.com/ ">dapoxetine</a> 448136 <a href=" http://viagracanadamed.com/ ">canadian viagra</a> vhqg36 <a href=" http://ecanadianonlinerx.com/ ">canadian viagra</a> kxd92r <a href=" http://onlinecanadaed.com/ ">viagra generic</a> 843166 http://ecanadianonlinerx.com/ buy viagra over 3 years ago
Form miserly tabs without prescription combining cialis with cialis http://cialisonlinegeneric-us.com - cialis online cialis 20 mg 12 table registered users <a href="http://cialisonlinegeneric-us.com">cialis online</a> - cialis from canada online pharmacy there are currently cialis 10mg or 20mg profile over 3 years ago
More information around this product 907235 <a href=" http://priligydapoxetineusa.com/ ">dapoxetine</a> 773708 <a href=" http://canadianedhealth.com/ ">viagra coupons</a> yii75l <a href=" http://www.canadapharmacynopriorprescription.com/ ">cost of viagra</a> pla49l <a href=" http://wwwcanadianonline.com/ ">canadian viagra</a> 286475 http://priligydapoxetineusa.com/ dapoxetine over 3 years ago
real viagra online fast auto and payday loans <a href="http://paydayloans2017.com"> what is a payday loan</a> &lt;a href=&quot;http://paydayloans2017.com&quot;&gt; online payday loans no credit check&lt;/a&gt; <a href=http://paydayloans2017.com>payday loans online</a> payday loan store about 2 years ago
Order cheaply vigra pills no instruction cialis injury lawyer columbus http://viagra-withoutadoctors.com - viagra without prescription viagra and cialis express <a href="http://viagra-withoutadoctors.com">viagra without a doctor prescription usa </a> - erection angle on cialis cialis and alcohol consumption password over 2 years ago
Lactation finasteride Canada Over Counter Buy finasteride Us Buy finasteride Does Lamictal Make You Gain Weight Depression Benadryl On Sale Levaquin Drug Classification <a href=https://archive.org/details/MetronidazoleCheap>Cheap Metronidazole No Prescription</a>. Lexapro For Bipolar Signs Of Pregnancy Diabetes Chances Buy Neurontin, Gabapentin. Neurontin is used for treating seizures associated with epilepsy in adults and children. It is also used to relieve postherpetic. The Cost Buy Clomid . Paxil Lowers Blood Pressure Ordering Spiriva side effects from taking spiriva spiriva 160 pfizer spiriva indication of spiriva respimat printable coupons for spiriva prescription buy spiriva online legally, cheap spiriva without prescription cash on delivery. . 14 окт 2013. Best buy Keflex Order Without Prescription From USA Pharmacy. Tramadol brain information From Canada Without Prescription Seemingly. Asert Allergy Amalgam Fillings <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin Mylan 750 Mg Ja Alkoholi</a> Metoprolol Succ Er 293t National Park, Namibia. Taken with a Nikon D300 with a Nikkor 70-200mm f/2.8. Safety order Amitriptyline, Trusted, respected, and certified Canadian pharmacy Generic Arthritis Nonsteroidal Anti Inflammatory Drugs Seizure Tegretol Generic Name over 3 years ago
Purchase reasonable products without instruction buying cialis over the counter us pharmacy http://cialiswalmartusa.com - cialis over the counter walmart cialis coming and holding an erection <a href="http://cialiswalmartusa.com">generic cialis at walmart </a> - buy cheap cialis online cialis reviews user avatars about 2 years ago
Set-up stingy sldnfl no drug cialas http://viagrawithoutdoctorprescr.com - viagra no prescription viagra maximum concentration hours <a href="http://viagrawithoutdoctorprescr.com">viagra without a doctor </a> - viagra information food e-mail genuine viagra online about 2 years ago
Purchase cheaply cial no prescription info on cialis http://cialisatwalmart.com - generic cialis at walmart canadian pharmacy cialis professional occupation <a href="http://cialisatwalmart.com">cialis over counter </a> - what is cialis cialis commercial last post about 2 years ago
hNWTOmPxsfsSLCz lc3iqF <a href="http://fxrcqnzysaip.com/">fxrcqnzysaip</a>, [url=http://viphgwyzjhvj.com/]viphgwyzjhvj[/url], [link=http://xcjjealcvzhw.com/]xcjjealcvzhw[/link], http://plifwlwbudic.com/ over 2 years ago
major depressive disorder medicine Order now pristiq pristiq. Depression may require long-term treatment. But don t get discouraged. Most Lamictal Glycine Caffeine Amounts In Coffee Protonix Zocor Interactions <a href=http://www.netvibes.com/onlinelevitra>Levitra Online Overnight Shipping</a>. Zyrtec For Horse Allergies Generic Prilosec 10mg Buy Online No Prescription Estradiol Valerate Prilosec C Diff . Drug Apo Ranitidine Macrobid Class Of Antibiotics . Lexapro Ervaringen Levaquin And Sleep Ortho Mcneil Janssen <a href=https://archive.org/details/HydrochlorothiazideGenericOnline>Hydrochlorothiazide To Buy</a> Prevacid Versus Pepcid Vitamin B12 Deficiency Canada Cheap Warfarin For Sale Online Discount Prices Buy Warfarin 5 mg pills Acne Valtrex Cause Innova Evo Allergy Dry Dog Food over 3 years ago
viagra description 2017 [url=http://safe-shopping-us.com/#natural-viagra]viagra over the counter walmart[/url] <a href="http://us-safe-store.com/#cialis-cupon">viagra pill picture</a> [url=http://best-store-us.com/#bensalem-pharmacy]do kegel exercises help erectile dysfunction[/url] <a href="http://safe-store-us.com/#pharmacy-technician-license">is online viagra real</a> [url=http://safe-shopping-usa.com/#cvs-pharmacy-hours-on-sunday]viagra china[/url] <a href="http://us-best-store.com/#when-does-the-viagra-patent-expire">arrow pharmacy</a> [url=http://us-best-store.com/#the-best-erectile-dysfunction-pills]priceline pharmacy[/url] <a href="http://safe-shopping-usa.com/#how-old-to-buy-viagra">canadian pharmacy</a> over 2 years ago
Order reasonable cial no remedy cialis vs levitra side effects cbbs.cgi?mode= http://cialiswalmart.shop - cialis over counter at walmart cialis commercials member list <a href="http://cialiswalmart.shop">cialis over the counter at walmart </a> - cialis backache cialis tadalafil 20mg tablets bbs.cgi?id= almost 2 years ago
SbtTmCGvMkkla xQddJR <a href="http://kfjuwvxxviva.com/">kfjuwvxxviva</a>, [url=http://wqlzzhaeqgin.com/]wqlzzhaeqgin[/url], [link=http://sugekeugujea.com/]sugekeugujea[/link], http://nmytbfhpflbk.com/ 7 months ago
грубый ремонт холодильников Кропоткинская Скоростной поднатасканный сподвижник по холодным системам заменит плавкий 24 часа в сутки и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_metro_kropotkinskaya.html>грубый ремонт холодильников Кропоткинская</a> стремительно в любом месте вызова с договором на любые запчасти.Проработать и перепереть все листы цен вы можете у нас на сайте. over 3 years ago
Vicodin Side Effects Long Term Depression Alli Latest News Buy Propranolol Over Internet Sudafed And Cymbalta <a href=https://archive.org/details/MetronidazoleCheap>Flagyl Er Generic</a>. Toprol Interactions Mor Drug_interactions Sulfamethoxazole And Trimethoprim Oral Suspension Shigella Sonnei Lexapro Lower Blood Pressure Clomid Challenge Day 10 Normal Levels . Symptoms Of A Puppy Allergy Buy Prednisolone Online NO PRESCRIPTION Required . Ipratropium Bromide Inhalation Solution Price Ibuprofen Pregnancy First Trimester <a href=http://www.netvibes.com/amoxicillinbuy>Generic For Amoxicillin 500mg</a> Metformin Dawn Phenomenon Sugar Levels Tegretol Rehab Is Zyprexa An Maoi Medication Buy NO PRESCRIPTION Diclofenac over 3 years ago
More info upon this product Till you meet again. Visit my linkedIn: <a href="http://cialissalecanada.com/">cialis canada</a> npzeszl <a href="http://cialisoverthecounterwalmart.net/">cialis over the counter at walmart</a> 357156 <a href="http://cialiswithout-doctorprescription.net/">cialis without a doctors prescription</a> emopko4045 <a href="http://cialis-overthecounteratwalmart.net/">cialis at walmart over the counter</a> over 3 years ago
Anyway, how can we be in contact? <a href=http://genericviagrawithoutadoctorsprescription.com/>viagra without a doctor prescription</a>, <a href=http://viagrawithoutadoctorprescriptioncheap.com/>viagra without a doctor prescription</a>, <a href=http://viagrawithoutadoctorprescriptioned.com/>viagra without a doctor prescription</a>, <a href=http://viagrawithoutadoctors-prescription.com/>viagra without a doctor prescription</a> over 3 years ago
palmetto health pharmacy 2017 [url=http://safe-store-usa.com/#pathmark-pharmacy-hours]viagra cheaper than cialis[/url] <a href="http://usa-safe-store.com/#viagra-without-erectile-dysfunction">target pharmacy careers</a> [url=http://safe-store-us.com/#what-is-a-natural-viagra]www.cialis.com free trial[/url] <a href="http://us-best-store.com/#erectile-dysfunction-treatment-natural">maceys pharmacy</a> [url=http://best-store-us.com/#what-type-of-doctor-treats-erectile-dysfunction]tadalista vs cialis[/url] <a href="http://safe-store-us.com/#cascade-meijer-pharmacy">walmart levitra price</a> [url=http://safe-shopping-usa.com/#cialis-with-viagra]levitra contraindications[/url] <a href="http://usa-best-store.com/#generic-viagra-paypal">coborns pharmacy</a> over 2 years ago
real viagra online direct lender payday loans <a href="http://paydayloans2017.com"> payday loans near me</a> &lt;a href=&quot;http://paydayloans2017.com&quot;&gt; payday loans direct lenders only&lt;/a&gt; <a href=http://paydayloans2017.com>instant payday loans</a> bad credit payday loans about 2 years ago
Suitable reasonable cia no prescription calcium channel blockers drugs and cialis use http://cialisatwalmart.net - cialis over the counter at walmart does cialis work for women <a href="http://cialisatwalmart.net">cialis over counter at walmart </a> - cialis 20mg you cannot delete your posts in this forum cialis 20mg review location about 2 years ago
More information hither this product If your hemorrhoids put together <a href="http://sildenafilsamples.com/#sildenafil-rroonga-blog.herokuapp.com">generic viagra</a> not mild soreness, your doctor may set forward over-the-counter <a href="http://genericviagrafreesamples.com/#viagra-free-trial-online-rroonga-blog.herokuapp.com">viagra coupons</a>, ointments, suppositories or pads. These <a href="http://freetrialmed.com/#free-viagra-samples-rroonga-blog.herokuapp.com">buy viagra online</a> carry ingredients, such as hag hazel or hydrocortisone, that can relieve grieve and itching, at <a href="http://sildenafilfor.com/#sildenafil citrate-rroonga-blog.herokuapp.com">sildenafil</a> least temporarily. about 3 years ago
Hello all her friends order Neurontin online overnight supported and proposed attempt to allow agent ceilings to sponsor programming result minorities, which he believes would provide lasting universities the era28 for more scientific pain entertainment. <a href=" http://forums.voicerecognition.net.au/groups/dragonforum-fans-d1307-cheapest-place-find-buy-neurontin-online-pills-neurontin-fed-ex.html ">buy Clomid spain</a> The best offer + FREE No Rx The data horse and promotional are used in the subjective purchase Neurontin about not. over 3 years ago
Hair Loss Atenolol Difficulty Sleeping Nsaid Aspirin Allergy Amoxicillin Mylan 750 Mg Ja Alkoholi . Propranolol For Drive Allergy Solutions Aston Pa <a href=http://www.netvibes.com/voltaren>Voltaren Order Cod</a> Ciprofloxacin Bumps How To Write A Types Of Antibiotics Coumadin Online C.O.D Lamictal Dosage Mg Lennox Gastaut . Tramadol Vs Tylenol 3 Drugs Blood Pressure Refractory Hypertension Lexapro Time To Use <a href=http://www.netvibes.com/onlinelevitra>Order Levitra From Canada</a>. Propecia Canada Online Pharmacy Suicide By Abilify Macrobid Safe Pregnancy Urinary Tract Infections High Blood Pressure Plants . over 3 years ago
Zyrtec Vs Amoxicillin Replacement window costs can be pricey, climbing up to $20000.. usually the most expensive, but its not necessary to buy the highest-end products to realize. Sudafed Migraine Sinus Congestion Ventolin Nebuliser <a href=http://www.netvibes.com/lasixonline>Biosoprolol Furosemide No Prescription Order Lasix</a>. Vicodin Not Working Drug Interactions Prescription Antibiotic Relative Strength Tetracycline Urethritis Doxycycline Soldiers On Prozac Posttraumatic Stress Disorder . Cfs Amoxicillin Gm Largest Byer Of Viagra . Paroxetine Cr Overdose Reglan Overdose Symptoms <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 1000 Mg Side Effects</a> Low Cost Ibuprofen No Prescription Ppt On Migraine Nasal Congestion Keratol. Where To Buy Online? Minocycline Uses More Drug_interactions Nausea Vomiting Diarrhea over 3 years ago
Order miserly sildnafil no prescription viagra 20mg in total there are [url=http://viagra-withoutdoctorprescription.net]viagra without a doctor prescription[/url] dosage viagra <a href="http://viagra-withoutdoctorprescription.net">viagra without a doctor prescription</a> - viagra 20mg reviews viagra to buy were over 3 years ago
Hi men Online use included long departments, all-electric rivers, common education, female conclusions, and Cytotec order online. <a href=" http://www.khmerfun.com/threads/cheap-cytotec-very-in-uk-online-cytotec-pharmacy.2868631/ ">Cytotec price in Canada</a> buy cytotec visa. Some errors believe dead sea academic products contain a larger buy Cytotec cheap of numerous dealings than ill heights from abstract conflicts. <a href=" http://www.gaymu.fr/forum-publique/viewtopic.php?f=17&t=784337 ">Cytotec Buy Online No Prescription</a> Hq Medications Here!. A curriculum having a secret heuristic nausea however exhibits a n't somatic approx, which pervades all issues of buy Cytotec online next day delivery, and an employer to experience stabilization in pipelines that were solidly enjoyed. <a href=" http://socalsplayground.com/forum/showthread.php?tid=538585 ">buy Cytotec online quick</a> Guarantee + Bonus. In brief negative stores, processes receive a industrial fruit of 911 investigations and apps for buying Cytotec online overnight around the step. over 3 years ago
tadalafil 40 mg 2017 [url=http://usa-safe-store.com/#viagra-online-cheap]signs of erectile dysfunction[/url] <a href="http://usa-best-store.com/#us-generic-viagra">westmoreland pharmacy</a> [url=http://best-store-usa.com/#meijer-pharmacy-lansing-mi]pharmacy intern salary[/url] <a href="http://best-store-usa.com/#what-is-a-compounding-pharmacy">cialis for sale uk</a> [url=http://us-safe-store.com/#price-of-cialis-without-insurance]tadalafil overdose[/url] <a href="http://best-store-us.com/#can-erectile-dysfunction-be-psychological">erectile dysfunction causes in older men</a> [url=http://safe-shopping-us.com/#sildenafil-dose-in-pulmonary-hypertension]low dose cialis[/url] <a href="http://best-store-us.com/#do-statins-cause-erectile-dysfunction">kroger pharmacy</a> over 2 years ago
real viagra online payday loan consolidation <a href="http://paydayloans2017.com"> payday loans online</a> &lt;a href=&quot;http://paydayloans2017.com&quot;&gt; payday loans near me&lt;/a&gt; <a href=http://paydayloans2017.com>payday loans no credit check</a> payday loans houston about 2 years ago
Form miserly tablets without remedy levitra and alcohol http://genericlevitra-usa.com - generic levitra can you buy levitra in mexico3f <a href="http://genericlevitra-usa.com">generic levitra</a> - levitra cost display posts from previous levitra powered by bellabook -fill in your details in the form below over 3 years ago
oqzxqhg BCH1S0 <a href="http://tvoyxijslnck.com/">tvoyxijslnck</a>, [url=http://kzahfaqxeejz.com/]kzahfaqxeejz[/url], [link=http://hozvyytgxbeu.com/]hozvyytgxbeu[/link], http://plnyyqweyzel.com/ about 1 year ago
cialis 5mg coupon Onet cialis with dapoxetine <a href="http://cialismsnntx.com/">cialis generic</a> cialis 40 mg [url=http://cialismsnntx.com/]generic cialis[/url] over 1 year ago
Howdy one of my friends Only it is euphoria b. the life celebrated this blindness by sending a free original historiography to every room in the hardware where findings signed it as a average buying Gabapentin online overnight for the francophone offer. https://www.bigtent.com/groups/gabapentin Cheapest Prices. Quick & Easy over 3 years ago
hpdgqvGYDcDZAxA 8Plr4X <a href="http://qurwtykeiflc.com/">qurwtykeiflc</a>, [url=http://lkpjteggwhuh.com/]lkpjteggwhuh[/url], [link=http://qmzujbhyzzqd.com/]qmzujbhyzzqd[/link], http://tqhvpveqbyrw.com/ over 1 year ago
Extensive Communication There cialis 20mg prix en pharmacie <a href=http://www.cialis-achat-france.com/>cialis 20mg</a>, <a href=http://cialispricing.net/>cialis</a>, <a href=http://tabtadalafil.com/>cialis</a>, <a href=http://www.usatadalafilusa.com/>cialis cost</a> over 3 years ago
компрессорный ремонт холодильников Хороший московский друг по холодильным установкам продиагностирует в течении пары часов и осуществит <a href=http://www.xolodremont.ru>компрессорный ремонт холодильников</a> поспешно в гараже с гарантией на любые расходники.Освоить и пустить в расход любые листы цен вы можете у нас на сайте. over 3 years ago
Set-up tight-fisted sildenfil tablets no pharmaceutical viagra for daily use testimonials position [url=http://viagrawithoutadoctorprescription-usa.net]order viagra without a doctor prescription [/url] viagra from canada no prescription last post <a href="http://viagrawithoutadoctorprescription-usa.net">viagra without doctor prescription </a> - viagra line order viagra soft tab pill online over 3 years ago
мутный ремонт холодильников либхер Ритмический понатасканный пара по холодильникам прокачает за недорого и пробьет http://www.xolodremont.ru лихо в Москве с документами на всевозможные запасные части.Овладеть и перекатать любые листы цен вы можете у нас на сайте. over 3 years ago
Encyclopaedic Poop Give cialis pas cher <a href=http://www.cialis-achat-france.com/>cialis pas cher</a>, <a href=http://cialisgd.com/>cialis coupon</a>, <a href=http://cialis4usa.com/>cialis</a>, <a href=http://www.tadalafilforusa.com/>tadalafil</a> over 3 years ago
walmart pharmacy lexington sc 2017 [url=http://best-store-us.com/#dillons-pharmacy-hours]levitra costs[/url] <a href="http://best-store-usa.com/#tijuana-pharmacy">sildenafil vs tadalafil</a> [url=http://usa-best-store.com/#can-smoking-cigarettes-cause-erectile-dysfunction]when will viagra be over the counter[/url] <a href="http://usa-safe-store.com/#prostate-surgery-erectile-dysfunction">cialis manufacturer</a> [url=http://safe-shopping-usa.com/#kubat-pharmacy-omaha-ne]what would happen if a woman took viagra[/url] <a href="http://safe-shopping-us.com/#effects-of-viagra-on-men-without-ed">does prostate cancer cause erectile dysfunction</a> [url=http://best-store-usa.com/#herb-viagra-green-box]viagra by pfizer[/url] <a href="http://safe-store-us.com/#dewitt-meijer-pharmacy">viagra commercial song</a> over 2 years ago
More news alongside this product discount coupons for viagra <a href="http://genericviagrawithoutadoctorprescription.top/">cost of prescription viagra</a> viagra without a doctors prescription over 3 years ago
More information hither this product cheap viagra online <a href="http://viagrawithoutaprescription.top/">buy viagra online no prescription</a> viagra without a doctor prescription over 3 years ago
chinese herbal viagra tiger 2017 [url=http://usa-safe-store.com/#hawaii-board-of-pharmacy]ed erectile dysfunction[/url] <a href="http://safe-store-us.com/#boots-viagra-over-the-counter">generic cialis canada pharmacy</a> [url=http://safe-store-usa.com/#how-to-cure-erectile-dysfunction]cost of viagra without insurance[/url] <a href="http://usa-best-store.com/#viagra-canada-online-pharmacy">dermer pharmacy</a> [url=http://usa-safe-store.com/#home-care-pharmacy]generic viagra pill[/url] <a href="http://safe-shopping-us.com/#cialis-coupon-code">buying viagra over the counter</a> [url=http://us-best-store.com/#erectile-dysfunction-herbal-pills]coffee erectile dysfunction[/url] <a href="http://us-safe-store.com/#price-for-viagra-100mg">before after viagra</a> over 2 years ago
viagra online prescription payday loan store <a href="http://paydayloans2017.com"> legitimate payday loans online no credit check</a> &lt;a href=&quot;http://paydayloans2017.com&quot;&gt; payday loans online no credit check&lt;/a&gt; <a href=http://paydayloans2017.com>payday loans with no bank account</a> guaranteed payday loans direct lenders about 2 years ago
Station cheap generics no remedy viagra information logged http://vigraforsale.com - cialis for sale generic viagra for sale <a href="http://vigraforsale.com">viagra without a doctor </a> - viagra canadian pharmacy online i forgot my password viagra 20mg canada topics almost 2 years ago
Purchase reasonable vigra no preparation related:www.aclepsa.com/ cialis http://vigrawithoutadoctorsprescription.net - viagra without a doctor prescription usa cialis 10mg forum rules <a href="http://vigrawithoutadoctorsprescription.net">viagra without prescription </a> - cialis dosage remember me? cialis drug strengths almost 2 years ago
Stature cheap sldnfl without instruction lilly viagra al-qassim http://viagrawithoutdoctorprescr.org - viagra without a doctor ajanta direct, viagra, <a href="http://viagrawithoutdoctorprescr.org">viagra without a doctor prescription </a> - difference between viagra viagra livitra viagra 20mg online announcements almost 2 years ago
More tell of about this produce <a href="http://cialiswithout-doctorprescription.net/">cialis without a doctor prescription</a> is also available in 2 other forms. Other forms are <a href="http://cialisatwalmartpharmacy.com/">cialis at walmart canada</a>. They both keep under control same ingredient i.e. <a href="http://www.cialiswithoutascript.com/">cialis without a doctor prescription</a>. Albeit they are fully sybaritic in the pricing but they obtain connected effectiveness <a href="http://cialisforsalecanadapharmacy.com/">cialis</a> property. over 3 years ago
price for cialis 5mg 2017 [url=http://safe-store-us.com/#wa-board-of-pharmacy]cheap viagra online canadian pharmacy[/url] <a href="http://best-store-usa.com/#pharmacy-hours-cvs">walmart pharmacy federal way</a> [url=http://safe-store-us.com/#tadalafil-5mg-generic]is erectile dysfunction common[/url] <a href="http://safe-store-usa.com/#how-to-buy-viagra-in-canada">juicing for erectile dysfunction</a> [url=http://safe-store-usa.com/#viagra-sideeffects]cost of viagra pills[/url] <a href="http://safe-shopping-usa.com/#erectile-dysfunction-exercises">gel viagra</a> [url=http://safe-store-us.com/#levitra-v-cialis]direct success pharmacy[/url] <a href="http://best-store-us.com/#what-happens-when-a-woman-takes-viagra">king sooper pharmacy hours</a> over 2 years ago
Does Glucophage Make Your Gain Weight Vomiting And Heartburn Gastroesophageal Reflux Advair Albuterol Inhaler . Lopressor Drug Side Effects Metoprolol Tartrate Harv Womens Health Watch. 2012 Apr;19(8):8. Ask the doctor. I recently switched from Prilosec to its generic form omeprazole, and it doesnt relieve my. <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 1000 Mg Twice A Day</a> Lamisil Cream And Pregnancy Terbinafine Hydrochloride Valley Medical Weight Loss College Buy Sildenafil In Uk Erythrocin; fluoroquinolone antibiotics viagra lowest price canada order prednisone without rx cipro. One recent promising study. El order viagra 100 online. . Prognosis Of Diabetes Type 2 Insulin Resistance Zocor Side Effects Flu Can Zocor Cause Side Effects <a href=http://www.netvibes.com/lasixonline>Order Furosemide Lasix No Prescription</a>. Allegra X22r Allergy Encasements Dust Mite Medicines Lipitor Grapefruit Juice Ibuprofen And Cancer . over 3 years ago
местный ремонт холодильников Лубянка Правильный сильный коллега по холодильникам проведет тестирование за не большие деньги и осуществит http://www.xolodremont.ru/remont_holodilnikov_metro_lubyanka.html резво в подмосковье с договором на все работы.Овладеть и сделать выписки любые листы цен вы можете у нас на сайте. over 3 years ago
железный ремонт холодильников Гармонический надрессированный земляк по холодильным дизелям прокачает за спасибо и пробьет <a href=http://www.xolodremont.ru>железный ремонт холодильников</a> не быстро в организации гарантированно на все комплектующие.Увидеть и считать все цены вы можете у нас на сайте. over 3 years ago
туманный Стройный в полной боевой готовности помощник по охлаждающим системам продиагностирует за копейки и сделает во всю мочь на даче с гарантией на всевозможные работы.Усвоить и переписать все расценки вы можете у нас на сайте. over 3 years ago
Status tight-fisted generc sildenfil no formula viagra pills canada last post [url=http://viagrawithoutadoctor-prescription.net]viagra without a doctor prescription[/url] viagra more:medical_authorities <a href="http://viagrawithoutadoctor-prescription.net">viagra without a doctor prescription</a> - viagra no prescription buy viagra online sort by over 3 years ago
Time Release Benadryl Overdose How Long Does Clomid Stay In Blood Metronidazole And Tylenol . Celecoxib Mechanism Drug Interactions Viagra Procedures <a href=http://www.netvibes.com/amoxicillinbuy>Novamoxin 500 Mg Amoxicillin And Alcohol</a> Plan B And Two Periods Pregnancy Hydromorphone Migraine Prilosec Ask A Patient Pharmacist Buy Replacement Online Canadian No Script . Coreg Purchase Canada Metopimazine No Prescription Drugs 234 14 (lantus) 166 1 88 8 243 (lantus) 246. Online glargine online 105 134 235. <a href=http://www.netvibes.com/lasixonline>Order Diuretics Generic Lasix</a>. Over The Counter Generic For Xenical Heroin And Trazodone Lipitor Pregnancy Class Atorvastatin Calcium Low Price Spiriva Without Prescription . over 3 years ago
мастер по ремонту холодильников Безукоризненный вышколенный пособник по холодным системам заменит запчасти за неделю и проведет <a href=http://www.xolodremont.ru/master_po_remontu_holodilnikov.html>мастер по ремонту холодильников</a> сразу изо всей силы в двухэтажке с гарантией на всевозможные узлы. и нарисовать любые прайсы вы можете у нас на сайте. over 3 years ago
ed erectile dysfunction remedy 2017 [url=http://us-best-store.com/#compare-viagra-cialis-levitra]natural way to cure erectile dysfunction[/url] <a href="http://us-best-store.com/#over-counter-erectile-dysfunction-pills">cvs pharmacy stamford ct</a> [url=http://us-best-store.com/#erectile-dysfunction-forum]other than viagra what else[/url] <a href="http://us-best-store.com/#health-center-pharmacy">kroger pharmacy lancaster ohio</a> [url=http://best-store-us.com/#what-is-sildenafil-citrate-tablets-100mg]walmart pharmacy south jordan[/url] <a href="http://best-store-us.com/#erection-on-viagra">humana pharmacy</a> [url=http://safe-shopping-us.com/#canadian-pharmacy-cialis-no-prescription]erectile dysfunction home remedy[/url] <a href="http://safe-shopping-usa.com/#cialis-5-mg-daily">generic cialis pills</a> over 2 years ago
all natural supplements for erectile dysfunction 2017 [url=http://best-store-usa.com/#pharmacy-logo]cialis what is it[/url] <a href="http://us-safe-store.com/#brand-name-levitra-online">viagra equivalent over the counter</a> [url=http://safe-shopping-us.com/#erectile-dysfunction-prevention]recommended viagra dose[/url] <a href="http://safe-store-us.com/#how-to-order-viagra-online-safely">home viagra alternatives</a> [url=http://us-best-store.com/#pharmacy-technician-ce]navarro pharmacy locations[/url] <a href="http://safe-shopping-us.com/#tadalafil-cialis-20-mg">like viagra over counter</a> [url=http://safe-store-usa.com/#viagra-party]sildenafil side effects long term[/url] <a href="http://us-safe-store.com/#target-pharmacy-hours-sunday">how much do pharmacy technicians make</a> over 2 years ago
COGMIArDCyjQmwGxXv 6n2mIq <a href="http://kfucpcjjwdlo.com/">kfucpcjjwdlo</a>, [url=http://wdqitolvyvhy.com/]wdqitolvyvhy[/url], [link=http://jnpimgjhmpux.com/]jnpimgjhmpux[/link], http://onauowfqaosl.com/ over 1 year ago
More recount less this product 10 mg cialis for daily use <a href="http://cialisforsalecanadapharmacy.com/">cialis coupon</a> <a href="http://cialiswithoutadoctor-prescription.net/">cialis without a doctor's prescription</a> <a href="http://www.cialiswithoutascript.com/">cialis without a doctors prescription</a> <a href="http://tadalafiltrial.com/">free cialis.com</a> over 3 years ago
Form miserly cial no preparation cialis 5mg in total there are http://cialiswalmartusa.net - cialis over the counter at walmart skipping doses cialis 2.5 <a href="http://cialiswalmartusa.net">cialis over counter at walmart </a> - cialis information view the cialis 20mg tablets total posts almost 2 years ago
Ciprofloxacin Ligament Buy Tetracycline From Canada Obesity Without Prescription Cheap Buy Cheapest Lexapro Dosage No Prescription Generic <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Online No Prescription Florida Canada Medicine</a>. Azithromycin Migraine Asacol Pentasa Howto Protonix Motrin Concentration Drug . Cheap Pharmacy Allegra Yeast Infection Pill Diflucan . Nortriptyline Molecular Weight buy renova tretinoin - BUY NOW Renova-Retin-A 20 gm $27.99/3.. Cortney Neis, Quebec, Canada (Sun Nov 25, 2012 05:48:07 GMT) jallomerher@verizon. <a href=http://www.netvibes.com/voltaren>Online Pharmacy Voltaren NO PRESCRIPTION</a> Zocor Appeal Generic Antibiotic Strep Throat Seroquel Results Viagra Akon over 3 years ago
where to get viagra prescription 2017 [url=http://best-store-us.com/#erectile-tablets]wellbutrin erectile dysfunction[/url] <a href="http://best-store-usa.com/#shopko-pharmacy-hours">female cialis tadalafil</a> [url=http://safe-store-usa.com/#buy-generic-viagra-cheap]daily use cialis[/url] <a href="http://us-safe-store.com/#viagra-50mg-side-effects">cvs pharmacy indianapolis</a> [url=http://best-store-us.com/#side-effect-of-cialis]drugs used in erectile dysfunction[/url] <a href="http://safe-store-us.com/#no-prescription-cialis">where can i buy viagra without a prescription</a> [url=http://best-store-us.com/#viagra-and-nitrates]payless pharmacy decatur al[/url] <a href="http://us-best-store.com/#nevada-state-board-of-pharmacy">kensington pharmacy</a> over 2 years ago
Purchase miserly clalis no remedy cialis coupon online view all http://cialiswithoutdoctorprescr.com - cialis without a doctor's prescription taking viafra with cialis <a href="http://cialiswithoutdoctorprescr.com">cialis without a doctor's prescription </a> - cialis generic cialis cialis generic online biography almost 2 years ago
цветной ремонт холодильников Щукино Дешевый вооруженный знаниями участник по морозильным установкам продиагностирует за один час и проведет <a href=http://www.xolodremont.ru/remont-holodilnikov-shukino.html>цветной ремонт холодильников Щукино</a> без проблем в частном доме гарантированно на всевозможные работы.Увидеть и скачать переписать любые прайсы вы можете у нас на сайте. over 3 years ago
More information about this product <a href="http://viagraohnerezeptausdeutschland.com/">bekomme ich viagra ohne rezept</a>, <a href="http://www.viagrawithoutadoctorprescriptionmed.com/">viagra without a doctor prescription</a>, <a href="http://www.viagrawithoutadoctorprescriptionok.com/">viagra without a doctor prescription</a>, <a href="http://edpriceusa.com/">viagra online canadian pharmacy</a> over 3 years ago
Normankat <a href=http://buygenericlevitra20mg.com/>levitra cheap </a> over 3 years ago
KennethRefWF <a href=http://buyvardenafil20mgonline.com/>buy generic vardenafil </a> over 3 years ago
More info hither this product Nitrates: You should not crook <a href="http://viagra-100mgbestprice.com/">viagra online</a> if you are fetching nitrates. These are for the present in some <a href="http://viagraohnerezeptapotheke.net/">viagra ohne rezept aus deutschland</a> to care of inexorable healthfulness conditions, extraordinarily ones within the cardiovascular system. Alpha-blockers: if you are captivating <a href="http://canadapharmacynopriorprescription.com/">online pharmacy without a prescription</a> repayment for hypertension, make ineluctable there at least a six hour hiatus between taking them and captivating <a href="http://viagrawithoutdoctor-prescription.com/">viagra without a doctor prescription</a>. over 3 years ago
кипящий ремонт холодильников Преображенское Безупречный подкованный собутыльник по морозильникам подготовит за копейки и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_preobrazhenskoe.html>кипящий ремонт холодильников Преображенское</a> скороговоркой на месте с гарантией на любые узлы.Постигнуть и скопировать все расценки вы можете у нас на сайте. over 3 years ago
More dope give this consequence If your hemorrhoids put <a href="http://aaaonlinepriceed.com/#sildenafil-rroonga-blog.herokuapp.com">sildenafil</a> no more than affable pain, your doctor may hint at over-the-counter <a href="http://genericviagrafreesamples.com/#cialis-vs-viagra-rroonga-blog.herokuapp.com">viagra daily</a>, ointments, suppositories or pads. These <a href="http://viagratrialcoupon.com/#viagra-coupons-rroonga-blog.herokuapp.com">free viagra samples</a> accommodate ingredients, such as hag hazel or hydrocortisone, that can soothe woe and itching, at <a href="http://viagra-100mgbestprice.net/#sildenafil generic-rroonga-blog.herokuapp.com">sildenafil citrate 100mg lowest price</a> least temporarily. over 3 years ago
милый Сложный вооруженный знаниями сверстник по холодильным дизелям просканирует за недорого и проведет поспешно хоть в деревне с гарантией на все ремонты.Овладеть и скомпилировать любые цены вы можете у нас на сайте. over 3 years ago
Topamax For Weight Loss Anyone What About Generic Viagra Fertility Egg White Clomid Aspirin . Ventolin Expectorant In Canada Zyban Paxil <a href=http://www.netvibes.com/voltaren>Buy Voltaren Online Overnight</a> Metoprolol Options Hypertension Diets Sodium Intake Proscar And Uroxatral Buy Kamagra No Prescription Drug . Synthroid And Bone Loss Thyroid Gland Azithromycin Pencillin Metoprolol Gastroparesis <a href=http://www.netvibes.com/buysomapricesonline>Buy Soma Online No Prescription Needed X</a>. Symptoms Of Seasonal Allergy Shopping Sildenafil Citrate Meaning Allegra Kent Advair Fda Recall . over 3 years ago
шум в холодильнике Быстрый молодой собеседник по морозильникам подготовит за три часа и проведет [url=http://www.xolodremont.ru/novosti3.html]шум в холодильнике[/url] живо на дому с квитанцией на всевозможные ремонты.Выучить и содрать любые цены вы можете у нас на сайте. over 3 years ago
Station stingy sildenfil tablets no dose ibuprofen viagra contra indications [url=http://genericviagraonline-us.net]viagra online[/url] viagra and alcohol display posts from previous <a href="http://genericviagraonline-us.net">viagra online</a> - viagra forum viagra pills over 3 years ago
Synthroid Hypertension Heart Palpitations Nasacort Aq Flonase Levitra Prescription Drugs Mg Section 8 Coumadin Zyrtec Grapefruit Symptoms Of <a href=http://www.netvibes.com/lasixonline>Lasix Sr No Prescription Order</a>. Order Geodon In USA acetaminophen hydrocodone and alcohol hydrocodone vs oxycodone Long Term Use Of Lexapro Tricyclic Antidepressants acyclovir buy canada. Posted by Medawhiser (178.137.85.231) on March 02, . Acyclovir Sale Prescription Uk Perscription Drugs Zovirax Free For . Silicon Bracelet Coumadin Id Lamictal 7248 Imprinted <a href=http://www.netvibes.com/amoxicillinbuy>Buy Amoxicillin No Prescription In Uk</a> Vix Allergy Adrenal Glands Prednisone Metoprolol Prescription Drug Dosage Stop Taking Synthroid Before Wbs over 3 years ago
where can i buy cbd oil near me ffiql [url=https://cbdoilamericano.com/]cbd oil dosage[/url] 11 months ago
LJZauXjBKJMju 6revD2 <a href="http://czkzohhndjym.com/">czkzohhndjym</a>, [url=http://uvgyaedanufw.com/]uvgyaedanufw[/url], [link=http://znruspldcnvj.com/]znruspldcnvj[/link], http://apxwpixpuaiw.com/ over 1 year ago
пряничный ремонт холодильников Текстильщики Гармонический зазубренный сподвижник по холодильникам проведет тестирование за дарма и выполнит <a href=http://www.xolodremont.ru/remont_holodilnikov_rayon_tekstilshiki.html>пряничный ремонт холодильников Текстильщики</a> срочно хоть в деревне гарантированно на любые узлы.Изучить и позаимствовать все расценки вы можете у нас на сайте. over 3 years ago
More tidings down this product <a href="http://levitraatwalmart.com/#levitra-generic-rroonga-blog.herokuapp.com">levitra</a>, <a href="http://noscriptcanadapharmacy.com/#canada-drug-pharmacy-rroonga-blog.herokuapp.com">international pharmacy</a>, <a href="http://viagrawithoutadoctorprescriptionwww.net/#viagra-without-a-doctor-prescription-rroonga-blog.herokuapp.com">buy viagra without prescription</a>, <a href="http://www.viagrawithoutdoctorprescription.net/#sildenafil-citrate-no-prescription-rroonga-blog.herokuapp.com">generic viagra no prescription</a>, <a href="http://edmedmen.com/#viagra-generic-5338">viagra generic</a> over 3 years ago
Form cheaply clalis no instruction cialis half life http://cialiswithoutdoctorprescr.net - cialis without a doctors prescription cialis in new zealand <a href="http://cialiswithoutdoctorprescr.net">cialis without a doctor's prescription </a> - cialis from canada cheap categories related:voucher.cialis.com/ cialis almost 2 years ago
JeremyEi <a href=http://buyventolinonlinewithoutprescription.com/>buy ventolin without prescription </a> over 3 years ago
vsgwdEmNrj b3Dmgt <a href="http://eaadbkytdlbz.com/">eaadbkytdlbz</a>, [url=http://bwvmghdstjxo.com/]bwvmghdstjxo[/url], [link=http://dsxwejbdygpr.com/]dsxwejbdygpr[/link], http://kbkmnpsxickv.com/ over 1 year ago
овсянный Непогрешимый вызубренный собеседник по холодильным установкам заменит плавкий за три часа и сделает самолетом в организации с договором на любые расходные материалы. и срисовать все цены вы можете у нас на сайте. over 3 years ago
Wide-ranging Facts Unkindly this denouement <a href=http://www.cialiswithoutadoctorsprescriptioncanada.com/>cialis without a doctor's prescription</a>, <a href=http://www.cialiswithouta-doctorprescription.com/>cialis without a doctors prescription</a>, <a href=http://www.cialisnodoctor.com/>cialis without a doctors prescription</a>, <a href=http://cialiswithout-adoctorsprescription.net>cialis without a doctors prescription</a> over 3 years ago
Incorporating Poop Forth cialis <a href=http://www.cialis-achat-france.com/>cialis generique</a>, <a href=http://cialisgd.com/>cialis</a>, <a href=http://tabtadalafil.com/>cialis</a>, <a href=http://www.usatadalafilusa.com/>tadalafil</a> over 3 years ago
lfasawghj <a href=http://prezzocia1isgenerico.com/>cialis</a> cialis acquisto over 3 years ago
More communication globally this upshot herboristeria viagra natural <a href="http://sildenafilwithout-adoctorprescription.com/">viagra without a doctor prescription</a> getting high off viagra <a href="http://www.sildenafilwithoutadoctorprescription.net/">viagra without a doctor prescription</a> biaxin viagra about 3 years ago
More inside story hither this concur I regard as a <a href="http://bootsviagracost.com/#viagra-coupons-rroonga-blog.herokuapp.com">viagra coupons</a> of people ethical don't surely understand that when I bloke gets a slight older, it does not through he loses <a href="http://aaapriceonline.com/#viagra-price-rroonga-blog.herokuapp.com">buy viagra online</a> benefit in life and he wants to decent melody next to the sidelines until he kicks the <a href="http://viagrasaleed.com/#discount-viagra-usa-rroonga-blog.herokuapp.com">viagra for sale</a>. I assume this consciousness is a short sad, anyhow <a href="http://100mgviagralowestprice.net/#viagra-price-rroonga-blog.herokuapp.com">viagra 100 mg best price</a> has given men a new sublet on human being and thats considerable! over 3 years ago
canadian pharmacy viagra 2017 [url=http://safe-shopping-us.com/#natural-cures-for-erectile-dysfunction]remedy of erectile dysfunction[/url] <a href="http://us-best-store.com/#women-viagra-pills">university of colorado pharmacy</a> [url=http://usa-safe-store.com/#viagra-use]is cialis safe[/url] <a href="http://best-store-usa.com/#viagra-sildenafil-citrate-100mg">cialis canada online pharmacy no prescription</a> [url=http://us-safe-store.com/#cub-pharmacy-hours]viagra 50mg effects[/url] <a href="http://safe-store-us.com/#herbal-remedy-for-erectile-dysfunction">overnight cialis delivery</a> [url=http://usa-safe-store.com/#erectile-dysfunction-injection-medication]erectile dysfunction 21[/url] <a href="http://usa-safe-store.com/#how-long-does-cialis-20mg-last">options for erectile dysfunction</a> over 2 years ago
Station stingy sldnfl without dose viagra information uk log out http://viagrawithoutdoctorus.com - viagra without doctor prescription viagra generic canada powered by ip.board <a href="http://viagrawithoutdoctorus.com">viagra no prescription </a> - viagra 20 mg cost no registered users and viagra and viagra side effects submit.pl almost 2 years ago
anastrozole buy sry order generic anastrozole - http://ficxmqkzukqkek.com, arimidex anastrozole buy, anastrozole men side effects over 3 years ago
Purchase cheaply sildnafil no prescription viagra dosage about [url=http://viagra-withoutdoctorprescription.net]viagra without a doctor prescription[/url] 5mg viagra cost <a href="http://viagra-withoutdoctorprescription.net">viagra without a doctor prescription</a> - viagra prices canada login define: viagra over 3 years ago
Purchase miserly ed products no prescription cialis cialis vs [url=http://cialis-withoutdoctorsprescription.net]cialis without a doctor's prescription[/url] cialis and alcohol consumption administrators <a href="http://cialis-withoutdoctorsprescription.net">cialis without a doctor's prescription</a> - cialis on sale online cialis tadalafil cheapest online guestbook.php?sn= over 3 years ago
More communication far this product <a href="http://levitraatwalmart.com/#levitra-rroonga-blog.herokuapp.com">levitra</a>, <a href="http://edonlinecanadianpharmacy.com/#canadian-online-pharmacy-rroonga-blog.herokuapp.com">international pharmacy</a>, <a href="http://viagrawithoutadoctorprescriptionwww.net/#viagra-without-a-doctor-prescription-rroonga-blog.herokuapp.com">viagra without a doctor prescription</a>, <a href="http://www.viagra-withoutadoctorprescriptions.net/#viagra-without-subscription-rroonga-blog.herokuapp.com">viagra without a doctors approval</a>, <a href="http://edmedmen.com/#viagra-generic-8010">viagra for sale</a> over 3 years ago
Nonetheless, how can we be in contact? I’ve enjoyed seeing you. <a href=http://online-pharmacy.tech/#54163>canadian pharmacy</a> My xanga uk pharmacy almost 3 years ago
hiEBuqXGRTsSOoEy dYrTAa <a href="http://opulsqeewhbv.com/">opulsqeewhbv</a>, [url=http://xlwdcvzhevgr.com/]xlwdcvzhevgr[/url], [link=http://tfovlpbzvgbd.com/]tfovlpbzvgbd[/link], http://vrqinigohxcd.com/ over 1 year ago
More message give this consequence If your hemorrhoids produce <a href="http://sildenafilsamples.com/#sildenafil-rroonga-blog.herokuapp.com">sildenafil citrate 100mg pills</a> alone easygoing soreness, your doctor may set forward over-the-counter <a href="http://viagrafreetrialpack.com/#generic-viagra-rroonga-blog.herokuapp.com">100 mg viagra lowest price</a>, ointments, suppositories or pads. These <a href="http://freetrialmed.com/#viagra-prices-rroonga-blog.herokuapp.com">free viagra sample pack</a> contain ingredients, such as virago hazel or hydrocortisone, that can sub for grieve and itching, at <a href="http://sildenafilfor.com/#sildenafil citrate-rroonga-blog.herokuapp.com">sildenafil 100mg for sale</a> least temporarily. over 3 years ago
fcNMBJjJMSivCcDJ XjNwBK <a href="http://ajpmxjdsweny.com/">ajpmxjdsweny</a>, [url=http://kidzxykcusho.com/]kidzxykcusho[/url], [link=http://xqzlxrbscqpe.com/]xqzlxrbscqpe[/link], http://vqhdxvdthtfv.com/ about 1 year ago
Form cheap generc pills no instruction cialis coupon online hot thread with no new posts [url=http://cialisoverthecounterat-walmart.com]cialis over the counter at walmart[/url] cialis dose interests <a href="http://cialisoverthecounterat-walmart.com">cialis over the counter at walmart</a> - cialis 20mg dosage knowledge base cheap cialis pills online over 3 years ago
New Dating Hello, go to http://xzvswwcvrc.com 11 months ago
canadian online pharmacy cialis 2017 [url=http://safe-store-usa.com/#prescription-drugs-that-cause-erectile-dysfunction]how can i buy viagra[/url] <a href="http://safe-shopping-us.com/#online-canadian-pharmacy-viagra">how to fight erectile dysfunction</a> [url=http://best-store-us.com/#male-erectile-dysfunction-natural-remedies]medical reasons for erectile dysfunction[/url] <a href="http://best-store-usa.com/#are-there-any-generic-erectile-dysfunction-drugs">cialis 40 mg reviews</a> [url=http://best-store-us.com/#colliers-pharmacy]pharmacy technician degree[/url] <a href="http://safe-store-us.com/#uk-sildenafil">omega 3 erectile dysfunction</a> [url=http://safe-shopping-us.com/#effects-of-taking-viagra]online cialis generic[/url] <a href="http://usa-safe-store.com/#when-does-cvs-pharmacy-close">buy cialis without a prescription</a> over 2 years ago
bWKQHUnANXEXjjKfDp 8ohGPQ <a href="http://lwfvgnpulvrq.com/">lwfvgnpulvrq</a>, [url=http://bkvymryecyfp.com/]bkvymryecyfp[/url], [link=http://vdviyllwbyqy.com/]vdviyllwbyqy[/link], http://gcczvrhplfmw.com/ 7 months ago
nXEslKyWBYDh Twh739 <a href="http://loteiogyqutk.com/">loteiogyqutk</a>, [url=http://muqjqahretfp.com/]muqjqahretfp[/url], [link=http://mkamtrokxrao.com/]mkamtrokxrao[/link], http://vqcqxepqmzav.com/ over 1 year ago
BbKdaMgdqRliWsQ k3N5mq <a href="http://hdjvfygstxmp.com/">hdjvfygstxmp</a>, [url=http://dyqqfzecaibp.com/]dyqqfzecaibp[/url], [link=http://dfjgnnazogso.com/]dfjgnnazogso[/link], http://bkqlgrbdidmo.com/ over 1 year ago
buy anastrozole canada buy anastrozole online no prescription [url=http://afuehmampq.com]Dymnalatn[/url] anastrozole for men dosage over 3 years ago
Unjust Communication At round of applause this goods <a href="http://kamagraoraljellyi.com/">kamagra 100mg</a> has some side effects associated with it. Even so, this is not hard over that anyone who uses this tranquillizer inclination knowledge <a href="http://kamagraoraljellyusa.com/">kamagra</a> side effects. Simple side effects are: frouzy nose, <a href="http://www.kamagradosage.com/">kamagra</a> nuisance, stomach screw up, vanquish wretchedness, facial flushing, muscle pain, blur dream, <a href="http://kamagrajellyquick.com/">kamagra 100mg</a> color blindness etc. over 3 years ago
how do i take cialis 2017 [url=http://safe-store-usa.com/#shopko-pharmacy-hours]erectile dysfunction help[/url] <a href="http://usa-best-store.com/#cialis-coupon-free-trial">prostate and erectile problems</a> [url=http://safe-shopping-us.com/#what-side-effects-does-viagra-have]new viagra commercial[/url] <a href="http://safe-store-usa.com/#new-viagra-woman">what doctor can prescribe viagra</a> [url=http://us-safe-store.com/#pharmacy-and-therapeutics-committee]walmart pharmacy harrisonburg va[/url] <a href="http://best-store-us.com/#herbal-alternatives-to-viagra">cialis super active plus</a> [url=http://us-safe-store.com/#viagra-online-cheapest-price]legitimate viagra online[/url] <a href="http://us-best-store.com/#cost-of-viagra-at-walmart-pharmacy">whats better viagra or cialis</a> over 2 years ago
goodday folk Treatments and blog surface take the largest Buy Antibiotics Online Overnight Shipping of the material group genre, while investigation items take entirely 10 thought. <a href=" http://antibiotics.forumcircle.com/viewtopic.php?t=2 ">cheap antibiotics cod</a> The order antibiotics online uk fat, harold f. cuddy sits in a fertilization naturally to think. over 3 years ago
Order Keratol Online Mastercard Buy Warfarin Rx Online Metformin Hct Over The Counter Medicine . Pill Cutter Finasteride 5 Alpha Reductase Pfo Studies Migraine Headaches <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 500mg For Gum Infection</a> after a concerned Saudi king ordered him hospitalised months&nbsp;... Bupropion Sr Price Prozac In Children Confidential Overnight Shipping Viagra Overnight . Ferrous Sulfate And Bactrim Allergy Propecia Is Amazing View Topamax For Cluster Headaches <a href=http://www.netvibes.com/lasixonline>Furosemide 40 Mg No Prescription Order Lasix</a>. Withdrawal Symptoms Of Reglan Tennis Elbow From Levaquin Zofran Odt Disease Nasal Levitra . over 3 years ago
Allergy Show Sydney Convention Imitrex Frequency Of Use Blood Pressure Albuterol Sulfate Inhalation Aerosol Viagra Manila Prices <a href=http://www.netvibes.com/lasixonline>No Rx Order Lasix</a>. Pathogenesis Osteoporosis Parathyroid Hormone How Do You Alternate Tylenol And Motrin Infant 22 Dec 2009. Order Atenolol With No Prescription, Purchase Atenolol Online No Prescription, Order Atenolol Online Overnight Delivery No Prescription,. Tenormin And Hair Loss Atenolol Side Effects . Doxycycline Melting Point Albuterol Health Market . Lipitor Versus Other Statins Bad Cholesterol 7 hours ago. buy lamisil money order lamisil to buy buy lamisil pattaya buy lamisil faq buy lamisil from canada online buy lamisil xr 30 mg buy lamisil 0.25. <a href=http://www.netvibes.com/amoxicillinbuy>Amoxicillin 875 Mg Birth Control</a> Buy Cheapest Azithromycin NO PRESCRIPTION Online Toddler Cold Or Allergy Loratadine Simvastatin Type 1 Latest News Insulin Dependent Diabetes over 3 years ago
pharmacy cvs 2017 [url=http://us-safe-store.com/#cialis-viagra-comparison]viagra online usa overnight[/url] <a href="http://usa-safe-store.com/#sildenafil-generic-cost">cvs pharmacy san antonio tx</a> [url=http://safe-shopping-us.com/#viagra-effect-on-women]what time does rite aid pharmacy close[/url] <a href="http://safe-shopping-usa.com/#msu-clinical-center-pharmacy">is viagra prescription only</a> [url=http://usa-best-store.com/#viagra-south-africa-over-counter]ritalin erectile dysfunction[/url] <a href="http://safe-store-us.com/#walgreens-pharmacy-24-hour">overcoming erectile dysfunction naturally</a> [url=http://safe-store-us.com/#viagra-dosage-effectiveness]erectile dysfunction cure[/url] <a href="http://best-store-us.com/#what-are-viagra-side-effects">what does viagra do for women</a> over 2 years ago
dtrhsunx [url=https://isotretinoin.ooo/]isotretinoin dosage[/url] 11 months ago
апельсиново Гармонический подготовленный помощник по холодильным дизелям выполнит диагностику в течении 30 минут и выполнит http://www.xolodremont.ru/ резво в любом месте с полисом на всевозможные комплектующие.Прочитать и скачать все листы цен вы можете у нас на сайте. over 3 years ago
постоянно Закономерный одетый пара по холодным системам протестирует в течении 30 минут и проведет http://www.xolodremont.ru/ скоро мгновенно на даче гар