Solr

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Ontwikkelaar

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van IT Operations Manager! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »
Pim -

Pim -

08/12/2011 19:11:30
Quote Anchor link
Heeft iemand ervaring met Solr?
En zo ja, is het sneller dan Zend_Search_Lucene?
Gewijzigd op 08/12/2011 19:15:39 door Pim -
 
PHP hulp

PHP hulp

20/07/2025 08:55:50
 
Niels K

Niels K

08/12/2011 19:14:29
Quote Anchor link
Link doet het niet? Overigens heb ik er geen ervaring mee.
Gewijzigd op 08/12/2011 19:15:09 door Niels K
 
Pim -

Pim -

08/12/2011 19:16:26
Quote Anchor link
Nu wel ;-). Parser doet moeilijk met spaties
 
Niels K

Niels K

23/12/2011 21:12:05
Quote Anchor link
Hoi Pim,

Ik kreeg dit gisteren nog van Kees. Best wel interessant: http://goo.gl/KV79z

Niels
 
Pim -

Pim -

01/01/2012 21:38:15
Quote Anchor link
Dank :)
 
Kees Schepers

kees Schepers

01/01/2012 22:05:32
Quote Anchor link
Ik ben er toevallig net mee bezig. Ik ben zelf namelijk ook Zend_Search_Lucene gewend. Maar Solr blijkt vooral sneller te zijn omdat het als aparte webservice (REST) onder Java draait.

Ik heb er al mee zitten spelen en bij mij was het behoorlijk rap. Misschien moet ik eens een testje opzetten..

Een goed alternatief is trouwens Sphinx, deze kun je onder MySQL draaien, en blijkt ook enorm snel te zijn. Volgens zijn functionaliteiten als stemming, etc wel beperkter maar Niels heeft er volgens mij ervaring mee.

Solr heeft overigens ook een mogelijkheid om een index met een bepaalde database tabel te laten syncen.

Ik ben ook direct maar een tutorial aan het maken voor in een ZF1/Doctrin2 applicatie ;)
Gewijzigd op 02/01/2012 00:02:14 door kees Schepers
 
Pim -

Pim -

02/01/2012 20:01:03
Quote Anchor link
Is een relationele database wel geschikt voor dit doel?
 
Kees Schepers

kees Schepers

02/01/2012 23:24:24
Quote Anchor link
Pim - op 02/01/2012 20:01:03:
Is een relationele database wel geschikt voor dit doel?


Ja en nee. Solr is plat. Maar je kunt wel bijvoorbeeld met dynamic fields onderscheid maken tussen verschillende entities. In Solr maakt het niet uit als sommige velden leeg zijn.

Stel je wilt 2 tabellen syncen met een Solr index kun je twee dingen doen:

1. Een type veld maken met waarde tabel1 of tabel2 en velden prefixen bijvoorbeeld tabel1_kolom (met dynamic columns evt). Deze optie loont vooral als het om een niet al te grote index gaat (minder als een paar miljoen entries). Het klinkt/lijkt heel vies maar dit is een 'geldige' manier in Solr.

2. Een multi-core set-up opzetten met dus twee indexes. Een index voor tabel1 en tabel2 maar dit is wel wat lastiger als bovenstaande optie.

Bovenstaande informatie heb ik uit het boek "Solr 1.4 Enterprise Search Server".
 
Pim -

Pim -

03/01/2012 17:43:14
Quote Anchor link
Het is toch sowieso beter om een heel nieuw datamodel te maken voor de zoekmachine?
Ik snap niet waarom je zo proberen dat model te laten lijken op de RDBMS model. En dan heb je toch helemaal geen joins e.d. nodig?
 
Kees Schepers

kees Schepers

11/01/2012 17:04:02
Quote Anchor link
Sorry dat ik niet meer gereageerd heb Pim! Ik snap je laatste vraag ook niet echt.. je kunt inderdaad niet joinen in Solr dus als je relationele dingen wilt opslaan moet je dat plat slaan. Eigenlijk beetje hetzelfde als in Couchdb enzo.

Ik heb speciaal voor jou een hele tutorial gemaakt zodat je ermee kan spelen. Alleen de tutorial staat nog niet online maar als jij belooft dat je hem op spelling e.d. checked dan zet ik hem asap online voor je :p

De applicatie die bij de tutorial hoort staat wel online: https://github.com/keesschepers/SolrExample moet alleen nog wat kleine dingetjes fixen.

