sql >> Database >  >> RDS >> Mysql

Solr en MySQL, hoe een bijgewerkte index te houden, en, is een DB zelfs nodig als het eenvoudig is?

Het wel of niet gebruiken van een database komt er eigenlijk op neer hoe lang je deze gegevens wilt bewaren en laten groeien. Het is veel, veel gemakkelijker om een ​​hele Solr-index te beschadigen (en al uw gegevens te verliezen) dan om een ​​hele database te beschadigen. Solr biedt ook geen geweldige ondersteuning voor het wijzigen van een schema zonder te beginnen met een nieuwe index. U kunt bijvoorbeeld prima een ander veld toevoegen, maar u kunt de naam of het type van een veld niet wijzigen zonder uw index te wissen.

Als u met een DB werkt, kunt u Solr instellen om rechtstreeks vanuit de DB te indexeren met behulp van DataImportHandler . Voor uw schema zou dit vrij eenvoudig moeten zijn, maar dit kan snel pijnlijk worden naarmate uw DB complexer wordt. Ik denk dat het enig voordeel heeft om de Hibernate-objecten te gebruiken die je al hebt ingesteld en ze gewoon in te voegen met Solrj. Het andere pijnpunt met DataImportHandler is dat het volledig wordt beheerd met behulp van http. U moet dus afzonderlijke cron-taken (of een andere code) beheren om de planning af te handelen met behulp van wget of curl .



  1. Welke impact kunnen verschillende cursoropties hebben?

  2. Gebruiker met toekenningsoptie kan geen gebruiker aanmaken

  3. SQL selecteer waar niet in subquery geeft geen resultaten

  4. JPA Verkeerde datum opslaan in MySQL-database