Solr

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

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 »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

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 »

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 »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar 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

25/05/2024 19:15: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.