<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		
		<title>typo3-solr.com - RSS-Feed</title>
		<link>http://www.typo3-solr.com/</link>
		<description>News</description>
		<language>de</language>
		<image>
			<title>typo3-solr.com - RSS-Feed</title>
			<url>http://www.typo3-solr.com/EXT:tt_news/res/tt_news_article.gif</url>
			<link>http://www.typo3-solr.com/</link>
			<width></width>
			<height></height>
			<description>News</description>
		</image>
		<generator>TYPO3 - get.content.right</generator>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		
		
		
		<lastBuildDate>Thu, 28 Mar 2013 13:24:00 +0100</lastBuildDate>
		
		
		<item>
			<title>Indexing calendar entries</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/indexing_calendar_entries/back/300/</link>
			<description>Many of our clients are displaying calendars on their website using the TYPO3 extension cal. Of...</description>
			<content:encoded><![CDATA[<p>Many of our clients are displaying calendars on their website using the TYPO3 extension <a href="http://typo3.org/extensions/repository/view/cal" target="_blank" class="external-link-new-window" >cal</a>. Of course, they also want to make them searchable. This blog post shows you how to index calendar entries using our Solr extension. Furthermore we will create custom facets for breaking down calendar entries based on their start date.</p>
<p>In the first step, we'll add an indexing configuration for the table tx_cal_event. Due to the fact that the configuration is written in TypoScript we can create <a href="http://lucene.apache.org/solr/4_1_0/solr-core/org/apache/solr/schema/DateField.html" target="_blank" class="external-link-new-window" >ISO 8601 conform</a> dates using stdWrap functions:</p>
<pre><pre class="line-pre" style="word-wrap: break-word; width: 744px; margin-top: 0px; margin-bottom: 0px; padding: 0px;"><pre>plugin.tx_solr {</pre><pre><span class="Apple-tab-span" style="white-space:pre">	</span>index.queue {</pre><pre><span class="Apple-tab-span" style="white-space:pre">		</span>events = 1</pre><pre><span class="Apple-tab-span" style="white-space:pre">		</span>events {</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>table = tx_cal_event</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>fields {</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>start_date_dateS = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>start_date_dateS.cObject = COA</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>start_date_dateS.cObject {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>10 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>10.field = start_date</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>10.substring = 0,4</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>20 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>20.value = -</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>30 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>30.field = start_date</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>30.substring = 4,2</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>40 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>40.value = -</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>50 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>50.field = start_date</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>50.substring = 6,2</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>60 = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>60.value = T00:00:00Z</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>end_date_dateS = TEXT</pre><pre class="line-pre" style="word-wrap: break-word; width: 744px; margin-top: 0px; margin-bottom: 0px; padding: 0px;"><pre><span class="Apple-tab-span">				</span>end_date_dateS.cObject = COA</pre><pre><span class="Apple-tab-span">				</span>end_date_dateS.cObject {</pre><pre><span class="Apple-tab-span">					</span>10 = TEXT</pre><pre><span class="Apple-tab-span">					</span>10.field = end_date</pre><pre><span class="Apple-tab-span">					</span>10.substring = 0,4</pre><pre><span class="Apple-tab-span">					</span>20 = TEXT</pre><pre><span class="Apple-tab-span">					</span>20.value = -</pre><pre><span class="Apple-tab-span">					</span>30 = TEXT</pre><pre><span class="Apple-tab-span">					</span>30.field = end_date</pre><pre><span class="Apple-tab-span">					</span>30.substring = 4,2</pre><pre><span class="Apple-tab-span">					</span>40 = TEXT</pre><pre><span class="Apple-tab-span">					</span>40.value = -</pre><pre><span class="Apple-tab-span">					</span>50 = TEXT</pre><pre><span class="Apple-tab-span">					</span>50.field = end_date</pre><pre><span class="Apple-tab-span">					</span>50.substring = 6,2</pre><pre><span class="Apple-tab-span">					</span>60 = TEXT</pre><pre><span class="Apple-tab-span">					</span>60.value = T00:00:00Z</pre><pre><span class="Apple-tab-span">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>title = title</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>content = SOLR_CONTENT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>content.field = description</pre></pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">		</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">	</span>}</pre><pre>}</pre></pre></pre>
<p>&nbsp;</p>
<p>After initializing the indexing queue for events we can index the calendar entries by executing the scheduler task Index Queue Worker Task. Now, the events are available as search results.</p>
<h2>&quot;Starts in...&quot; facet</h2>
<p>In the next step we'll create a facet that breaks down calendar entries based on their start date. We want to divide them by the following options:</p><ul><li>starts in less than 1 week</li><li>starts in 1 week to 1 month</li><li>starts in 1 to 6 months</li><li>starts in 6 months to 1 year</li><li>starts in 1 year or later</li></ul><p>The following TypoScript code configures the facet:</p>
<pre class="line-pre" style="word-wrap: break-word; width: 744px; margin-top: 0px; margin-bottom: 0px; padding: 0px;"><div id="file-gistfile1-txt-LC1" class="line"><pre>plugin.tx_solr {</pre><pre><span class="Apple-tab-span" style="white-space:pre">	</span>search.faceting = 1</pre><pre><span class="Apple-tab-span" style="white-space:pre">	</span>search.faceting.facets {</pre><pre><span class="Apple-tab-span" style="white-space:pre">		</span>age {</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>label = Date</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>field = start_date_dateS</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>selectingSelectedFacetOptionRemovesFilter = 1</pre><pre></pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>renderingInstruction = CASE</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>renderingInstruction {</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>key.field = optionValue</pre><pre></pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>default = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>default.field = optionValue</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>week = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>week.value = Less than one week</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>month = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>month.value = 1 week to 1 month</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>halfYear = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>halfYear.value = 1 to 6 months</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>year = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>year.value = 6 months to 1 year</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>old = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>old.value = over a year</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>}</pre><pre></pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>type = queryGroup</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>queryGroup {</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>week {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>query = [NOW/DAY TO NOW/DAY+7DAYS]</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>month {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>query = [NOW/DAY+7DAYS TO NOW/DAY+1MONTH]</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>halfYear {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>query = [NOW/DAY+1MONTH TO NOW/DAY+6MONTH]</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>year {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>query = [NOW/DAY+6MONTHS TO NOW/DAY+1YEAR]</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>old {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>query = [NOW/DAY+1YEAR TO *]</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>requirements {</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>typeIsCal {</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>facet = type</pre><pre><span class="Apple-tab-span" style="white-space:pre">					</span>values = tx_cal_event</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">			</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">		</span>}</pre><pre><span class="Apple-tab-span" style="white-space:pre">	</span>}</pre><pre>}<span style="font-family: Verdana, sans-serif;">&nbsp;</span></pre></div></pre>
<p>&nbsp;</p>
<p>By using the requirements option we can specify that the facet is shown only if every result has the type tx_cal_event.</p>
<p><img src="fileadmin/images/Bildschirmfoto_2013-03-28_um_13.18.33.png" width="444" height="124" alt="" /></p>
<h2>Quarter facet</h2>
<p>Another approach to breaking down dates is grouping them by the quarter of the current year they belong to. This can be achieved by adding the following TypoScript configuration:</p>
<pre><pre class="line-pre" style="word-wrap: break-word; width: 744px; margin-top: 0px; margin-bottom: 0px; padding: 0px;"><div id="file-gistfile1-txt-LC1" class="line"><pre>plugin.tx_solr {</pre><pre><span class="Apple-tab-span">	</span>search.faceting = 1</pre><pre><span class="Apple-tab-span">	</span>search.faceting.facets {</pre><pre><span class="Apple-tab-span">		</span>quarters {</pre><pre><span class="Apple-tab-span">			</span>label = Quarters</pre><pre><span class="Apple-tab-span">			</span>field = start_date_dateS</pre><pre><span class="Apple-tab-span">			</span>selectingSelectedFacetOptionRemovesFilter = 1</pre><pre></pre><pre><span class="Apple-tab-span">			</span>renderingInstruction = CASE</pre><pre><span class="Apple-tab-span">			</span>renderingInstruction {</pre><pre><span class="Apple-tab-span">				</span>key.field = optionValue</pre><pre></pre><pre><span class="Apple-tab-span">				</span>default = TEXT</pre><pre><span class="Apple-tab-span">				</span>default.field = optionValue</pre><pre><span class="Apple-tab-span">				</span>first_quarter = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>first_quarter.value = 1st quarter</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>second_quarter = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>second_quarter.value = 2nd quarter</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>third_quarter = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>third_quarter.value = 3rd quarter</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>fourth_quarter = TEXT</pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>fourth_quarter.value = 4th quarter</pre><pre><span class="Apple-tab-span">			</span>}</pre><pre></pre><pre><span class="Apple-tab-span">			</span>type = queryGroup</pre><pre><span class="Apple-tab-span">			</span>queryGroup {</pre><pre><span class="Apple-tab-span">				</span>first_quarter {</pre><pre><span class="Apple-tab-span">					</span>query = [NOW/YEAR TO NOW/YEAR+3MONTHS]</pre><pre><span class="Apple-tab-span">				</span>}</pre><pre><pre><span class="Apple-tab-span" style="white-space:pre">				</span>second_quarter {</pre><pre><span class="Apple-tab-span">					</span>query = [NOW/YEAR+3MONTHS TO NOW/YEAR+6MONTHS]</pre><pre><span class="Apple-tab-span">				</span>}</pre><pre><span class="Apple-tab-span">				</span>third_quarter {</pre><pre><span class="Apple-tab-span">					</span>query = [NOW/YEAR+6MONTHS TO NOW/YEAR+9MONTHS]</pre><pre><span class="Apple-tab-span">				</span>}</pre><pre><span class="Apple-tab-span">				</span>fourth_quarter {</pre><pre><span class="Apple-tab-span">					</span>query = [NOW/YEAR+9MONTHS TO NOW/YEAR+1YEAR]</pre><pre><span class="Apple-tab-span">				</span>}</pre></pre><pre><span class="Apple-tab-span">			</span>}</pre><pre><span class="Apple-tab-span">			</span>requirements {</pre><pre><span class="Apple-tab-span">				</span>typeIsCal {</pre><pre><span class="Apple-tab-span">					</span>facet = type</pre><pre><span class="Apple-tab-span">					</span>values = tx_cal_event</pre><pre><span class="Apple-tab-span">				</span>}</pre><pre><span class="Apple-tab-span">			</span>}</pre><pre><span class="Apple-tab-span">		</span>}</pre><pre><span class="Apple-tab-span">	</span>}</pre><pre>}<span style="font-family: Verdana, sans-serif;">&nbsp;</span></pre></div></pre><p style="font-family: Verdana, sans-serif; white-space: normal;"></p></pre>
<p>The facet gets rendered as following:</p>
<p><img src="fileadmin/images/Bildschirmfoto_2013-03-28_um_13.22.50.png" width="442" height="105" alt="" /></p>
<h2>Summing up</h2>
<p>These were only two examples for facets that work on a date field. Apache Solr offers a lot more possibilities for working with date fields.</p>]]></content:encoded>
			
			
			<pubDate>Thu, 28 Mar 2013 13:24:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>Apache Solr for TYPO3 v2.8 released</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/apache_solr_for_typo3_v28_released/back/300/</link>
			<description>We're happy to announce the release of Apache Solr for TYPO3 (EXT:solr) version 2.8.0. With this...</description>
			<content:encoded><![CDATA[<h2>Changes in the Early Access Program</h2>
<p>This release marks a new milestone in the development of Apache Solr for TYPO3. Until now there have been two versions of the extension, one publicly available in the TYPO3 Extension Repository (TER), and a &quot;private&quot; one available from dkd with additional features over the public one.</p>
<p>Starting with version 2.8.0, there will be only one version of the extension, publicly available from TER. Many additional features previously exclusive to the EAP version have been moved to the public version now. Other features are now available as add-on extensions from dkd.</p>
<p>This allows to reduce the amount of work involved with maintenance of the extension. On the other hand it also allows to choose add-on functionality as needed and to distribute them to customers as they require them.</p>
<h2>New in this Release</h2>
<h3>Apache Solr 3.6</h3>
<p>With this release we're moving to Apache Solr 3.6. This brings bug fixes on the Solr server side of course, but also allows us to now provide support for start and stop time in TYPO3 since we are using functionality introduced with Solr 3.6.<br />The index schema and Solr configuration files have been adopted and optimized for Solr 3.6. This includes enabling the Solr index browser (browse request handler), JSON update request handler, and analysis request handler.</p>
<h3>General Changes</h3>
<p>&nbsp;</p><ul><li>We added support for workspaces so that changes will get indexed when they are published to LIVE, but not before that. Until now we of course did not index unpublished changes either, however the extension did not recognize the workspace publish and swap events.</li><li>Support for start and stop time based publishing has been added. Pages and records will be indexed once their start time has been reached. When the stop time passes, content will be removed from the index again.</li><li>Selected features previously exclusive to the EAP version of the extension are now available free of charge and ship with the extension released in TER. New features include hierarchical facets, frequent searches, last searches, and a result document score analyzer.</li></ul><h3>Other Changes and Notable Bug Fixes</h3>
<p>&nbsp;</p><ul><li>New hooks and interfaces to customize functionality</li><li>General bug fixes and stability improvements</li><li>Improvements to the backend module for index maintenance</li><li>PHP 5.4 compatibility</li><li>Support for indexing of records that exist only in specific languages, but not in the default language</li></ul><h2>Updating</h2>
<p>This release requires Apache Solr 3.6 to work! Start and stop time support depends on functionality only available from Apache Solr 3.6 and up. Also the Solr configuration and schema files have been updated for Solr 3.6. The easiest way to install Solr is to use the install script that ships with the extension. This script will install the latest version, Apache Solr 3.6.1.</p>
<p>Although we try to change the schema only when necessary and thus making updating the extension painless we had to adopt schema and configuration files with this release. After updating Solr you will need to re-index your content due to the schema changes. Apologizes for any inconvenience caused by this.</p>
<p>Updating the TYPO3 extension should be straight forward.</p>
<p>Other changes can be found in the <a href="http://forge.typo3.org/projects/extension-solr/wiki/V220_to_v280" target="_blank" class="external-link-new-window" >update guide</a>.</p>
<h2>Contributors</h2>
<p>(patches, comments, bug reports, ... no particular order)</p><ul><li>Steffen Gebert</li><li>Stephan Schuler</li><li>Jonas Götze</li><li>Heiko Kromm</li><li>Stefan Sprenger</li><li>Michel Tremblay</li><li>Peter Kraume</li><li>Constantin Lebrecht</li><li>Laurent Cherpit</li><li>Andreas Beutel</li><li>Rolf Hofmann</li><li>Florian Megyesi</li><li>Pierrick Caillon</li><li>Dominik Steinborn</li><li>Dmitry Dulepov</li><li>Albert van der Veen</li><li>Witali Rott</li><li>Alexander Wende</li><li>Stefan Galinski</li><li>Jigal van Hemert</li></ul><p>Thanks to everyone who helped in creating this release!</p>]]></content:encoded>
			<category>Releases</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Tue, 13 Nov 2012 10:12:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>Apache Solr for TYPO3 v2.2 released</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/apache_solr_for_typo3_v22_released/back/300/</link>
			<description>We're happy to announce the release of EXT:solr version 2.2.0 and 2.7.0-EAP.

This release brings...</description>
			<content:encoded><![CDATA[<h2>New in this release</h2>
<p>&nbsp;</p>
<h3>General Changes&nbsp;</h3><ul><li>The HTTP GET parameter for the user's query is now freely configurable. Instead of using the default tx_solr[q], you can now also just a more simple q for example. This change makes it easier to analyze the user's search behavior using tools like Piwik.</li><li>Solr connections can now be initialized per site through a new entry in the page tree's click menu. This should be a relieve for large installations with many sites where the Solr connection initialization could run into a PHP execution time limit.</li><li>Solr connections can now also be initialized through TYPO3's command line interface (CLI) which should be very much appreciated for Continuous Integration and Deployment scenarios.</li><li>The checks in TYPO3's system status report have once been improved making it even easier to detect issues in the extension's configuration.</li></ul><h3>Index Queue</h3><ul><li>Priorities for indexing configuration. It is now possible to set priorities for different indexing configurations, allowing to have products indexed before news articles before pages, or any other order.</li><li>Index Queue indexing configurations can now be initialized selectively. Before you could just initialize the whole Index Queue, now you can just re-initialize f.e. news or products.</li><li>A sorting field can now be configured for the SOLR_RELATION indexing configuration helper. This makes it easier to f.e. index just the main category of a news record instead of all categories.</li></ul><h3>Search and Faceting</h3><ul><li>Hierarchical facets now support the configuration options selectingSelectedFacetOptionRemovesFilter and singleOptionMode. When building menus from hierarchical facets, the ACT state is supported, too. Hierarchical facets are a feature exclusive to the extension's early access program (EAP).</li><li>Sites to be searched can now be easily configured, which allows to index multiple sites into one index and search different or multiple sites depending from where a user starts its search request.</li><li>Support for OpenSearch has been added, allowing a user to start a search on your site from his browser's search input field.</li><li>Conditional Facets: It's now possible to define requirements for a facet that must be fulfilled before the facet is being rendered. For example a category facet may only be rendered if the user has selected news from the type facet.</li><li>Query Facets: Instead of creating a facet's options from an index field's values it is now possible to create a facet's options from the results of several queries.</li><li>The spell checker (did you mean ...) can now use the suggestions to show the actual results instead of making the user search for the suggestions, creating a better experience for the user by saving time and additional page requests.</li></ul><h3>Minor Changes and Notable Bug Fixes</h3><ul><li>RealURL did not create URLs when indexing records</li><li>Garbage Collector does not wait for Solr's commit to complete anymore. Previously, when an editor caused the Garbage Collector to clean up documents from the index, by for example deleting or hiding a record, that action could take a while before the editor could continue working in the TYPO3 backend. The Garbage Collector now returns immediately so that the editor does not need to wait anymore.</li><li>Performance of the template engine has been improved. Depending on the complexity of a template this can speed up result page rendering by a factor of four to five times.</li><li>New template markers have been added related to faceting</li></ul><h3>Other Changes</h3><ul><li>The public version on forge has been migrated to the git and Gerrit infrastructure, making it even easier to contribute to the project.</li><li>The default filter on the index' language field has been removed as it is recommended to separate languages into separate indexes.</li></ul><h3>Updating</h3>
<p>Updating should be strait forward. Simply update the extension, no need to update anything with the Solr server, and also no need to re-index your content.</p>
<h2>Contributors</h2>
<p>(patches, comments, bug reports, ... no particular order)</p><ul><li>Stefan Sprenger</li><li>Stefan Galinksi</li><li>Cornel Boppart</li><li>Steffen Ritter</li><li>Dimitri Ebert</li><li>Andre Westbunk</li><li>Jochem de Groot</li><li>Michel Tremblay</li><li>Rik Willems</li><li>Dirk Wenzel</li><li>Jigal van Hemert</li><li>Steffen Gebert</li><li>Peter Niederlag</li><li>Oliver Hader</li><li>Olivier Dobberkau</li><li>Peter Kraume</li><li>Axel Böswetter</li><li>Constantin Lebrecht</li><li>Frédéric Jaeger</li><li>Ingo Pfennigstorf</li><li>Christoph Moeller</li><li>Jari-Hermann Ernst</li><li>Marco Bresch</li><li>Marc Bastian Heinrichs</li><li>Tomas Norre Mikkelsen</li><li>Thorsten Kahler</li></ul><p>Contributors for this release were 26, up from 15 for 2.1. Thanks to everyone who helped with this release!</p>]]></content:encoded>
			<category>Releases</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Mon, 23 Jul 2012 14:14:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Index all the languages</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/index_all_the_languages/back/300/</link>
			<description>The Apache Solr for TYPO3 extension comes with schema definitions and language analyzation...</description>
			<content:encoded><![CDATA[<p>Basically you can index any language with Solr, to get better search results you would want a stemmer for your language to be able to search for different &quot;variants&quot; of a word. Basic searching works without stemming, by using the generic language schema coming in EXT:solr version 2.2. Although Solr comes with stemmers for many languages already it does not provide stemmers for each and every language out of the box.</p>
<p>Starting with version 3.5 Apache Solr comes with a stemmer that uses <a href="http://hunspell.sourceforge.net" target="_blank" class="external-link-new-window" >Hunspell</a>. The Hunspell stemmer works with dictionaries and rules to do its job. The great thing is that the Hunspell stemmer can use the dictionaries and rules provided by the Apache OpenOffice project.</p>
<p>The dictionaries and rules are provided as <a href="http://extensions.services.openoffice.org/dictionary" target="_blank" class="external-link-new-window" >OpenOffice extensions</a>. Download the dictionary extension you need and simply unzip it - the extensions are simple zip files. In the unpacked extension you'll find a .aff file and a .dic file with the same name, these are the files needed to get your Hunspell stemmer working.</p>
<p>Example for slovenian Hunspell stemmer:</p>
<pre style="padding: 2px 2px 2px 0px; background-color: rgb(250, 250, 250); border: 1px solid rgb(218, 218, 218); width: auto; overflow-x: auto; overflow-y: hidden; font-size: 11px; ">&lt;filter class=”org.apache.solr.analysis.HunspellStemFilterFactory” dictionary=”sl_SL.dic” affix=”sl_SL.aff”&gt;</pre>
<p><span style="font-family: Verdana, Tahoma, Arial, sans-serif; ">Using these OpenOffice dictionaries you get stemming support for a lot of languages.</span></p>]]></content:encoded>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Tue, 15 May 2012 11:09:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Best-of-2012-Auszeichnung für ›Apache Solr für TYPO3‹</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/best_of_2012_auszeichnung_fuer_apache_solr_fuer_typo3/back/300/</link>
			<description>Die 118-köpfige Fachjury der Initiative Mittelstand hat entschieden: ›Apache Solr für TYPO3‹ gehört...</description>
			<content:encoded><![CDATA[<p>Insgesamt zweieinhalbtausend Bewerber haben sich 2012 dem Votum einer 118-köpfigen Fachjury der Initiative Mittelstand gestellt und sich um die begehrte Mittelstands-Auszeichnung bemüht. Zu den zwanzig <b>›Best of 2012‹-IT-Produkten</b> gehört dabei <b>›Apache Solr für TYPO3‹</b>. Apache Solr für TYPO3 ist eine von der <b>dkd Internet Service GmbH</b> in Frankfurt am Main entwickelte Erweiterung des quelloffenen (Open Source) Content-Management-Systems TYPO3. Die Initiative Mittelstand würdigt mit ihrer Entscheidung den innovativen Charakter des Produkts, das in der Kategorie <b>›Open Source‹</b> angetreten war.<br /><br />Die Technik hinter ›Apache Solr für TYPO3‹ ist eine auf der Lucene-Java-Bibliothek basierende <b>Such-Engine</b>, die intelligent genug ist, das Gesuchte auch dann zu finden, wenn die Suche selbst einmal weniger intelligent formuliert ist. Sie schlägt alternative Suchbegriffe vor (»Meinten Sie vielleicht …?«). Sie autovervollständigt <b>Suchbegriffe</b> schon bei der Eingabe. Und sie gewichtet die Treffer nach Relevanz. So lassen sich selbst tausende von Seiten ungewöhnlich schnell durchsuchen.<br /><br /><b>›Apache Solr für TYPO3‹</b> erfuhr vor kurzem ein großes Update und ist nunmehr in der Version 2 verfügbar. Im Zuge der Weiterentwicklung wurde u.a. die Frontend-Indexierung der TYPO3-Erweiterung durch die leistungsfähigere <b>Index-Queue</b> ersetzt. Während die Frontend-Indexierung alle Seiten immer wieder komplett neu indizieren musste, kann sich die Index-Queue nach einmal abgeschlossener Initialisierung ganz auf die Änderungen konzentrieren. Und nur auf diese!<br /><br />Apache Solr ist ein Trademark der Apache Software Foundation und wird unter der Apache 2.0 Lizenz veröffentlicht. <b>TYPO3</b> ist eine Marke der TYPO3 Association und wird unter der GPL veröffenlicht. EXT:solr ist ein Produkt der dkd Internet Service GmbH mit Unterstützung von weiteren Unternehmen und Beteiligungen durch Mitglieder der TYPO3-Open-Source-Community.</p>]]></content:encoded>
			<category>Features</category>
			
			<author>matthias.doerzbacher@dkd.de</author>
			<pubDate>Thu, 19 Apr 2012 12:31:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>OpenSearch support</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/opensearch_support/back/300/</link>
			<description>During the coding night at T3DD12 my colleague Jens approached me with the idea to add OpenSearch...</description>
			<content:encoded><![CDATA[<p>OpenSearch lets a client (browser) discover the search function of a website. As a user you then can permanently add the site's search to the browser's built in search box. You then can start searching the site from the browser's native search without having to go to the site itself first. The browser will provide you with suggestions from the site's search and you can then select one of them and get taken to the site's search page showing the respective results.</p>
<p>After having a quick look at the <a href="http://www.opensearch.org/Specifications/OpenSearch" target="_blank" class="external-link-new-window" >specification</a> it seemed an easy enough task for the night. At the end of the night we actually got most of the needed things implemented in a way so that it is very easy to set up in just two steps.</p><ul><li>First add the new OpenSearch TypoScript template</li><li>Then adjust the name and the description of your site's search</li></ul><p>The TypoScript template configure's your page object and add a new page type providing the OpenSearch description file for the browsers. After these two simple steps your browser will detect the site's search and you can start using it from the browser's search field.</p>
<p>We hope you enjoy this little new feature when it will ship in the next version.</p>]]></content:encoded>
			<category>Features</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Wed, 18 Apr 2012 11:01:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Apache Solr for TYPO3 v2.1 released</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/apache_solr_for_typo3_v21_released/back/300/</link>
			<description>We're happy to announce the release of EXT:solr version 2.1.0 and 2.6.0-EAP.
This is mainly a...</description>
			<content:encoded><![CDATA[<p>We're happy to announce the release of EXT:solr version 2.1.0 and 2.6.0-EAP.</p>
<p>This is mainly a maintenance release with quite a few bug fixes and a hand full of small new features. An update is encouraged.</p>
<h2>New in this release</h2><ul><li>Failed items in Index Queue no longer stop the whole indexer</li><li>Improved logging of failures during page indexing&nbsp;</li><li>Removed the result count from the suggest drop down - caused too much confusion</li><li>Change of index document ID - Requires re-indexing of your content!</li><li>Status Report checks for allow_url_fopen = On and a PHP bug in filter_var()</li><li>Example Index Queue configuration for EXT:news</li><li>Support for content fallback</li><li>Support for FILE: path in LLL viewhelper</li><li>(EAP) File Detector for files linked in Templavoila FCE&nbsp;</li></ul><h2>Notable bug fixes</h2><ul><li>Fixed handling of multivalue fields in template output</li><li>Fixed issues with Mount Pages indexing an Index Queue initialization</li><li>Fixed handling of filters configured through TypoScript</li><li>(EAP) Garbage collection of files in indexes other than the default language</li><li>Fixed some issues with Workspaces&nbsp;</li></ul><h2>Updating</h2>
<p>Simply update the extension, no need to update anything with the Solr server. You must re-index all your content though due to a change in the index document ID format: Go to the search module, empty index, and initialize the Index Queue. This will cause the Index Queue worker task to re-index your site.</p>
<h2>Contributors</h2>
<p>(patches, comments, bug reports, ... no particular order)</p><ul><li>Jigal van Hemert</li><li>Dmitry Dulepov</li><li>Jochem de Groot</li><li>Pierrick Caillon</li><li>Michael Voehringer</li><li>Stefan Galinski</li><li>Georg Ringer</li><li>Markus Friedrich</li><li>Dorit Rottner</li><li>Hendrik Nadler</li><li>Michael Knoll</li><li>Thorsten Kahler</li><li>Lars Tode</li><li>Ivan Kartolo</li><li>Constantin Lebrecht</li></ul><p>Thanks to everyone who helped with this release!</p>
<p>&nbsp;</p>]]></content:encoded>
			<category>Releases</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Wed, 28 Mar 2012 17:01:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title>Site Hashes and API Keys</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/site_hashes_and_api_keys/back/300/</link>
			<description>In previous posts we talked about how you can index external websites' content into a Solr index...</description>
			<content:encoded><![CDATA[<p>In previous posts we talked about how you can index external websites' content into a Solr index using Apache Nutch and then search it from a TYPO3 website using EXT:solr.</p>
<p>The issue was that in our TYPO3 specific Solr schema.xml we have a field called the siteHash. The site hash helps to filter results so that you can index multiple sites into one index while still only getting results of the site you are on.</p>
<p>To allow the documents indexed using Nutch to be found they also need to have a site hash. Of course does not know about the site hash and its implementation; to overcome this we now provide a small REST style API to request a site hash to be used when indexing external resources.</p>
<p>A GET request to <br /><a href="http://www.typo3-solr.com/index.php?eID=tx_solr_api&amp;amp;apiKey=cdf676f0f0ff749d7fd0545ce4dff7bbeaa5e0741" target="_blank" >www.typo3-solr.com/index.php</a> &amp;api=siteHash&amp;domain=www.dkd.de<br /> would then for example provide the site hash needed to index a page from www.dkd.de.</p>
<p>To prevent abuse we also added a protection for the API by having to provide the correct API key. By that you are now able to index external resources into a Solr index that is searched by TYPO3.</p>
<p>This and lots more will be part of the soon to be released version 2.0 of Apache Solr for TYPO3.</p>]]></content:encoded>
			<category>Features</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Wed, 15 Feb 2012 13:40:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>Indexing in v2.0 - Index Queue</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/indexing_in_v20_index_queue/back/300/</link>
			<description>During the T3DD11 we offered a full day tutorial to get you started with Apache Solr for TYPO3. As...</description>
			<content:encoded><![CDATA[<p>The introduction of the Index Queue means that there won't be &quot;frontend indexing&quot; as we used to know it from EXT:indexed_search and EXT:crawler. The issue with frontend indexing is that you can't differentiate between pages, products, news, or any other custom record.&nbsp;</p>
<p>With the Index Queue &nbsp;we provide a way to define an easy mapping of database record fields to Solr index fields. TYPO3 is awesome in how flexible it is in regards to page rendering; in this case this kind of turned out to be a disadvantage at first since you can't (read: want to) &quot;re-implement&quot; all the logic. So to index pages we will still rely on frontend indexing, but it's still way better than the classic way. Even better, the Index Queue will find any access restrictions and translations and take care of indexing those variants automatically, too.</p>
<p>The Index Queue comes with a Record Monitor to track any changes and can then re-index just those changed records or pages. In the same way the Garbage Collector will clean up after your editors when they delete records.</p>
<p>So the&nbsp;Index Queue is an easy and fast way to get your site's pages and extension records indexed. However, raw database data often is not what you want in your index right away, usually you want to do some cleaning or transformation before handing the data to Solr. Because of that the Index Queue also supports mapping TYPO3 content objects (cObj) - or more specifically their output - into index fields. To make it even easier to index custom extension records we came up with custom content objects provided by the Apache Solr for TYPO3 extension.</p>
<p>Currently there are three content objects:</p><ul><li>SOLR_CONTENT - cleans database fields like rich text editor fields from HTML code and formatting</li><li>SOLR_MULTIVALUE - allows to index data into - you guessed it - Solr multivalue fields, acting like the PHP explode() functions</li><li>SOLR_RELATION - resolving relations between records, indexing data into multivalue or singlevalue fields. Useful for news and news categories f.e.</li></ul><p>We hope you are looking forward to EXT:solr v2.0 as we do!</p>]]></content:encoded>
			<category>Content Indexing</category>
			
			<author>ingo.renner@dkd.de</author>
			<pubDate>Mon, 13 Feb 2012 15:42:00 +0100</pubDate>
			
		</item>
		
		<item>
			<title>No results from Apache Solr? Check your Tomcat settings!</title>
			<link>http://www.typo3-solr.com/en/blog/details/news/no_results_from_apache_solr_check_your_tomcat_settings/back/300/</link>
			<description>In one of our current customer projects we experienced random errors for queries to our Apache Solr...</description>
			<content:encoded><![CDATA[<p>In one of our current customer projects we experienced random errors for queries to our Apache Solr Index. We sent a large amounts of facet queries and our results page kind of took very long to be built or stayed blank. We looked into the devlog, but we could not see any problems with the solr query sent by the plugin to the solr server.<br /><br />We started to investigate the case by looking at the logfiles of the different servers in between. As we use NGINX to proxy and secure the Apache Solr Server we looked at the logfiles there first and if our proxy buffer settings were ok. All was well at that level. We continued in looking at the logfiles of Apache Solr and we found that the queries did not arrive to the query handler.&nbsp;<br /><br />What could be the source of that strange behaviour. Where did our queries remain? What is the cause for some queries to dissapear?<br /><br />We extracted the query from the Devlog of the extension and pasted it into a texteditor. Wow the query was huge! So we had an idea on what could be the cause.<br /><br />We googled for terms like: tomcat url size and found a setting in the server.xml that we could tweak.<br /><br />maxHttpHeaderSize<br /><br />A question on serverfault.com gave us final help.<br /><br /><a href="http://serverfault.com/questions/56691/whats-the-maximum-url-length-in-tomcat" target="_blank" class="external-link-new-window" >http://serverfault.com/questions/56691/whats-the-maximum-url-length-in-tomcat</a><br /><br />We changed the maxHttpHeaderSize to 65536 and after a restart of Tomcat our queries started to work!<br /><br />server.xml<br /><br />&lt;Connector port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxHttpHeaderSize=&quot;65536&quot;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionTimeout=&quot;20000&quot;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redirectPort=&quot;8443&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; address=&quot;127.0.0.1&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URIEncoding=&quot;UTF-8&quot; /&gt;<br /><br />We have changed to settings in Revision 88095 of the EAP and we will ship this in the upcoming public release.<br /><br />Happy searching with TYPO3 and Apache Solr,<br /><br />Olivier Dobberkau</p>]]></content:encoded>
			<category>Configuration</category>
			
			<author>olivier.dobberkau@dkd.de</author>
			<pubDate>Mon, 13 Feb 2012 13:54:00 +0100</pubDate>
			
		</item>
		
	</channel>
</rss>