<?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/"
	>

<channel>
	<title>The Findability blog &#187; Solr</title>
	<atom:link href="http://blog.findwise.com/category/solr/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.findwise.com</link>
	<description>The enterprise search and findability blog</description>
	<lastBuildDate>Wed, 09 May 2012 17:59:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How to Index and Search XML Content in Solr</title>
		<link>http://blog.findwise.com/how-to-index-and-search-xml-content-in-solr/</link>
		<comments>http://blog.findwise.com/how-to-index-and-search-xml-content-in-solr/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 14:20:39 +0000</pubDate>
		<dc:creator>Xiaodong Shen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=2819</guid>
		<description><![CDATA[Indexing XML Content In solr, there is an xml update request handler which can be used to update xml formatted data. For example, &#60;add&#62; &#60;doc&#62; &#60;field name="employeeId"&#62;05991&#60;/field&#62; &#60;field name="office"&#62;Bridgewater&#60;/field&#62; &#60;field name="skills"&#62;Perl&#60;/field&#62; &#60;field name="skills"&#62;Java&#60;/field&#62; &#60;/doc&#62; [&#60;doc&#62; ... &#60;/doc&#62;[&#60;doc&#62; ... &#60;/doc&#62;]] &#60;/add&#62; However when a field itself should contain xml formatted data, the xml update handler will [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><h2>Indexing XML Content</h2>
<p>In solr, there is an xml update request handler which can be used to update xml formatted data.</p>
<p>For example,</p>
<p><code>&lt;add&gt;</code><br />
<code>&lt;doc&gt;</code><br />
<code>&lt;field name="employeeId"&gt;05991&lt;/field&gt;</code><br />
<code>&lt;field name="office"&gt;Bridgewater&lt;/field&gt;</code><br />
<code>&lt;field name="skills"&gt;Perl&lt;/field&gt;</code><br />
<code>&lt;field name="skills"&gt;Java&lt;/field&gt;</code><br />
<code>&lt;/doc&gt;</code><br />
<code>[&lt;doc&gt; ... &lt;/doc&gt;[&lt;doc&gt; ... &lt;/doc&gt;]]</code><br />
<code>&lt;/add&gt;</code></p>
<p>However when a field itself should contain xml formatted data, the xml update handler will fail to import. Because, xml update handler parse the import data with xml parser, it will try to get direct child text under &#8216;field&#8217; node, which is empty if a field&#8217;s direct child is xml tag.</p>
<p>What we can do is to use json update handler. For example:</p>
<p><code>[</code><br />
<code>  {</code><br />
<code>    "id" : "MyTestDocument",</code><br />
<code>    "title" : "&lt;root p=\"cc\"&gt;test \\ node&lt;/root&gt;"</code><br />
<code>  }</code><br />
<code>]</code></p>
<p><code></code>There are two things to notice,</p>
<ol start="1">
<li>Both &#8216;<code>”</code>&#8216; and &#8216;<code>\</code>&#8216; characters should be escaped</li>
<li>The xml content should be kept as a single line</li>
</ol>
<p>Json import data can be loaded into Solr by the curl command,</p>
<p><code>curl 'http://localhost:8983/solr/update/json?commit=true' --data-binary @books.json -H 'Content-type:application/json'</code></p>
<p>Or, by using solrj:</p>
<p><code>CommonsHttpSolrServer server = new CommonsHttpSolrServer(serverpath);</code><br />
<code>server.setMaxRetries(1);</code><br />
<code>ContentStreamUpdateRequest csureq = new ContentStreamUpdateRequest("/update/json");</code><br />
<code>csureq.addFile(file);</code><br />
<code>NamedList&lt;Object&gt; result = server.request(csureq);</code><br />
<code>NamedList&lt;Object&gt; responseHeader = (NamedList&lt;Object&gt;) result.get("responseHeader");</code></p>
<p><code>Integer status = (Integer) responseHeader.get("status");</code></p>
<h1>Stripping out xml tags in Schema definition</h1>
<p>When querying xml content, we most likely will not be interested in xml tags. So we need to strip out xml tags before indexing the xml text. We can do that by applying <code>HTMLStripCharFilter</code> to the xml content.<br />
<code>            &lt;analyzer type="index"&gt;</code><br />
<code>                ...</code><br />
<code>                &lt;charFilterSpellE"&gt;solr.HTMLStripCharFilterFactory"/&gt;</code><br />
<code>                &lt;tokenizerSpellE"&gt;solr.StandardTokenizerFactory"/&gt;</code><br />
<code>                &lt;filterSpellE"&gt;solr.LowerCaseFilterFactory"/&gt;</code><br />
<code>                ...</code><br />
<code>            &lt;/analyzer&gt;</code><br />
<code>            &lt;analyzer type="query"&gt;</code><br />
<code>                ...</code><br />
<code>                &lt;charFilterSpellE"&gt;solr.HTMLStripCharFilterFactory"/&gt;</code><br />
<code>                &lt;tokenizerSpellE"&gt;solr.StandardTokenizerFactory"/&gt;</code><br />
<code>                &lt;filterSpellE"&gt;solr.LowerCaseFilterFactory"/&gt;</code><br />
<code>                ...</code><br />
<code>            &lt;/analyzer&gt;</code></p>
<h1>Search XML Content</h1>
<p>Xml content search does not differ much from text content search. However, if people want to search for xml attributes, there requires some special tweak.</p>
<p><code>HTMLStripCharFilter</code> we mentioned earlier will filter out all xml tags including attributes, in order to index attributes, we need to find a way to make <code>HTMLStripCharFilter</code> keep the attribute text.</p>
<p>For example if we have original xml content as following,</p>
<p><code>&lt;sample attr=”key_o2_4”&gt;find it &lt;/sample&gt;</code><br />
After applying <code>HTMLStripCharFilter</code>, we want to have,</p>
<p><code>key_o2_4    find it</code><br />
One way we can do is to add assistance xml instruction tags in original xml content such as,</p>
<p><code>&lt;sample attr=”key_o2_4”&gt;&lt;?solr key_o2_4?&gt;find it&lt;/sample&gt;</code></p>
<p>And apply <code>Solr.PatternReplaceCharFilterFactory</code> to it as shown in following schema fieldtype definition.</p>
<p><code>&lt;analyzer type="index"&gt;</code><br />
<code>...</code><br />
<code>&lt;charFilter pattern="&amp;lt;\?solr ([A-Z0-9_-]*)\?&amp;gt; " replacement="       $1  " maxBlockChars="10000000"/&gt;</code><br />
<code>&lt;charFilter/&gt;</code><br />
<code>...</code><br />
<code>&lt;/analyzer&gt;</code></p>
<p>Which will make replace <code>&lt;?solr key_o2_4?&gt;</code> with 7 leading empty spaces + key_o2_4 + 2 ending empty spaces in order to keep the original offset,</p>
<p>With this technique, we can do a search on <code>attr</code> attribute and get a hit.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/how-to-index-and-search-xml-content-in-solr/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/how-to-index-and-search-xml-content-in-solr/"><meta itemprop="datePublished" content="2012-01-25T15:20:39+00:00"><meta itemprop="dateModified" content="2012-01-25T15:07:38+00:00"><meta itemprop="dateCreated" content="2012-01-03T12:46:29+00:00"><meta itemprop="wordCount" content="553"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/how-to-index-and-search-xml-content-in-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExternalFileField in Solr</title>
		<link>http://blog.findwise.com/externalfilefield-in-solr/</link>
		<comments>http://blog.findwise.com/externalfilefield-in-solr/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:57:15 +0000</pubDate>
		<dc:creator>Maggie Michnik</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[search result]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=2825</guid>
		<description><![CDATA[Sometimes we want to update document values in an indexed field more often than other fields. A good solution to this is to use the field type ExternFileField. The ExternalFileField gets values from an external file instead of the index. Such file can easily be changed and update the field after a commit. Hence no [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>Sometimes we want to update document values in an indexed field more often than other fields. A good solution to this is to use the field type <a title="ExternalFileField" href="http://lucene.apache.org/solr/api/org/apache/solr/schema/ExternalFileField.html">ExternFileField</a>. The ExternalFileField gets values from an external file instead of the index. Such file can easily be changed and update the field after a commit. Hence no documents need to be re-indexed. A field that has ExternalFileField as type is not searchable. The field may currently only be used as a ValueSource in a FunctionQuery.</p>
<p>The external file contains keys and values:</p>
<p>key1=value1<br />
key2=value2</p>
<p>The keys don&#8217;t need to be unique.</p>
<p>The name of the external file must be <code>external_&lt;fieldname&gt;</code> or <code>external_&lt;fieldname&gt;.*</code> and must be placed in the index directory.</p>
<p>A new file type of the type ExternalFileField and field must be added to schema.xml.</p>
<p><code>&lt;fieldType name="file"</code></p>
<p><code>           keyField="keyField" defVal="1" indexed="false"</code></p>
<p><code>           stored="false" valType="float" /&gt;</code></p>
<p><code>&lt;field name="&lt;fieldname&gt;" type="file" /&gt;</code></p>
<p><code>keyField</code> is the field that contains the keys and <code>&lt;fieldname&gt;</code> contains the values from the external file.</p>
<p><code>valType</code> defines the value type of the field.</p>
<p>At Findwise we have used this method for a customer where we wanted to show the most visited pages higher up in the search result. These statistics are changing daily for a lot of pages and we don&#8217;t want to re-index all these pages every day.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/externalfilefield-in-solr/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/externalfilefield-in-solr/"><meta itemprop="datePublished" content="2012-01-04T15:57:15+00:00"><meta itemprop="dateModified" content="2012-01-04T15:56:33+00:00"><meta itemprop="dateCreated" content="2012-01-03T12:55:47+00:00"><meta itemprop="keywords" content="search result,XML"><meta itemprop="wordCount" content="240"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/externalfilefield-in-solr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Nutch making use of Open Pipeline</title>
		<link>http://blog.findwise.com/apache-nutch-making-use-of-open-pipeline/</link>
		<comments>http://blog.findwise.com/apache-nutch-making-use-of-open-pipeline/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 16:14:33 +0000</pubDate>
		<dc:creator>Anders Rask</dc:creator>
				<category><![CDATA[Data Processing]]></category>
		<category><![CDATA[Findability]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Open Pipeline]]></category>
		<category><![CDATA[search application]]></category>
		<category><![CDATA[university web site]]></category>
		<category><![CDATA[Uppsala University]]></category>
		<category><![CDATA[web crawler]]></category>
		<category><![CDATA[web information]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=2361</guid>
		<description><![CDATA[During the last couple of months I’ve been working on a project for Uppsala University. The project’s goal is to improve the findability on the university web site. The solution that we are working on is based on Apache Nutch 1.1 in conjunction with Apache Solr 1.4. Nutch provides us with a robust web crawler [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>During the last couple of months I’ve been working on a project for <a href="http://www.uu.se/en/">Uppsala University</a>. The project’s goal is to improve the findability on the university web site. The solution that we are working on is based on <a href="http://nutch.apache.org/">Apache Nutch 1.1</a> in conjunction with <a href="http://lucene.apache.org/solr/">Apache Solr 1.4</a>. Nutch provides us with a robust web crawler that scales very well and also gives us a page rank for each page that we can use for relevance tuning. Besides the web information crawled by Nutch, the search application will also be used to search people and organizational information that we index from another source. I thought that I would share some details on how we are using Nutch.</p>
<p>We have made two extensions to Nutch, one is a parser plug-in that can run <a href="http://www.openpipeline.org/">Open Pipeline</a> embedded in it. This was an important extension in order to get better control of the information that we index to Solr and also to be able to reuse our different Open Pipeline components. The main stages of the pipeline are the following:</p>
<ol>
<li>Extract the encoding of a web page</li>
<li>Extract all links from a web page</li>
<li>Extract all headings (hx) from a web page</li>
<li>Remove all tags that don’t contain complete sentences on a web page</li>
<li>Extract text and metadata from different types of documents with <a href="http://tika.apache.org/">Tika</a></li>
<li>Do some metadata mapping and cleaning</li>
<li>Populate facets according to metadata and/or URL</li>
<li>Do static URL ranking</li>
<li>Replace certain common titles with the largest heading of the web page</li>
</ol>
<p>The other extension we made to Nutch is an indexing filter that makes sure all our metadata fields are indexed to Solr.</p>
<p>So far so good. The fetching, parsing and indexing works well now and currently our largest challenge is tuning all the different relevance parameters we have, as well as harmonizing the relevance of web information to that of people and organizational information. I will have to get back to you on how that went!</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/apache-nutch-making-use-of-open-pipeline/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/apache-nutch-making-use-of-open-pipeline/"><meta itemprop="datePublished" content="2010-11-11T17:14:33+00:00"><meta itemprop="dateModified" content="2010-11-11T17:14:33+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="Open Pipeline,search application,university web site,Uppsala University,web crawler,web information"><meta itemprop="wordCount" content="328"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/apache-nutch-making-use-of-open-pipeline/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Structure First or Structure Last?</title>
		<link>http://blog.findwise.com/structure-first-or-structure-last/</link>
		<comments>http://blog.findwise.com/structure-first-or-structure-last/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 22:03:07 +0000</pubDate>
		<dc:creator>Max Charas</dc:creator>
				<category><![CDATA[Data Processing]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[search consultant]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=2340</guid>
		<description><![CDATA[I’d like to share two different development techniques I commonly use when setting up a Apache Solr project. To explain it I’ll start by introducing the way I used to work. (The wrong way ) The Structure First Technique Since I work as a search consultant I come across a lot of different data sources.  [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>I’d like to share two different development techniques I commonly use when setting up a Apache Solr project. To explain it I’ll start by introducing the way I used to work. (The wrong way <img itemprop="image" src='http://blog.findwise.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<h3>The Structure First Technique</h3>
<p>Since I work as a search consultant I come across a lot of different data sources.  All of these data sources have at least some structure, some more than others.</p>
<p>My objective as a backend developer was then to first of all figure out how the data source was structured and then design a Solr schema that fit the requirements, both technical and business.</p>
<p>The problem with this was of course that the requirements were quite fuzzy until I actually figured out how the data was structured and even more importantly what the data quality was.</p>
<p>In many cases I would spend a lot of time on extracting a date from the source, converting that to an ISO 8601 date format (Supported by Solr), updating the schema with that field and then finally reindexing. Only to learn that the date was either not required or had too poor data quality to be used.</p>
<p>My point being that I spent a lot of time designing a schema (and connector) for a source which I, and most others, knew almost nothing about.</p>
<h3>The Structure Last Technique</h3>
<p>Ok so what’s the supposed “right way” of doing this?</p>
<p>In Solr there is a concept called dynamic fields. It allows you to map fields that fulfil a certain name criteria to a specific type. In the example Solr schema you can find the following section:</p>
<p><em> &lt;!&#8211; uncomment the following to ignore any fields that don&#8217;t already match an existing </em></p>
<p><em> field name or dynamic field, rather than reporting them as an error. </em></p>
<p><em> alternately, change the type=&#8221;ignored&#8221; to some other type e.g. &#8220;text&#8221; if you want </em></p>
<p><em> unknown fields indexed and/or stored by default &#8211;&gt; </em></p>
<p><em> &lt;!&#8211;dynamicField type=&#8221;ignored&#8221; multiValued=&#8221;true&#8221; /&#8211;&gt;</em></p>
<p>The section above will drop any fields that are not explicitly declared in the schema. But what I usually do to start with is to do the complete opposite. I map all fields to a string type.</p>
<p><em> &lt;dynamicField multiValued=&#8221;true&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221;/&gt; </em></p>
<p>I start with a minimalist schema that only has an id field and the above stated dynamic field.</p>
<p>With this schema it doesn’t matter what I do, everything is mapped to a string field, exactly as it is entered.</p>
<p>This allows me to focus on getting the data into Solr without caring about what to name the fields, what properties they should have and most importantly to even having to declare them at all.</p>
<p>Instead I can focus on getting the data out of the source system and then into Solr. When that’s done I can use Solr´s schema browser to see what fields are high quality, contain a lot of text or are suited to be used as facets and use this information to help out in the requirements process.</p>
<p>The Structure Last Technique lets you be more pragmatic about your requirements.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/structure-first-or-structure-last/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/structure-first-or-structure-last/"><meta itemprop="datePublished" content="2010-10-17T23:03:07+00:00"><meta itemprop="dateModified" content="2010-10-17T23:03:07+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="search consultant"><meta itemprop="wordCount" content="520"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/structure-first-or-structure-last/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solr Processing Pipeline</title>
		<link>http://blog.findwise.com/solr-processing-pipeline/</link>
		<comments>http://blog.findwise.com/solr-processing-pipeline/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 13:07:25 +0000</pubDate>
		<dc:creator>Max Charas</dc:creator>
				<category><![CDATA[Connector]]></category>
		<category><![CDATA[Content refinement]]></category>
		<category><![CDATA[Data Processing]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apache Commons Processing Pipeline]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[data processing layer]]></category>
		<category><![CDATA[Prague]]></category>
		<category><![CDATA[Solr REST protocol]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=1952</guid>
		<description><![CDATA[Hi again Internet, For once I have had time to do some thinking. Why is there no powerful data processing layer between the Lucene Connector Framework and Solr? I´ve been looking into the Apache Commons Processing Pipeline. It seems like a likely candidate to do some cool stuff.  Look at the diagram below. What I´m thinking [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>Hi again Internet,</p>
<p>For once I have had time to do some thinking. Why is there no powerful data processing layer between the <a title="the Lucene Connector Framework" href="http://incubator.apache.org/connectors/" target="_blank">Lucene Connector Framework</a> and Solr? I´ve been looking into the <a title=" the Apache Commons Processing Pipeline" href="http://commons.apache.org/sandbox/pipeline/" target="_blank">Apache Commons Processing Pipeline</a>. It seems like a likely candidate to do some cool stuff.  Look at the diagram below.</p>
<div id="attachment_1953" class="wp-caption aligncenter" style="width: 310px"><a href="http://media.findabilityblog.se/2010/04/Drawing11.jpg"><img itemprop="image" class="size-medium wp-image-1953  " src="http://media.findabilityblog.se/2010/04/Drawing1-300x148.jpg" alt="" width="300" height="148" /></a><p class="wp-caption-text">A schematic drawing of a Solr Pipeline concept. (Click to enlarge)</p></div>
<p>What I´m thinking of is to make a transparent Solr pipeline that speaks the Solr REST protocol on each end. This means that you would be able to use SolrJ or any other API to communicate with the Pipeline.</p>
<p>Has anyone attempted this before?  If you’re interested in chatting about the pipeline drop me a mail or just grab me at Eurocon in Prague this year.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/solr-processing-pipeline/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/solr-processing-pipeline/"><meta itemprop="datePublished" content="2010-04-19T14:07:25+00:00"><meta itemprop="dateModified" content="2010-04-19T14:07:25+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="Apache Commons Processing Pipeline,API,data processing layer,Prague,Solr REST protocol"><meta itemprop="wordCount" content="133"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/solr-processing-pipeline/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Solr – the Sunny Side of Search</title>
		<link>http://blog.findwise.com/solr-%e2%80%93-the-sunny-side-of-search/</link>
		<comments>http://blog.findwise.com/solr-%e2%80%93-the-sunny-side-of-search/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 09:32:17 +0000</pubDate>
		<dc:creator>Max Charas</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[large enterprise search platforms]]></category>
		<category><![CDATA[no-name search platforms]]></category>
		<category><![CDATA[Norway]]></category>
		<category><![CDATA[Oslo]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/solr-%e2%80%93-the-sunny-side-of-search</guid>
		<description><![CDATA[When I started working for Findwise two years ago, Apache Solr was one of those no-name search platforms. We could barely get our customers to consider Solr even after proving that the platform would be a perfect match for their business needs. As time passed and the financial crisis hit the world, a few of [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>When I started working for Findwise two years ago, Apache Solr was one of those no-name search platforms. We could barely get our customers to consider Solr even after proving that the platform would be a perfect match for their business needs. As time passed and the financial crisis hit the world, a few of our customers started considering Solr, but then usually for the reason that it was “free” – not for the functionality of the platform.</p>
<p>Things have changed. More and more companies now offer support and training for Solr. It seems that the platform is gaining momentum on the enterprise market.<br />
In fact, I was just in Oslo, Norway to become a certified Lucid Imagination training partner, as the need for training is growing rapidly, even up here in the snow-covered Nordics.</p>
<p>Today we even have customers approaching us asking questions about how, and not if, they should use Solr. I wouldn’t have imagined that two years ago &#8230;</p>
<p>Could this be the year that Solr goes head to head with the large enterprise search platforms?<br />
And where will we be in another two years?</p>
<p>I wish I knew.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/solr-%e2%80%93-the-sunny-side-of-search/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/solr-%e2%80%93-the-sunny-side-of-search/"><meta itemprop="datePublished" content="2010-04-01T10:32:17+00:00"><meta itemprop="dateModified" content="2010-04-01T10:32:17+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="large enterprise search platforms,no-name search platforms,Norway,Oslo"><meta itemprop="wordCount" content="191"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/solr-%e2%80%93-the-sunny-side-of-search/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Faceted Search by LinkedIn</title>
		<link>http://blog.findwise.com/faceted-search-by-linkedin/</link>
		<comments>http://blog.findwise.com/faceted-search-by-linkedin/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 11:00:38 +0000</pubDate>
		<dc:creator>Maria Johansson</dc:creator>
				<category><![CDATA[Interaction Design]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Daniel Tunkelang]]></category>
		<category><![CDATA[faceted search]]></category>
		<category><![CDATA[John Wang]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[people search]]></category>
		<category><![CDATA[prominent search functionality]]></category>
		<category><![CDATA[reference search]]></category>
		<category><![CDATA[Sara Alpern]]></category>
		<category><![CDATA[search architect]]></category>
		<category><![CDATA[search experience]]></category>
		<category><![CDATA[search interface]]></category>
		<category><![CDATA[similar solution]]></category>

		<guid isPermaLink="false">http://findabilityblog.se/?p=1839</guid>
		<description><![CDATA[My RSS feeds have been buzzing about the LinkedIn faceted search since it was first released from beta in December. So why is the new search at LinkedIn so interesting that people are almost constantly discussing it? I think it’s partly because LinkedIn is a site that is used by most professionals and searching for [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>My RSS feeds have been buzzing about the LinkedIn <a href="http://en.wikipedia.org/wiki/Faceted_search">faceted search</a> since it was first released from beta in December. So why is the new search at <a href="http://www.linkedin.com">LinkedIn</a> so interesting that people are almost constantly discussing it? I think it’s partly because LinkedIn is a site that is used by most professionals and searching for people is core functionality on LinkedIn. But the search interface on LinkedIn is also a very good example of faceted search.</p>
<p>I decided to have a closer look into their search. The first thing I realized was just how many different kinds of searches there are on LinkedIn. Not only the obvious people search but also, job, news, forum, group, company, address book, answers and reference search. LinkedIn has managed to integrate search so that it’s the natural way of finding information on the site. People search is the most prominent search functionality but not the only one.</p>
<p>I’ve seen several different people search implementations and they often have a tendency to work more or less like phone books. If you know the name you type it and get the number. And if you’re lucky you can also get the name if you only have the number. There is seldom anyway to search for people with a certain competence or from a geographic area. LinkedIn sets a good example of how searching for people could and should work.</p>
<p>LinkedIn has taken careful consideration of their users; What information they are looking for, how they want it presented and how they need to filter searches in order to find the right people. The details that I personally like are the possibility to search within filters for matching options (I worked on a similar solution last year) and how different filters are displayed (or at least in different order) depending on what query the user types. If you want to know more about how the faceted search at LinkedIn was designed, check out the <a href="http://blog.linkedin.com/2010/03/05/designing-linkedin-faceted-search/">blog post</a> by Sara Alpern.</p>
<p>But LinkedIn is not only interesting because of the good search experience. It’s also interesting from a technical perspective. The LinkedIn search is built on open source so they have developed everything themselves. For those of you interested in the technology behind the new LinkedIn search I recommend “<a href="http://thenoisychannel.com/2010/01/31/linkedin-search-a-look-beneath-the-hood/">LinkedIn search a look beneath the hood</a>”, by <a href="http://thenoisychannel.com">Daniel Tunkelang</a> where he links to a presentation by <a href="http://www.linkedin.com/in/javasoze">John Wang</a> search architect at LinkedIn.</p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/faceted-search-by-linkedin/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/faceted-search-by-linkedin/"><meta itemprop="datePublished" content="2010-03-12T12:00:38+00:00"><meta itemprop="dateModified" content="2010-03-12T12:00:38+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="Daniel Tunkelang,faceted search,John Wang,LinkedIn,people search,prominent search functionality,reference search,Sara Alpern,search architect,search experience,search interface,similar solution"><meta itemprop="wordCount" content="408"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/faceted-search-by-linkedin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create better search &#8211; VGR leads the way</title>
		<link>http://blog.findwise.com/how-to-create-better-search-vgr-leads-the-way/</link>
		<comments>http://blog.findwise.com/how-to-create-better-search-vgr-leads-the-way/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 22:26:13 +0000</pubDate>
		<dc:creator>Caroline Abrahamsson</dc:creator>
				<category><![CDATA[Future development]]></category>
		<category><![CDATA[Information quality]]></category>
		<category><![CDATA[Internet search]]></category>
		<category><![CDATA[Intranet]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Solr]]></category>
		<category><![CDATA[Fredrik Wackå]]></category>
		<category><![CDATA[functionality and solutions]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Kristian Norling]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[search experience]]></category>
		<category><![CDATA[search solution]]></category>
		<category><![CDATA[senior IT-strategist]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[writer]]></category>

		<guid isPermaLink="false">http://www.findwise.se/?p=1328</guid>
		<description><![CDATA[I realise we are a bit late. Fredrik Wackå, a senior IT-strategist, has already written an excellent article on his blog (in Swedish). He has, among other things, been interviewing Kristian Norling (at Twitter), who has been working with portal strategies and search for many years at Västra Götalands regionen. Although, for all our non-Swedish speaking [...]]]></description>
			<content:encoded><![CDATA[<span itemprop="mainContentOfPage"><span itemprop="articleBody"><p>I realise we are a bit late. Fredrik Wackå, a senior IT-strategist, has already written an excellent article on <a title="Fredrik Wackås blogg" href="http://www.wpr.se/2010/01/snabbhet-grunden-metadata-forfiningen-nar-vg-regionen-skapade-sokmotor/" target="_blank">his blog</a> (in Swedish). He has, among other things, been interviewing <a title="Kristian Norling" href="http://se.linkedin.com/in/kristiannorling" target="_blank">Kristian Norling</a> (at <a title="Kristian Norling at Twitter" href="https://twitter.com/kristiannorling" target="_blank">Twitter</a>), who has been working with portal strategies and search for many years at Västra Götalands regionen.<br />
Although, for all our non-Swedish speaking guests here is a short summary:</p>
<p>Findwise has during the last few months been working on a new search solution for Västra Götalands regionen.  The two main goals have been to deliver a search experience that seems both fast and accurate.<br />
The result?<br />
Today making a search at VGR takes about 0,1-0,2 seconds, faster than a Google search on the web.</p>
<p>Furthermore, there was a need for context. Large amount of information requires ways to filter and sort – otherwise the users will drown in the result list.<br />
By giving the end-users the ability to sort the search result the users can look for general information within an area as well as quickly narrow down to a specific piece (for example by two clicks be able to see only the PDF-files created in 2009). The filters (and thereby metadata standard) includes:</p>
<p>• Information type<br />
• Where the document resides<br />
• Where it belongs in the organization<br />
• What source it has<br />
• When it was last changed<br />
• Who has written it<br />
• What format it resides in<br />
• Keywords that has been created</p>
<div id="attachment_1329" class="wp-caption alignleft" style="width: 310px"><a href="http://None"><img itemprop="image" class="size-medium wp-image-1329" title="Västra Götalands regionen" src="http://www.findwise.se/wp/wp-content/vgr-300x192.jpg" alt="VGR" width="300" height="192" /></a><p class="wp-caption-text">VGR</p></div>
<p>The search solution also includes a metadata service. As so many others VGR has been struggling with getting the metadata in place.<br />
Apart from the metadata supported by the system (where <a title="Dublin core" href="http://www.dublincore.org/" target="_blank">Dublin Core</a> is being used) the metadata service is doing two things:<br />
• Analyses the content in the text, compares it to taxonomy and gives the writer suggestions of keywords that he/she can use<br />
• Gives the writer the ability to add additional keywords</p>
<p>Apart from this the end-users will be able to add etiquettes (tags). These will be compared with two lists. If the tags appears in the “white list” it will be published right away, if they are in the “blacklist” they will be deleted. Anything inbetween are controlled before they are published.</p>
<p>To conclude: a lot of effort has been put into creating a good search experience and VGR continues to deliver functionality and solutions that are light-years ahead of many others. The combination of supporting systems and using the &#8220;collected intelligence&#8221; of the writers and end-users will make it even better over time.<br />
Search is about both supporting systems, content and people.</p>
<p>Read more in <a title="Fredrik Wackås blogg" href="http://www.wpr.se/2010/01/snabbhet-grunden-metadata-forfiningen-nar-vg-regionen-skapade-sokmotor/" target="_blank">Fredrik Wackås blog</a></p>
</span></span><div class="schema_property_wrap"></div><meta itemprop="url" content="http://blog.findwise.com/how-to-create-better-search-vgr-leads-the-way/"><meta itemprop="discussionUrl" content="http://blog.findwise.com/how-to-create-better-search-vgr-leads-the-way/"><meta itemprop="datePublished" content="2010-01-11T23:26:13+00:00"><meta itemprop="dateModified" content="2010-01-11T23:26:13+00:00"><meta itemprop="dateCreated" content=""><meta itemprop="keywords" content="Fredrik Wack&Atilde;&yen;,functionality and solutions,Google,Kristian Norling,PDF,search experience,search solution,senior IT-strategist,Twitter,writer"><meta itemprop="wordCount" content="428"><meta itemprop="blogPosts" content="http://blog.findwise.com">]]></content:encoded>
			<wfw:commentRss>http://blog.findwise.com/how-to-create-better-search-vgr-leads-the-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

