<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Cominvent AS - Enterprise search consultants</title>
	<atom:link href="http://www.cominvent.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cominvent.com</link>
	<description>Search, and you will find!</description>
	<lastBuildDate>Tue, 17 Apr 2012 18:57:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>ci@cominvent.com (Cominvent AS - Enterprise search consultants)</managingEditor>
	<webMaster>ci@cominvent.com (Cominvent AS - Enterprise search consultants)</webMaster>
	<image>
		<url>http://www.cominvent.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Cominvent AS - Enterprise search consultants</title>
		<link>http://www.cominvent.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Search, and you will find!</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Cominvent AS - Enterprise search consultants</itunes:author>
	<itunes:owner>
		<itunes:name>Cominvent AS - Enterprise search consultants</itunes:name>
		<itunes:email>ci@cominvent.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.cominvent.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Amazon releases CloudSearch</title>
		<link>http://www.cominvent.com/2012/04/17/amazon-releases-cloudsearch/</link>
		<comments>http://www.cominvent.com/2012/04/17/amazon-releases-cloudsearch/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 15:01:30 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[The Cloud]]></category>
		<category><![CDATA[Trends]]></category>
		<category><![CDATA[CloudSearch]]></category>
		<category><![CDATA[Elastic Search]]></category>
		<category><![CDATA[Solr 4.0]]></category>
		<category><![CDATA[SolrCloud]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=612</guid>
		<description><![CDATA[Amazon has really impressed me with their efficient and simple cloud solutions. Last week they announced a hosted search solution in their cloud, named CloudSearch. The idea is the same as for all the other cloud services, namely that they take care of all the hosting, provisioning and scaling (CloudSearch can auto-scale) while you concentrate [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-613 alignleft" title="amazon cloud search" src="http://www.cominvent.com/wp-content/uploads/2012/04/amazon-cloud-search-300x183.jpg" alt="" width="300" height="183" />Amazon has really impressed me with their efficient and simple cloud solutions. <a href="http://aws.amazon.com/about-aws/whats-new/2012/04/11/aws-announces-cloudsearch/">Last week they announced a hosted search solution in their cloud</a>, named CloudSearch. The idea is the same as for all the other cloud services, namely that <strong>they</strong> take care of all the hosting, provisioning and scaling (CloudSearch can auto-scale) while <strong>you</strong> concentrate on indexing and searching.<span id="more-612"></span></p>
<p>So what do you get and how does this compare to Solr? Well, the engine powering CloudSearch is Amazon&#8217;s own <a href="http://en.wikipedia.org/wiki/A9.com">A9 technology</a>. It features many of the same basic features as Lucene and Solr but there are also differences. You get plain field search, boolean search, range search, facets, stemming, stopwords, synonyms and a relevancy search. The relevancy search can be tuned using a JavaScript like syntax in which you tell it what to boost. The concept reminds me of Solr&#8217;s FunctionQueries which lets you &#8220;program&#8221; your own boosts.</p>
<p>If you want to run Solr but be able to scale it into the cloud, CloudSearch won&#8217;t do that for you. Then you should consider using SolrCloud on Amazon EC2 or another cloud platform instead. There are even providers of hosted plans out there such as <a href="http://www.indexdepot.com/">IndexDepot</a> and <a href="http://www.websolr.com/">WebSolr</a> which take care of the hosting part for you.</p>
<p>I look forward to playing with the service the next time I find myself wondering what to do <img src='http://www.cominvent.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2012/04/17/amazon-releases-cloudsearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr 3.6 released</title>
		<link>http://www.cominvent.com/2012/04/17/solr-3-6-released/</link>
		<comments>http://www.cominvent.com/2012/04/17/solr-3-6-released/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 14:26:23 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[CurrencyField]]></category>
		<category><![CDATA[Solr 3.6]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=603</guid>
		<description><![CDATA[Version 3.6 of Apache Solr was recently released. This will be the last 3.x release before 4.0 will come out later this year. Version 3.6 contains many improvements and bug fixes. Here&#8217;s the release statement: 12 April 2012, Apache Solr™ 3.6.0 available The Lucene PMC is pleased to announce the release of Apache Solr 3.6.0. [...]]]></description>
			<content:encoded><![CDATA[<p>Version 3.6 of Apache Solr was recently released. This will be the last 3.x release before 4.0 will come out later this year. Version 3.6 contains many improvements and bug fixes.</p>
<p>Here&#8217;s the release statement:<span id="more-603"></span></p>
<table width="100%">
<tbody>
<tr bgcolor="#CCCCCC">
<td>12 April 2012, Apache Solr™ 3.6.0 available</p>
<p>The Lucene PMC is pleased to announce the release of Apache Solr 3.6.0.</p>
<p>Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, dynamic clustering, database<br />
integration, rich document (e.g., Word, PDF) handling, and geospatial search. Solr is highly scalable, providing distributed search and index replication, and it powers the search and navigation features of many of the world&#8217;s<br />
largest internet sites.</p>
<p>This release contains numerous bug fixes, optimizations, and improvements, some of which are highlighted below. The release is available for immediate download at: <a href="http://lucene.apache.org/solr/mirrors-solr-latest-redir.html">http://lucene.apache.org/solr/mirrors-solr-latest-redir.html</a> (see note below).</p>
<p>See the <a href="http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_3_6/solr/CHANGES.txt?view=co">CHANGES.txt</a> file included with the release for a full list of<br />
details.</p>
<p>Solr 3.6.0 Release Highlights:</p>
<ul>
<li>New SolrJ client connector using Apache Http Components http client (<a href="http://issues.apache.org/jira/browse/SOLR-2020" target="_new">SOLR-2020</a>)</li>
<li>Many analyzer factories are now &#8220;multi term query aware&#8221; allowing for things like field type aware lowercasing when building prefix &amp; wildcard queries (<a href="http://issues.apache.org/jira/browse/SOLR-2438" target="_new">SOLR-2438</a>)</li>
<li>New Kuromoji morphological analyzer tokenizes Japanese text, producing both compound words and their segmentation. (<a href="http://issues.apache.org/jira/browse/SOLR-3056" target="_new">SOLR-3056</a>)</li>
<li>Range Faceting (Dates &amp; Numbers) is now supported in distributed search (<a href="http://issues.apache.org/jira/browse/SOLR-1709" target="_new">SOLR-1709</a>)</li>
<li>HTMLStripCharFilter has been completely re-implemented, fixing many bugs and greatly improving the performance (<a href="http://issues.apache.org/jira/browse/LUCENE-3690">LUCENE-3690</a>)</li>
<li>StreamingUpdateSolrServer now supports the javabin format (<a href="http://issues.apache.org/jira/browse/SOLR-1565" target="_new">SOLR-1565</a>)</li>
<li>New LFU Cache option for use in Solr&#8217;s internal caches. (<a href="http://issues.apache.org/jira/browse/SOLR-2906" target="_new">SOLR-2906</a>)</li>
<li>Memory performance improvements to all FST based suggesters (<a href="http://issues.apache.org/jira/browse/SOLR-2888" target="_new">SOLR-2888</a>)</li>
<li>New WFSTLookupFactory suggester supports finer-grained ranking for suggestions. (<a href="http://issues.apache.org/jira/browse/LUCENE-3714">LUCENE-3714</a>)</li>
<li>New options for configuring the amount of concurrency used in distributed searches (<a href="http://issues.apache.org/jira/browse/SOLR-3221" target="_new">SOLR-3221</a>)</li>
<li>Many bug fixes</li>
</ul>
<p>Note: The Apache Software Foundation uses an extensive mirroring network for<br />
distributing releases. It is possible that the mirror you are using may not<br />
have replicated the release yet. If that is the case, please try another<br />
mirror. This also goes for Maven access.</p>
<p>Happy searching,</p>
<p>Lucene/Solr developers</td>
</tr>
</tbody>
</table>
<p>In addition to these news, Jan Høydahl has also contributed these features and fixes to 3.6:</p>
<ul>
<li><a href="http://issues.apache.org/jira/browse/SOLR-1052" target="_new">SOLR-1052</a>: Deprecate/Remove and in favor of in solrconfig.xml</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2202" target="_new">SOLR-2202</a>: Money/Currency FieldType (Handling multiple currencies in the same field See <a href="http://wiki.apache.org/solr/CurrencyField">http://wiki.apache.org/solr/CurrencyField</a>)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2970" target="_new">SOLR-2970</a>: CSV ResponseWriter returns fields defined as stored=false in schema</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-3026" target="_new">SOLR-3026</a>: eDismax: Locking down which fields can be explicitly queried (<a href="http://wiki.apache.org/solr/ExtendedDisMax#uf_.28User_Fields.29">user fields aka uf</a> - control what fields users may query)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2764" target="_new">SOLR-2764</a>: Create a <a href="http://wiki.apache.org/solr/LanguageAnalysis#Norwegian">NorwegianLightStemmer</a> and NorwegianMinimalStemmer &#8211; simpler and sometimes better than the Snowball</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2826" target="_new">SOLR-2826</a>: URLClassify Update Processor (good for web search)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-3140" target="_new">SOLR-3140</a>: Make omitNorms default for all numeric field types (simplifies schema, better default)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2901" target="_new">SOLR-2901</a>: Upgrade Solr to Tika 1.0</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-3009" target="_new">SOLR-3009</a>: hitGrouped.vm isn&#8217;t shipped with 3.x (fixes grouping in the /browse GUI)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-3059" target="_new">SOLR-3059</a>: Provide example for XSLTUpdateRequest (allows you to POST a Solr search result into another Solr index as XML)</li>
<li><a href="http://issues.apache.org/jira/browse/SOLR-2487" target="_new">SOLR-2487</a>: New Ant build target to not include slf4j-jdk14 jar in WAR (nice if you want to use another log framework than JUL)</li>
</ul>
<p>This version is backwards compatible with the other 3.x versions, so upgrading is as simple as replacing the WAR file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2012/04/17/solr-3-6-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super flexible AutoComplete with Solr</title>
		<link>http://www.cominvent.com/2012/01/25/super-flexible-autocomplete-with-solr/</link>
		<comments>http://www.cominvent.com/2012/01/25/super-flexible-autocomplete-with-solr/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 17:34:17 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=576</guid>
		<description><![CDATA[AutoComplete or AutoSuggest has in recent years become a &#8220;must-have&#8221; search feature. Solr can do AutoComplete in a number of ways (such as Suggester, TermsComponent and Faceting using facet.prefix), but in this post we&#8217;ll consider a more advanced and flexible option, namely querying a dedicated Solr Core search index for the suggestions. You may think that this sounds heavy [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Autocomplete#In_search_engines" target="_blank">AutoComplete</a> or AutoSuggest has in recent years become a &#8220;must-have&#8221; search feature. Solr can do AutoComplete in a number of ways (such as <a href="http://wiki.apache.org/solr/Suggester" target="_blank">Suggester</a>, <a href="http://wiki.apache.org/solr/TermsComponent" target="_blank">TermsComponent</a> and Faceting using <a href="http://wiki.apache.org/solr/SimpleFacetParameters#facet.prefix" target="_blank">facet.prefix</a>), but in this post we&#8217;ll consider a more advanced and flexible option, namely querying a dedicated Solr Core search index for the suggestions. You may think that this sounds heavy weight, but we&#8217;re talking small data here so it is really efficient and snappy!</p>
<p><a href="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-02-16-at-16.33.50.png"><img class="alignnone size-full wp-image-600" title="Screen Shot 2012-02-16 at 16.33.50" src="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-02-16-at-16.33.50.png" alt="" width="420" height="257" /></a><br clear="all" /> Even if it&#8217;s some work setting up, the benefits to this approach are really compelling:<span id="more-576"></span></p>
<ol>
<li>Suggest on multi word or sentences</li>
<li>Suggests on prefix of whole line and/or individual words</li>
<li>Full relevancy tuning capabilities of Solr (in contrast to a single frequency sorting from TermsComponent or Faceting)</li>
<li>Increased recall using Phonetics, Fuzzy, Character normalization, or any other Solr feature</li>
<li>Rich suggestions including thumbnails, extra texts etc</li>
<li>Easy to mix different &#8220;categories&#8221; of suggestsions, e.g. &#8220;Book titles&#8221;, &#8220;Authors&#8221;, &#8220;Genres&#8221;, and group these together</li>
<li>Much more</li>
</ol>
<p>So let&#8217;s get to it. To make it easy, we&#8217;ve shared with you a ready to run example setup at <a href="https://github.com/cominvent/autocomplete" target="_blank">https://github.com/cominvent/autocomplete</a> which provides a template for you to build upon for your own needs. First we&#8217;ll guide you through downloading and running the example, indexing some example data with names of all countries and all major cities in the world. Then we&#8217;ll look more behind the scenes to explain how it&#8217;s all setup.</p>
<h2>Running the example</h2>
<p>The example contains a complete solr-home configured with an &#8220;ac&#8221; core, and some example data in CSV format which we&#8217;ll feed to our core using HTTP POST (curl). Solr itself is not included in the example, so you&#8217;ll need to download <a href="http://www.apache.org/dyn/closer.cgi">Solr 3.5</a>or newer first. We&#8217;ll then start the Solr example app, pointing to our autocomplete solr-home.</p>
<ol>
<li>Download and unpack Solr3.5 if you have not already <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr/" target="_blank">http://www.apache.org/dyn/closer.cgi/lucene/solr/</a></li>
<li>Download and unpack autocomplete example from GitHub: <a href="https://github.com/cominvent/autocomplete/zipball/master" target="_blank">https://github.com/cominvent/autocomplete/zipball/master</a> (alternatively check out the code using git)</li>
<li>Cd to the autocomplete folder, open README.TXT and follow the instructions. When done you will have Solr up and running with the example data indexed into the &#8220;ac&#8221; core.</li>
<li>When you browse to http://localhost:8983/solr/ac/browse and start typing, you&#8217;ll see countries and cities suggested</li>
</ol>
<div>The population of countries and cities is used as the major ranking factor. But textual relevancy is also used, so that complete matches score higher than partial matches and more.</div>
<h2>Behind the scenes</h2>
<div>So let&#8217;s dive down in the details. The main layers in our example are (see solr-home/ac/conf):</div>
<div>
<ol>
<li>JavaScript hook (in velocity/head.vm) which performs a query to Solr whenever you type a character in the search box</li>
<li>A velocity template (velocity/suggest.vm), adapted from Solr&#8217;s velocity contrib, which reformats the Solr response the way we want it</li>
<li>jQuery AutoComplete plugin which renders the results output from suggest.vm</li>
<li>The Solr core configuration itself as defined by schema.xml and solrconfig.xml</li>
<li>The example data which is indexed into the &#8220;ac&#8221; core</li>
</ol>
</div>
<div>In your own application you will want to tailor all of these. If your site is PHP driven you&#8217;ll create a PHP page instead of our our Velocity templates etc.</div>
<h3>1. Querying Solr from the page</h3>
<p>This Javascript makes prepares the URL to query. Here we ask Solr directly, but normally you&#8217;ll want to call some (PHP/JSP/ASPX) servlet of yours which in turn queries the private Solr server. So put the URL to your servlet. Your servlet will then call the autocomplete core similar to what we do here. We call the normal &#8220;/select&#8221; handler, but with qt=ac we select the handler we want, and instead of XML back we ask for a velocity template called &#8220;suggest&#8221; (&amp;wt=velocity&amp;v.template=suggest), which formats one suggestion per line. Finally we ask for 20 results.</p>
<pre><a href="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-17.37.01.png"><img class="alignnone size-full wp-image-589" title="Screen Shot 2012-01-25 at 17.37.01" src="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-17.37.01.png" alt="" width="562" height="231" /></a></pre>
<h3>2. Format the response to suit your Ajax component</h3>
<p>In our example we use <a href="https://github.com/cominvent/autocomplete/blob/master/solr-home/ac/conf/velocity/suggest.vm" target="_blank">suggest.vm</a> to format the results to make it suitable for our AutoComplete component. You would probably want to do this formatting in your client code instead. Our simple jQuery plugin expects one suggestion text per line. A more advanced Ajax component may be able to take in multiple pieces of information, such as thumbnail URLs etc.</p>
<h3>3. The Autocomplete component</h3>
<p>We use jQuery autocomplete component, and it eats the response from suggest.vm one line at a time and displays it in a nice (ehem) dropdown list.</p>
<h3>4. Solr schema and config</h3>
<p>Now the juice of our solution lies in the AC core itself. It has a <a href="https://github.com/cominvent/autocomplete/blob/master/solr-home/ac/conf/schema.xml" target="_blank">schema</a> which matches the input data, and this should be a good starting point for you too. Apart from the fields we return, we also have some special fields which are only searched. These are <strong>textnge</strong>, <strong>textng</strong>, <strong>textphon</strong>, <strong>extrasearch</strong> and <strong>phonetic</strong>. They are copied from <strong>textsuggest</strong>, but have different processing, which can be seen from the fieldTypes:</p>
<p style="padding-left: 30px;">textnge uses fieldType autocomplete_edge which will match only from the left edge of the suggestion text. For this we use KeywordTokenizerFactory and EdgeNGramFilterFactory along with some regex cleansing.</p>
<p style="padding-left: 30px;">textng uses fieldType autocomplete_ngram which matches from the start of every word, so that you can get right-truncated suggestions for any word in the text, not only from the first word. The main difference from textnge is the tokenizer which is StandardTokenizerFactory, thus the EdgeNGram filter will produce N-grams for every single token.</p>
<p style="padding-left: 30px;">textphon and phonetic uses fieldType text_phonetic_do which applies the DoubleMetaphoneFilterFactory phonetic filter. This lets a query for &#8220;muhammed&#8221; also match &#8220;mohammad&#8221; etc. Note that it does not make sense to combine N-gram and phonetics, so we only compute phonetic normalization per whole word. The difference between the two fields is how they get populated &#8211; textphon gets populated with a copyField from textsuggest, while &#8220;phonetic&#8221; must be explicitly fed in the content. This is to let you choose whether phonetics should apply to all suggestions or just some.</p>
<p style="padding-left: 30px;">Finally, the field extrasearch is simply queried in addition to textsuggest, and is a way to match hidden text that is not displayed. In our example we add country codes to this field so you can get a match for &#8220;Sweden&#8221; by typing &#8220;SE&#8221;. This field could also contain your hand-edited list of synonyms.</p>
<h3><strong>solrconfig.xml</strong></h3>
<p><strong></strong>In our <a href="https://github.com/cominvent/autocomplete/blob/master/solr-home/ac/conf/solrconfig.xml" target="_blank">solrconfig</a> we have setup two request handler configs, one for our &#8220;/browse&#8221; interface, for testing, and one &#8220;ac&#8221; without the Velocity stuff. In real life we would not have a &#8220;/browse&#8221; section because your main search index would reside in another core and probably contain other data than the autoComplete data. In our search GUI, if you click the search button you will get a normal search result directly from the &#8220;ac&#8221; core, so don&#8217;t be confused by that <img src='http://www.cominvent.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Let&#8217;s look at the config: <a href="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-18.09.21.png"><img class="alignnone size-full wp-image-591" title="Screen Shot 2012-01-25 at 18.09.21" src="http://www.cominvent.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-18.09.21.png" alt="" width="598" height="551" /></a></p>
<p>We use edismax query parser, and set it up with &#8220;qf=textsuggest^30 extrasearch^30.0 textng^50.0 phonetic^10&#8243; and pf=textnge^50.0. So the most important field is textng, and we weigh down the phonetic results to avoid noise. If you want to always search phonetic, add textphon to qf. The textnge field is searched through pf parameter (PhraseField), to give a boost to exact suggestions matching from beginning of query.</p>
<p>In addition to textual relevance we boost (bf) by popularity (in our case population), and we also do a multiplicative boost (boost) formula to be able to say that countries type entries should be more frequently suggested than the ones with type=Cities. This lets you tune the balance between the various types in a dynamic way without reindexing. You can even change a weight with a URL parameter instead of editing solrconfig.xml.</p>
<h3>5. The example data</h3>
<p>The example data file <a href="https://github.com/cominvent/autocomplete/blob/master/exampledata/ac-example.csv" target="_blank">ac-example.csv</a> is a comma separated file (which you may open in your spreadsheet application if you wish to view it more readable). Its columns match our schema, and you can easily use it as a template for entering you own autosuggest data. To feed the file to Solr you may use any HTTP client you choose, like curl as being done by feed-ac.sh referenced in <a href="https://github.com/cominvent/autocomplete/blob/master/README.TXT" target="_blank">README.TXT</a>. This concludes the walkthrough. Comments welcome!</p>
<h2>References</h2>
<p>[1]: Lucid&#8217;s <a href="http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/">blog post</a> about AutoComplete using edgeNgram</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2012/01/25/super-flexible-autocomplete-with-solr/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Solr 3.5 released</title>
		<link>http://www.cominvent.com/2011/11/27/solr-3-5-released/</link>
		<comments>http://www.cominvent.com/2011/11/27/solr-3-5-released/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 23:32:15 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Search technology]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Solr 3.5]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=569</guid>
		<description><![CDATA[Today a new version of Apache Solr was released, version 3.5.0. Here&#8217;s the release statement from the Lucene PMC: The Lucene PMC is pleased to announce the release of Apache Solr 3.5.0! See the CHANGES.txt file included with the release for a full list of details. Solr 3.5.0 Release Highlights: Bug fixes and improvements from Apache [...]]]></description>
			<content:encoded><![CDATA[<p>Today a new version of Apache Solr was released, version 3.5.0. Here&#8217;s the release statement from the Lucene PMC:</p>
<table width="80%">
<tbody>
<tr bgcolor="#CCCCCC">
<td>The Lucene PMC is pleased to announce the release of <a href="http://www.apache.org/dyn/closer.cgi/lucene/solr">Apache Solr 3.5.0</a>!</p>
<p>See the <a href="http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_3_5/solr/CHANGES.txt?view=co">CHANGES.txt</a> file included with the release for a full list of details.</p>
<p>Solr 3.5.0 Release Highlights:</p>
<ul>
<li>Bug fixes and improvements from Apache Lucene 3.5.0, including a very substantial (3-5X) RAM reduction required to hold the terms index on opening an IndexReader. (<a href="https://issues.apache.org/jira/browse/LUCENE-2205">LUCENE-2205</a>)</li>
<li>Added support for distributed result grouping. (<a href="https://issues.apache.org/jira/browse/SOLR-2066">SOLR-2066</a>, <a href="https://issues.apache.org/jira/browse/SOLR-2776">SOLR-2776</a>)</li>
<li>Added support for Hunspell stemmer TokenFilter supporting stemming for 99 languages. (<a href="https://issues.apache.org/jira/browse/SOLR-2769">SOLR-2769</a>)</li>
<li>A new contrib module &#8220;langid&#8221; adds language identification capabilities as an Update Processor, using Tika&#8217;s LanguageIdentifier or Cybozu language-detection library (<a href="https://issues.apache.org/jira/browse/SOLR-1979">SOLR-1979</a>)</li>
<li>Numeric types including Trie and date types now support sortMissingFirst/Last. (<a href="https://issues.apache.org/jira/browse/SOLR-2881">SOLR-2881</a>)</li>
<li>Added hl.q parameter. It is optional and if it is specified, it overrides q parameter in Highlighter. (<a href="https://issues.apache.org/jira/browse/SOLR-1926">SOLR-1926</a>)</li>
<li>Several minor bugfixes like date parsing for years from 0001-1000, ignored configurations when using QueryAnalyzer with SpellCheckComponent and many more. See CHANGES.txt entries for full details.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>Contributions from Cominvent include LanguageIdentifier, Plugging in Hunspell stemmer in Solr and <a href="https://issues.apache.org/jira/browse/SOLR-2742" target="_blank">SOLR-2742</a> which makes commitWithin more accessible through the SolrJ APIs. Also, Apache Tika is upgraded to version 0.10, fixing several bugs in parsing PDFs and Office documents.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/11/27/solr-3-5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discover CommitWithin in Solr</title>
		<link>http://www.cominvent.com/2011/09/09/discover-commitwithin-in-solr/</link>
		<comments>http://www.cominvent.com/2011/09/09/discover-commitwithin-in-solr/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 15:02:26 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[commitWithin]]></category>
		<category><![CDATA[Solr 3.4]]></category>
		<category><![CDATA[SolrJ]]></category>
		<category><![CDATA[update request handler]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=544</guid>
		<description><![CDATA[You may have been using Apache Solr for some time, and you all know that you have to do a &#60;commit/&#62; in order for the &#60;add&#62;ed content to become indexed. But what commit strategy should you choose? Many rely on the explicit commit from the client, or perhaps AutoCommit in solrconfig.xml. Explicit commits leaves all [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cominvent.com/wp-content/uploads/2011/09/Commit1.jpg"><img class="alignright size-medium wp-image-554" style="margin-left: 10px;" title="Commit" src="http://www.cominvent.com/wp-content/uploads/2011/09/Commit1-300x205.jpg" alt="" width="300" height="205" /></a>You may have been using Apache Solr for some time, and you all know that you have to do a &lt;commit/&gt; in order for the &lt;add&gt;ed content to become indexed. But what commit strategy should you choose? Many rely on the explicit commit from the client, or perhaps AutoCommit in solrconfig.xml. Explicit commits leaves all the responsibility to the client and you soon end up with too frequent/unnecessary commits (causing resource waste) or too few commits.</p>
<p>Sure, we have AutoCommit, where clients don&#8217;t need to think about committing, but then it gets less flexible; What if you sometimes want to index in larger batches, while other times you need low latency?</p>
<p>Discover <a href="http://wiki.apache.org/solr/CommitWithin" target="_blank">CommitWithin</a>! CommitWithin is a commit strategy introduced in Solr 1.4, which lets the client ask Solr to make sure this &lt;add&gt; request gets committed within a certain time. This leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements. If I send an &lt;add commitWithin=10000&gt; (in an XML update), that tells Solr to make sure the document gets committed within 10000ms, i.e. 10s. You can then continue to add other documents, and Solr will automatically do a &lt;commit&gt; when the oldest &lt;add&gt; is due.</p>
<p><span id="more-544"></span>First, CommitWithin was only possible to specify when using XML updates, on the &lt;add&gt; parameter. Later we got the same support in the JSON updates, and as HTTP parameter for Binary and JSON handlers. You can also specify commitWithin through SolrJ, but you have to write four lines of code instead of the one line required to do a plain add():</p>
<pre>    UpdateRequest req = new UpdateRequest();
    req.add(mySolrInputDocument);
    req.setCommitWithin(10000);
    req.process(server);</pre>
<p>vs:</p>
<pre>    server.add(mySolrInputDocument);</pre>
<p>I decided to try fixing the situation, making this highly desired feature more visible and easier to use from all kind of clients and Request Handlers. This effort resulted in a new <a href="http://wiki.apache.org/solr/CommitWithin" target="_blank">Wiki page</a> describing the feature, and several JIRA issues. One already made it into <a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+SOLR+AND+fixVersion+%3D+%223.4%22+AND+status+%3D+Resolved+ORDER+BY+key+DESC%2C+priority+DESC" target="_blank">Solr 3.4</a> which is on its way out the door these days:</p>
<p><a href="https://issues.apache.org/jira/browse/SOLR-2540" target="_blank">SOLR-2540</a>: <em>CommitWithin as an Update Request parameter</em>. (Solr3.4) This patch introduces the commitWithin request parameter in XML, CSV and Extracting request handlers, letting you specify on the URL itself whether this content is time critical or not. This enables clients like ManifoldCF to prioritize certain data sources or crawls over other, simply by adding a request parameter on the updates (<a href="https://issues.apache.org/jira/browse/CONNECTORS-202" target="_blank">CONNECTORS-202</a>).</p>
<p>The others are scheduled for 3.5 &#8211; whenever that will be released. If you need any of these today, add them as patches and build your own version of Solr:</p>
<p><a href="https://issues.apache.org/jira/browse/SOLR-2742" target="_blank">SOLR-2742</a>: <em>Add commitWithin to SolrServer&#8217;s add methods</em>. This patch adds another optional commitWithinMs parameter to all the add() methods of SolrJ&#8217;s SolrServer, making it fast and much more intuitive for developers to use this feature.</p>
<p><a href="https://issues.apache.org/jira/browse/SOLR-2280" target="_blank">SOLR-2280</a>: <em>commitWithin ignored for a delete query</em>. This patch makes it possible to also specify commitWithin for &lt;delete&gt;s, which makes sense since it is just as important for many applications to quickly commit deletes as it is for adds</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/09/09/discover-commitwithin-in-solr/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MacOS X Lion still got some itches</title>
		<link>http://www.cominvent.com/2011/09/02/macos-x-lion-still-got-some-itches/</link>
		<comments>http://www.cominvent.com/2011/09/02/macos-x-lion-still-got-some-itches/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 17:47:08 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[MacOS X]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=536</guid>
		<description><![CDATA[After upgrading to Lion this week I got several issues, even if I&#8217;m using 10.7.1. I thought I&#8217;d share them &#8211; and their solutions with you. Spinning beachball at login screen I bought a new SSD disk and performed a clean install, just to start from scratch. But even before restoring any of my old [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cominvent.com/wp-content/uploads/2011/09/MacOsXLionLogo.jpg"><img class="alignright size-full wp-image-537" title="MacOsXLionLogo" src="http://www.cominvent.com/wp-content/uploads/2011/09/MacOsXLionLogo.jpg" alt="" width="251" height="194" /></a>After upgrading to Lion this week I got several issues, even if I&#8217;m using 10.7.1. I thought I&#8217;d share them &#8211; and their solutions with you.</p>
<h3>Spinning beachball at login screen</h3>
<p>I bought a new SSD disk and performed a clean install, just to start from scratch. But even before restoring any of my old settings, I got an issue with spinning beach-ball on the login screen before I could log in. Sometimes it also went straight to &#8220;bluescreen&#8221; telling me to restart.</p>
<p>The solution was found <a href="https://discussions.apple.com/message/15666663#15666663">here</a>, in short  you need to login quickly before the lockup, then open Energy Saving preferences and disable automatic graphics switching. It solved the issue for me..<span id="more-536"></span></p>
<h3>Java applets not working</h3>
<p>This other issue affected my ability to use my internet banking. First of all, Java is not installed by default in Lion, but you can do that by starting &#8220;Java Preferences&#8221; from the &#8220;Utilities&#8221; sub folder of your &#8220;Applications&#8221; folder. It will then request a Java install from Mac App Store. Once done, enable the check box &#8220;Enable applet plug-in and Web Start applications&#8221;. Re-start your browser and you <strong>might</strong> be ok.</p>
<p>But for me it wasn&#8217;t that simple. In Chrome, nothing showed up, and Firefox simply locked completely trying to load an applet. So next solution is to repair home folder permissions. You may think that it sounds familiar, but do not mix this with the &#8220;Repair Permissions&#8221; in Disk Utility &#8211; which does <strong>not</strong> fix your home folder. This may be very useful anyway, for me it also fixed issues with two other applications. Here&#8217;s how to do it (inspired by many posts, mainly <a href="http://www.cultofmac.com/discover-the-hidden-password-reset-tool-in-lion-os-x-tips/111456">this</a>):</p>
<ol>
<li>Reboot your Mac, and hold cmd+R when rebooting (or hold &#8220;option/alt&#8221; and then select recovery partition)</li>
<li>Once in recovery, on the Utilities menu, select &#8220;Terminal&#8221;</li>
<li>In the Terminal window, write &#8220;resetpassword&#8221; to start the Password Reset utility (which was on the utilities menu in Leopard)</li>
<li>Select your user in the drop-down, and then click the little &#8220;Reset&#8221; button on the bottom.</li>
<li>Reboot and try that page with the applet agina. Voila!</li>
</ol>
<p>Good luck with your new Lion!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/09/02/macos-x-lion-still-got-some-itches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Becoming a committer</title>
		<link>http://www.cominvent.com/2011/06/16/becoming-a-committer/</link>
		<comments>http://www.cominvent.com/2011/06/16/becoming-a-committer/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 22:26:43 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Search technology]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[committer]]></category>
		<category><![CDATA[lucene]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=528</guid>
		<description><![CDATA[The Apache way of developing open source software relies on an active community of users, contributors and developers. All of us can contribute in some way or another. Being a committer means that you participate actively in the software development work and have write access to the source code repository. Each project is lead by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cominvent.com/wp-content/uploads/2011/06/apache.jpeg"><img class="alignright size-full wp-image-529" title="apache" src="http://www.cominvent.com/wp-content/uploads/2011/06/apache.jpeg" alt="" width="284" height="85" /></a>The Apache way of developing open source software relies on an active community of users, contributors and developers. All of us can contribute in some way or another. Being a <a href="http://en.wikipedia.org/wiki/Committer">committer</a> means that you participate actively in the software development work and have write access to the source code repository. Each project is lead by a the PMC (Project Management Committee) which consists of some of the committers taking an extra responsibility of staking out the future of the project.<span id="more-528"></span></p>
<p>I&#8217;ve been actively participating in the Lucene/Solr community for a few years: Answering questions on the solr-user and dev mailing lists, reporting bugs, uploading <a href="http://en.wikipedia.org/wiki/Patch_(computing)">patches</a> etc. This week I was invited by the PMC as a committer on the Lucene/Solr project, joining the twenty-something other existing committers. I&#8217;m honored of this invite, which also shows that the ASF works as a true <a href="http://en.wikipedia.org/wiki/Meritocracy#Open_Source">meritocracy</a>, those who show persistent contribution over time will be given more responsibility.</p>
<p>Looking forward to my first commit and many more to come, improving an already great code base. If you have a JIRA issue you&#8217;d like me to work on, please suggest one in the comment field!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/06/16/becoming-a-committer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Solr MeetUp group in Oslo</title>
		<link>http://www.cominvent.com/2011/05/19/new-solr-meetup-group-in-oslo/</link>
		<comments>http://www.cominvent.com/2011/05/19/new-solr-meetup-group-in-oslo/#comments</comments>
		<pubDate>Thu, 19 May 2011 08:42:30 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[MeetUp]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=521</guid>
		<description><![CDATA[The number of Solr users in the Oslo area is growing, and many have wished for a better community for open source search in the area. Therefore Cominvent together with FindWise have founded a MeetUp group to gather the Oslo Solr Community. We&#8217;ll hold the first gathering at The Scotsman right after work time wednesday [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.meetup.com/Oslo-Solr-Community/events/17230068/"><img class="alignright size-medium wp-image-522" title="large_meetup_logo" src="http://www.cominvent.com/wp-content/uploads/2011/05/large_meetup_logo-300x222.png" alt="" width="300" height="222" /></a>The number of Solr users in the Oslo area is growing, and many have wished for a better community for open source search in the area. Therefore Cominvent together with FindWise have founded a MeetUp group to gather the Oslo Solr Community. We&#8217;ll hold the first gathering at The Scotsman right after work time wednesday June 8th. See details at <a href="http://www.meetup.com/Oslo-Solr-Community/events/17230068/">meetup.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/05/19/new-solr-meetup-group-in-oslo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solr architecture diagram</title>
		<link>http://www.cominvent.com/2011/04/04/solr-architecture-diagram/</link>
		<comments>http://www.cominvent.com/2011/04/04/solr-architecture-diagram/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 17:18:58 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[core admin]]></category>
		<category><![CDATA[diagram]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[manifoldcf]]></category>
		<category><![CDATA[query parser]]></category>
		<category><![CDATA[response writer]]></category>
		<category><![CDATA[search components]]></category>
		<category><![CDATA[search request handler]]></category>
		<category><![CDATA[solr core]]></category>
		<category><![CDATA[update chain]]></category>
		<category><![CDATA[update request handler]]></category>
		<category><![CDATA[zookeeper]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=510</guid>
		<description><![CDATA[We at Cominvent have often had the need to visualize the internal architecture of Apache Solr in order to explain both the relationships of the components as well as the flow of data and queries. The result is this conceptual architecture diagram, clearly showing how Solr relates to the app-server, how cores relate to a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://docs.google.com/drawings/edit?id=1DvoSWb8dIrRM-JP3FlUU5QGcg93SJH5tmh4vx1_d6d0&#038;hl=en&#038;authkey=CNiDqc4B" target="_new"><img class="size-medium wp-image-511 alignright" title="Solrinternalarchitecture" src="http://www.cominvent.com/wp-content/uploads/2011/04/Solrinternalarchitecture-300x218.png" alt="" width="300" height="218" /></a>We at Cominvent have often had the need to visualize the internal architecture of Apache Solr in order to explain both the relationships of the components as well as the flow of data and queries. The result is this conceptual architecture diagram, clearly showing how Solr relates to the app-server, how cores relate to a Solr instance, how documents enter through an UpdateRequestHandler, through an UpdateChain and Analysis and into the Lucene index etc.</p>
<p>The drawing is created using Google draw, and the original is shared on Google Docs. We have licensed the diagram under the very permissive <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank">CC-by</a> license which lets you use, modify and re-distribute the diagram, even commercially, as long as you give attribution with link to Cominvent. To get started, simply:</p>
<ol>
<li>Click the thumbnail (<a href="https://docs.google.com/drawings/edit?id=1DvoSWb8dIrRM-JP3FlUU5QGcg93SJH5tmh4vx1_d6d0&amp;hl=en&amp;authkey=CNiDqc4B" target="_blank">link</a>) which will open Google Docs (log in to your Google Account)</li>
<li>To make your own copy, select &#8220;Make a copy&#8230;&#8221; in the File menu</li>
<li>Make sure to keep the CC license logo and a link to www.cominvent.com</li>
<li>Please share your edits with the community if you think it is useful to others</li>
</ol>
<p>Comments are welcome!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/04/04/solr-architecture-diagram/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apache Solr 3.1 released</title>
		<link>http://www.cominvent.com/2011/04/01/apache-solr-3-1-released/</link>
		<comments>http://www.cominvent.com/2011/04/01/apache-solr-3-1-released/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 11:09:15 +0000</pubDate>
		<dc:creator>janhoy</dc:creator>
				<category><![CDATA[Search technology]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[edismax]]></category>
		<category><![CDATA[function queries]]></category>
		<category><![CDATA[GEO]]></category>
		<category><![CDATA[geospatial]]></category>
		<category><![CDATA[range facets]]></category>
		<category><![CDATA[Solr 3.1]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://www.cominvent.com/?p=493</guid>
		<description><![CDATA[It&#8217;s been a long wait, and now it&#8217;s here &#8211; the release of Solr version 3.1. The 1.4.1 release was in June 2010, and for various reasons there was never a 1.4.2 nor a 1.5 release. Part of the reason is the merge of Lucene and Solr codebase which is also why the version number [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cominvent.com/wp-content/uploads/2010/07/Apache-Solr-3.1-Product-Sheet-Cominvent-AS.pdf"><img class="alignright size-full wp-image-340" style="margin-left: 10px;" title="Apache Solr product sheet thumbnail" src="http://www.cominvent.com/wp-content/uploads/2010/07/Apache-Solr-product-sheet-thumbnail1.png" alt="" width="171" height="241" /></a>It&#8217;s been a long wait, and now it&#8217;s here &#8211; the <a href="http://lucene.apache.org/solr/#March+2011+-+Solr+3.1+Released" target="_blank">release of Solr version 3.1</a>. The 1.4.1 release was in June 2010, and for various reasons there was never a 1.4.2 nor a 1.5 release. Part of the reason is the merge of Lucene and Solr codebase which is also why the version number is 3.1 instead of 1.5.</p>
<p>So what&#8217;s new? For me, the single most important features are the Extended Dismax parser (<a href="https://issues.apache.org/jira/browse/SOLR-1553" target="_blank">SOLR-1553</a>) and Geospatial search. The full list of improvements is found in <a href="http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_3_1/solr/CHANGES.txt?view=co" target="_blank">CHANGES.TXT</a>, but here are my favorites:</p>
<p><span id="more-493"></span><span style="font-size: 15px; font-weight: bold;">eDisMax query parser</span></p>
<p>This new parser builds on disMax, and allows full Lucene query syntax, including support for wildcard and fuzzy searches. It also improves on stopword handling and gives you new pf2 and pf3 parameters for bi- and tri-gram phrase boosts. Your new favourite query parser. Enable with defType=edismax</p>
<h3>GEO-spatial querying</h3>
<p>Have lat/lon info for your data? Want to sort or boost results based on distance from a point? Want to filter results within a certain radius? You can do this with the new built-in GEO support. Filtering for all results within 5km is done as simple as: <em>&amp;fq={!geofilt pt=45.15,-93.85 sfield=store d=5}</em>. More info at the <a href="http://wiki.apache.org/solr/SpatialSearch" target="_blank">Solr Wiki</a>.</p>
<h3>Better prototyping GUI</h3>
<p>The built-in Velocity-based prototyping GUI is improved, and will now work with faceting, GEO, did you mean etc. It&#8217;s my favourite place to start mocking up a search UI. It now lives at /solr/browse instead of /solr/itas, and has a nicer color scheme. It&#8217;s still not perfect, and my patches to make range faceting dynamic (<a href="https://issues.apache.org/jira/browse/SOLR-2383" target="_blank">SOLR-2383</a>) and to add ability to see all fields (<a href="https://issues.apache.org/jira/browse/SOLR-2384" target="_blank">SOLR-2384</a>) did not make it in time for the code freeze, but you may add them yourself.</p>
<h3>Sort by function</h3>
<p>The sort feature now accepts a Function Query as input, meaning you can do stuff like &amp;sort=sum(a,b) asc. This generic feature is also what is used to sort on distance, since GEO distance can be expressed as a function.</p>
<h3>Numeric range facets</h3>
<p>Earlier we had date range facets, but no numeric range facet. With the new range facet you can do both numeric and date range faceting with the same feature, specifying the gap. E.g. &amp;facet.range=price&amp;facet.range.gap=50 will bring you back a price facet automatically split in ranges of 0-50, 50-100, 100-150&#8230; Plans are under way to make range facets even more flexible by allowing unequally spaced gaps, but that will be in a later release (see <a href="https://issues.apache.org/jira/browse/SOLR-2366" target="_blank">SOLR-2366</a>)</p>
<h2>Take action</h2>
<p>So what are you waiting for? Go and <a href="http://apache.uib.no/lucene/solr/3.1.0/" target="_blank">download a fresh copy</a> and check it out!</p>
<p>Also, grab a copy of Cominvent&#8217;s <a href="http://www.cominvent.com/wp-content/uploads/2010/07/Apache-Solr-3.1-Product-Sheet-Cominvent-AS.pdf">Solr Product Sheet</a>, giving a quick functional overview of Solr which even you boss understands <img src='http://www.cominvent.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Cominvent have updated our training offering to cover all the new features. Check it out over at <a href="http://www.solrtraining.com/">www.solrtraining.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cominvent.com/2011/04/01/apache-solr-3-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