Je kunt in iedergeval de verschillen in performance met Pike_Grid hier al zien:
http://solrexample.keesschepers.nl/index/mysql-grid

Dit is op een server met 3 cores (6.6gz) en 4gb geheugen. Moet wel zeggen dat zowel Solr en MySQL zelf nog niet echt getweaked zijn dus out-of-the-box installs.

Ben benieuwd wat je ervan vindt en andere wellicht :)

Zo'n Solr grid bouw je dan als volgt op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
    public function solrGridAction()
    {

        $this->view->headTitle('Solr sample grid');

        $request = $this->getRequest();
        
        $config = Zend_Registry::get('config');
        $client = new SolrClient($config->solr->connection->toArray());
        
        $query = new SolrQuery('*:*'); //all documents
        $query->addField('id')->addField('title')->addField('author')->addField('url');
        
        $dataSource = new Pike_Grid_DataSource_Solr($client, $query);

        $grid = new Pike_Grid($dataSource);
        $grid->setId('mysql-grid')
            ->
setCaption('SOLR grid')
            ->
setRowsPerPage(20)
            ->
setColumnAttribute('id', 'search', false)
            ->
setColumnAttribute('title', 'search', true)
            ->
setColumnAttribute('author', 'search', true)
            ->
setColumnAttribute('url', 'search', true)
            ->
setColumnAttribute('url', 'sortable', false);
        
        $this->view->mysqlgrid = $grid;
        $this->view->headScript()->appendScript($grid->getJavascript(), 'text/javascript');

        if ($request->isXmlHttpRequest()) {
            $dataSource->setParameters($request->getPost());
            $this->_helper->json->sendJson($dataSource->getJSON(false));
        }
    }

?>


Bovenstaande functie staat dan in een controller natuurlijk ;-) En je kunt dezelfde functies gebruiken als bij een doctrine grid.
Gewijzigd op 11/01/2012 17:05:17 door kees Schepers
 
Pim -

Pim -

11/01/2012 23:32:13
Quote Anchor link
Looks good :)
Kan je de verwerkingstijd in het voorbeeld verwerken? Dan mag je ons verbazen.

Bevat Pike Grid eigenlijk een vorm van caching of een aanhechtingspunt voor een cache?
En natuurlijk wil ik wel wat spelfoutjes doorgeven ;). Wordt het een uitgebreide tutorial?

Ik snap mijn eigen vraag eigenlijk ook niet echt meer. Waarschijnlijk vroeg ik me af waarom je per se je datamodel dat je in je DB hebt zou willen spiegelen naar je zoekindex. tabel1_veld als veldnaam is dan toch raar, omdat het toch een ander datamodel is. Verwijzen naar de tabel is dan onnodig.
 
Kees Schepers

kees Schepers

12/01/2012 09:17:55
Quote Anchor link
Voor de verwerkingstijd kun je het beste even met de console in firebug kijken, want erin tweaken met javascript kost weer een hoop tijd terwijl het maar een voorbeeldje is :p

En het verschil merk je sowieso al als je gaat zoeken want in MySQL duurt dit soms 4-8 sec terwjil in Solr ongeveer 0.02 ofzo.

Pike_Grid ondersteund nog geen caching op dit moment, maar is eigenlijk ook nog niet echt nodig. Met de Doctrine kun je het zelf doen door voordat je je query naar de datasource stuurt $query->setCacheMaxLifetime() te zetten. Hier houdt Pike_Grid dan automatisch rekening mee.

En in Solr zit standaard al caching, en zou het overbodig zijn om dit in de grid ook nog eens te cachen..
 
Kees Schepers

kees Schepers

14/01/2012 15:47:42
 
Niels K

Niels K

14/01/2012 16:33:54
Quote Anchor link
Mooi artikel Kees,

Kan je het aan de PHPHulp library toevoegen?

Niels
 
Kees Schepers

kees Schepers

14/01/2012 16:39:39
Quote Anchor link
Uhm, dat zou ik opzich wel willen, maar dan krijg je duplicate content wat voor SEO niet echt goed is...
 
Pim -

Pim -

14/01/2012 23:06:14
Quote Anchor link
Plaats dan gewoon een link ;-).
Als ik weer een laptop heb, ga ik het uitgebreid lezen!
 
Kees Schepers

kees Schepers

26/06/2012 11:20:12
Quote Anchor link
En je al meer verdiept in Solr Pim? Ondertussen ben ik hier zowat dagelijks mee bezig ;-) Zelfs diverse event handlers geschreven in Java voor de Solr DataImportHandler.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.