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
inselect
. 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.
- highlight_html(): supports keywords in target text with
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!