Solr

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

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

27/07/2024 17:12:55
 
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.