This script was made to aid the process of migrating PHP and MySQL based websites

Overview

Build Status

Search Replace DB - v4.1.3

This script was made to aid the process of migrating PHP and MySQL based websites. Works with most common CMSes.

If you find a problem let us know in the issues area and if you can improve the code then please fork the repository and send us a pull request :)

What's New

  • Support for continuous integration through Travis CI
  • Ability to do multiple search-replaces
  • Ability to exclude tables
  • Remove specific loaders for WP
  • No longer automatically populate DB fields, this was causing security issues for users leaving the script on their site
  • Script now checks whether the correct version of PHP is used
  • Script checks if necessary modules are installed
  • Script checks if the connection is secure and gives a warning otherwise
  • Bug fixes
  • UI Tweaks
  • Password is not mandatory in CLI
  • Ability to connect using SSL, command line only feature

Warnings & Limitations

We can't test every possible case, though we do our best. Backups and verifications are important.

You use this script at your own risk and we have no responsibility for any problems it may cause.

There are many edge cases and WordPress plugins that likes to mess your database, we don't have a silver bullet.

The license for this software is GPL v3, please bear this in mind if contributing or branching.

Do backups, also do backups and finally do backups!

Usage

  1. Do backups.
  2. Migrate all your website files.
  3. Upload the script folder to your web root or higher.
  4. Browse to the script folder URL in your web browser.
  5. Fill in the fields as needed.
  6. Choose the Do a safe test run button to do a dry run without searching/replacing.

Installation

To install the script, please place the files inside your sites public folder and head to yoursiteURL/Search-Replace-DB

CLI script

To invoke the script, navigate in your shell to the directory to where you installed Search Replace DB.

Type php srdb.cli.php to run the program. Type php srdb.cli.php --help for usage information:

  -h, --host
    Required. The hostname of the database server.

  -n, --name
    Required. Database name.

  -u, --user
    Required. Database user.

  -p, --pass
    Database user's password.

  -P, --port
    Optional. Port on database server to connect to. The default is
    3306. (MySQL default port).

  -s, --search
    String to search for or `preg_replace()` style regular
    expression.

  -r, --replace
    None empty string to replace search with or `preg_replace()`
    style replacement.

  -t, --tables
    If set only runs the script on the specified table, comma
    separate for multiple values.

  -w, --exclude-tables
    If set excluded the specified tables, comma separate for multuple
    values.

  -i, --include-cols
    If set only runs the script on the specified columns, comma
    separate for multiple values.

  -x, --exclude-cols
    If set excludes the specified columns, comma separate for
    multiple values.

  -g, --regex [no value]
    Treats value for -s or --search as a regular expression and -r or
    --replace as a regular expression replacement.

  -l, --pagesize
    How rows to fetch at a time from a table.

  -z, --dry-run [no value]
    Prevents any updates happening so you can preview the number of
    changes to be made

  -e, --alter-engine
    Changes the database table to the specified database engine eg.
    InnoDB or MyISAM. If specified search/replace arguments are
    ignored. They will not be run simultaneously.

  -a, --alter-collation
    Changes the database table to the specified collation eg.
    utf8_unicode_ci. If specified search/replace arguments are
    ignored. They will not be run simultaneously.

  -v, --verbose [true|false]
    Defaults to true, can be set to false to run script silently.

  --debug [true|false]
    Defaults to false, prints more verbose errors.

  --ssl-key
    Define the path to the SSL KEY file.

  --ssl-cert
    Define the path to the SSL certificate file.

  --ssl-ca
    Define the path to the certificate authority file.

  --ssl-ca-dir
    Define the path to a directory that contains trusted SSL CA
    certificates in PEM format.

  --ssl-cipher
    Define the cipher to use for SSL.

  --ssl-check [true|false]
    Check the SSL certificate, default to True.

  --allow-old-php [true|false]
    Suppress the check for PHP version, use it at your own risk!

  --help
    Displays this help message ;)

Example cli commmands:

php srdb.cli.php -h dbhost -n dbname -u root -p "" -s "http://www.yourdomain.com" -r "http://newdomain.com"

php srdb.cli.php -h dbhost -n dbname -u root -p "password" -s "http://www.yourdomain.com" -r "http://newdomain.com"

php srdb.cli.php -h dbhost -n dbname -u root -p "password" -s "search" -r "replace"

Troubleshooting

Nothing works after the search/replace operation!

It's time to use your backups!

I get a popup saying there was an AJAX error

This happens occasionally and could be for a couple of reasons:

  • When the script starts, it attempts to start your WordPress or Drupal installation to auto-detect your username and password settings. If this fails, you will see a message informing you that auto-detection failed. You will have to enter your details manually.

  • Script was unable to set the timeout so PHP closed the connection before the table could be processed, this can happen on some server configurations.

Contributing

You can view the source code and submit a pull request using GitHub, the project's page is located at:

https://github.com/interconnectit/Search-Replace-DB/

We appreciate a small unittest among the code, please explain what you are is trying to solve.

License

This file is part of Search-Replace-DB.

Search-Replace-DB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Search-Replace-DB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Search-Replace-DB. If not, see https://www.gnu.org/licenses/.

Comments
  • The script encountered an error while running an AJAX request

    The script encountered an error while running an AJAX request

    I'm sorry for my English)) I tried to move the blog to a new domain. Gave an error: "The script encountered an error while running an AJAX request.If you are using your hosts file to map a domain try browsing via the IP address directly.If you are still running into problems we recommend trying the CLI script bundled with this package.See the README for details." What am I doing wrong? Where can I read about it? Thank you!

    opened by Altcheb 45
  • 2: Class __PHP_Incomplete_Class has no unserializer in /srdb/srdb.class.php on line 735

    2: Class __PHP_Incomplete_Class has no unserializer in /srdb/srdb.class.php on line 735

    Using version 3.1 on PHP 5.5.38. When I run dry or live run it reports: 2: Class __PHP_Incomplete_Class has no unserializer in /srdb/srdb.class.php on line 735

    This line is in recursive_unserialize_replace() function.

    As far as I can tell the changes are still correctly made.

    I am happy to help debug this issue.

    opened by damiencarbery 42
  • Syntax error, unexpected T_NS_SEPARATOR

    Syntax error, unexpected T_NS_SEPARATOR

    Ran into this issue when attempting to S/R a wordpress install (staging to www) via CLI.

    wp_oauth_clients: 0 rows, 0 changes found, 0 updates made in 0.00028396 seconds
    wp_oauth_refresh_tokens: replacing staging.community.newmessage.org with community.newmessage.org
    wp_oauth_refresh_tokens: 0 rows, 0 changes found, 0 updates made in 0.00022697 seconds
    wp_oauth_scopes: replacing staging.community.newmessage.org with community.newmessage.org
    wp_oauth_scopes: 0 rows, 0 changes found, 0 updates made in 0.00022101 seconds
    wp_options: replacing staging.community.newmessage.org with community.newmessage.org
    syntax error, unexpected '\' (T_NS_SEPARATOR), expecting '{'
    $
    

    Any idea what could be wrong here?

    Thanks!

    opened by levycarneiro 23
  • Class __PHP_Incomplete_Class has no unserializer

    Class __PHP_Incomplete_Class has no unserializer

    Hello I appear to be getting an error using this program. The error appears to happen half way through the trial run: The dry-run option was selected. No replacements will be made. 2: Class __PHP_Incomplete_Class has no unserializer in /home/nomadthe/public_html/SReplace/srdb.class.php on line 735

    Has anyone seen this ?

    I've tried different browsers, I've disabled caching both on the browser and the host. The same program appears to work on a different website by the same hosting company - siteground. This suggests to that it's something specific to my database.

    I've also disabled Wordfence and Yoast SEO ... because I've seen mentions else where that this has happened with Yoast.

    Any ideas? Any help would be much appreciated.

    Regards Stuart

    opened by coralweb 23
  • Ajax Error when running any option.

    Ajax Error when running any option.

    The script encountered an error while running an AJAX request.
    If you are using your hosts file to map a domain try browsing via the IP address directly.
    If you are still running into problems we recommend trying the CLI script bundled with this package.
    See the README for details.
    

    This appears when trying to do anything dry run / live run, etc. Running on PHP 7.0, tried troubleshooting in README but no solution.

    I also noticed when it POST's to itself, it's returned a 404 from the server

    opened by Braunson 18
  • always problems with wp_options table

    always problems with wp_options table

    Every time I try to find and replace something on a Wordpress Database, I get the same error on the wp_options table, which is:

    syntax error, unexpected '\' (T_NS_SEPARATOR), expecting '{'

    This is not allowing me to find and replace on the wp_options table, as the script gets interrupted. Any idea why this is happening and how to fix it?

    Thanks

    opened by alexgarciab 16
  • PHP Notice:  A non well formed numeric value encountered in srdb.cli.php

    PHP Notice: A non well formed numeric value encountered in srdb.cli.php

    Hi, I've got these 2 notices appearing since I've been using PHP 7 :

    PHP Notice:  A non well formed numeric value encountered in srdb.cli.php on line 197
    PHP Notice:  A non well formed numeric value encountered in srdb.cli.php on line 202
    

    Casting the variables inside number_format function as float values solves the problem :

    line 197 : $time = number_format( (float)  $report[ 'end' ] - (float) $report[ 'start' ], 8 );
    line 202 : $time = number_format( (float) $report[ 'end' ] - (float) $report[ 'start' ], 8 );
    
    opened by erralb 10
  • mysql_set_charset() errors

    mysql_set_charset() errors

    Hi, I'm getting the following error when running the CLI locally:

    host: localhost database: yamuna user: root pass: mypass charset: utf-8 search: mywebsite.com replace: dev.mywebsite.com

    MySQL Connection Error: Array ( [0] => No such file or directory ) PHP Warning: mysql_set_charset() expects parameter 2 to be resource, boolean given in /Users/myusername/Sites/dev.mywebsite.com/.bak/searchreplacedb2cli.php on line 113 MySQL Table Error: Array ( [0] => No such file or directory [1] => No such file or directory )

    Using those identical login credentials I'm able to log into mysql no problem. Any idea what the problem could be? Thanks in advance.

    opened by jplew 10
  • Does not properly search/replace udesign_options

    Does not properly search/replace udesign_options

    I'm attempting to use it to migrate from a development environment (http://dev.truenorth.com) to a staging environment (http://truenorth.brandedclever.com). My goal is to search and replace the URLs and when I run the script, it completes successfully. However, when I load the page on the staging server it renders incorrectly.

    Based on my testing, I've narrowed it down to an 'option_name' in 'wp_options' called 'udesign_options'. I've included pasties to the before and after versions of the contents of that field so that you could see a diff of the two. From what I can tell, it doesn't seem to be updating the length of certain fields, which might be the issue.

    Any suggestions would be hugely appreciated since this is the only site I can't get working.

    Before search and replace: http://pastie.org/private/w5wqplpt17ujjqnydkavq After search and replace: http://pastie.org/private/drvedkwf55gjcackqrkhw

    General Info

    • Search/Replace String: http://dev.truenorth.com and http://truenorth.brandedclever.com
    • Search-Replace-DB Version: 2.1.1

    Development Environment

    • WordPress: 3.4.1
    • Theme: U-Design (http://themeforest.net/item/udesign-wordpress-theme/253220)
    • OS: Mac OS X 10.8 Mountain Lion
    • DB: MySQL 5.5.25a
    • PHP: 5.5.13

    Staging Environment

    • WordPress: 3.4.1
    • Theme: U-Design (http://themeforest.net/item/udesign-wordpress-theme/253220)
    • OS: Ubuntu 12.04 LTS
    • DB: MySQL 5.5.25
    • PHP: 5.3.10-1ubuntu3.2

    Thanks in advance!

    Enhancement 
    opened by dmorda 10
  • GoDaddy shared hosting: error while running an AJAX request - purposefully blocked by GoDaddy

    GoDaddy shared hosting: error while running an AJAX request - purposefully blocked by GoDaddy

    This isn't actually an issue which needs addressing (or can even be addressed), but I wanted to get a record out there for Google to pick up, in case somebody else runs into this problem, since it manifests quite bizarrely and doesn't respond to the other usual suggestions.

    Basically, if you're trying to use Search-Replace-DB on a GoDaddy shared hosting account, and getting that AJAX error whenever you try to do anything, it's because some security stuff on GoDaddy's side is purposefully blocking it. I was finally able to get a support person to call over to a sysadmin type who verified that it was getting purposefully blocked. Presumably due to this being a tool one could conceivably use maliciously if a site was hacked, or if you had database creds for someone else on the shared server, though in either of those cases it's hard to see why they'd single it out.

    Regardless, this can be partially worked around. Whatever their security stuff does, it seems to at least partially depend on a checksum or something of the file being run. If you literally make any change to Search-Replace-DB's index.php file, including, say, adding a newline, or adding a letter/word/whatever inside the comments, you'll likely be able to use it for at least a little while. (Reverting your edit will get you right back to AJAX errors.) Unfortunately even after doing that, it'll probably run afoul of some more dynamic blocking, which'll cotton on to the activity within a few runs, most likely.

    As suggested by other Issues about these AJAX errors, so long as you've got SSH enabled on the account, you can go in and use the CLI option, which will work without problems.

    A little bit more info about how the blocking manifests, just FYI, is that the AJAX POST will return literally nothing from the server - not even a 404 or any other error. You can verify in your browser's Network monitor (via F12, generally), or even with a packet sniffer if you're getting ambitious. It's easiest to do the sniffing over just HTTP, so don't use real DB creds with it in that mode, but you'll be able to see the POST go out, an ACK from the server, and then immediately a FIN from the server - no data response whatsoever. (This is one thing which differentiates it from some other cases where a 404 gets generated.)

    Anyway, as I say, I just wanted to get this out there somewhere in case someone else runs into the problem. I'd been wondering for awhile if PHP bytecode caching or something was getting in the way, but in the end it was the security stuff.

    opened by apocalyptech 9
  • PHP Notice:  icit_srdb::recursive_unserialize_replace() for WordPress

    PHP Notice: icit_srdb::recursive_unserialize_replace() for WordPress

    I need to add -d memory_limit -1 to execute search & replace command. I get a lot of messagges like these until php killes the process:

    PHP Notice: icit_srdb::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "WPML_Notices" of the object you are trying to operate on was loaded before unserialize() gets called or provide an autoloader to load the class definition in srdb.class.php on line 755

    PHP Notice: icit_srdb::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "WPML_Notice" of the object you are trying to operate on was loaded before unserialize() gets called or provide an autoloader to load the class definition in srdb.class.php on line 755

    PHP Notice: icit_srdb::recursive_unserialize_replace(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "WPML_Taxonomy_Translation_Help_Notice" of the object you are trying to operate on was loaded before unserialize() gets called or provide an autoloader to load the class definition in srdb.class.php on line 755

    Is there any bug with php 7.2 or newest WordPress, plugins, etc. versions?

    Enhancement 
    opened by asier-vega 8
  • fix continue 2

    fix continue 2

    I got the same error as described in issue #368. I read this note and simply added the number 2 after continue (except where VS Code marked that as an error). Disclaimer: PHP is not my favourite programming language and I don't know much about it. But I tested the changes and for me, it worked. Anyway, someone more knowledgable should check these.

    opened by ralfzosel 0
  • Adds --my-ini-file <file> option to read connection info from mysql INI config file

    Adds --my-ini-file option to read connection info from mysql INI config file

    I needed a way to provide password without having it in command argument (which could then be read from user users from the server in /proc) to use it in a script. First approach would have been to accept it from STDIN when using an option, but that approach would be incompatible with any other STDIN usage, and .my.cnf files are common enough so that would probably be helpful to someone else.

    I tried to match your coding style but it is probably not close enough, sorry about that.

    opened by TrogloGeek 0
  • db: SQLSTATE[HY000] [2002] Connection refused

    db: SQLSTATE[HY000] [2002] Connection refused

    Hello there :)

    First of all, thank you for your great script! I'm trying to use the CLI version for the first time but can't make it work… I'm using MAMP Pro on a Macbook. Here is the configuration of the ports on MAMP Pro: image

    Here is the command I used: /Applications/MAMP/bin/php/php7.4.2/bin/php ./srdb.cli.php -h 127.0.0.1 -n mydbname -u root -proot --port 3306 -c utf8mb4 -s "olddomain" -r "newdomain" With this command, I got this: db: SQLSTATE[HY000] [2002] Connection refused And we're done!

    Could you pease tell me what's wrong?

    Kind regards, Cedric

    opened by cedriccharles4 0
  • INFO: Local database connection refused

    INFO: Local database connection refused

    It's not a problem that I had for my case, (I just wanted to test the extension, still valid after the last WordPress update).

    If you want to use it in localhost to practice using it, it may happen that the connection to the database is refused.

    opened by ValentinGratz 0
  • Errors on PHP 8.1

    Errors on PHP 8.1

    Getting the following errors on PHP 8.1.

    [php:error] [pid 24] [client 172.19.0.1:48538] PHP Fatal error:  Uncaught mysqli_sql_exception: No such file or directory in /var/www/html/dbtool/srdb.class.php:523\nStack trace:\n#0 /var/www/html/dbtool/srdb.class.php(523): mysqli_real_connect(Object(mysqli), NULL, NULL, NULL, NULL, NULL)\n#1 /var/www/html/dbtool/srdb.class.php(475): icit_srdb->connect_mysqli()\n#2 /var/www/html/dbtool/srdb.class.php(461): icit_srdb->connect('mysqli')\n#3 /var/www/html/dbtool/index.php(318): icit_srdb->db_setup()\n#4 /var/www/html/dbtool/index.php(89): icit_srdb_ui->response()\n#5 /var/www/html/dbtool/index.php(5477): icit_srdb_ui->__construct()\n#6 {main}\n  thrown in /var/www/html/dbtool/srdb.class.php on line 523
    [php:error] [pid 24] [client 172.19.0.1:48538] PHP Fatal error:  Uncaught mysqli_sql_exception: No such file or directory in /var/www/html/dbtool/srdb.class.php:523\nStack trace:\n#0 /var/www/html/dbtool/srdb.class.php(523): mysqli_real_connect(Object(mysqli), NULL, NULL, NULL, NULL, NULL)\n#1 /var/www/html/dbtool/srdb.class.php(475): icit_srdb->connect_mysqli()\n#2 /var/www/html/dbtool/srdb.class.php(461): icit_srdb->connect('mysqli')\n#3 /var/www/html/dbtool/index.php(318): icit_srdb->db_setup()\n#4 /var/www/html/dbtool/index.php(385): icit_srdb_ui->response()\n#5 [internal function]: icit_srdb_ui->fatal_handler()\n#6 {main}\n  thrown in /var/www/html/dbtool/srdb.class.php on line 523
    "GET /dbtool/ HTTP/1.1" 500 210 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
    

    On PHP 7.4 Search-Replace-DB works as expected.

    opened by phaleth 2
  • Highlighting is gone after version 4.0, Can you bring it back?

    Highlighting is gone after version 4.0, Can you bring it back?

    This is not a bug report or malfunction.

    I thought highlighting was such crucial and useful feature of this tool.

    Currently, I am doing SR on local environment and the highlight is no longer there.

    Will we see the come back of this feature?

    opened by WYKDev 0
Releases(4.1.2)
  • 4.1.2(May 12, 2020)

  • 4.1.1(Apr 20, 2020)

  • v4.1.0(Apr 14, 2020)

  • 4.0(Apr 7, 2020)

    What's New

    • Support for continuous integration through Travis CI
    • Ability to do multiple search-replaces
    • Ability to exclude tables
    • Remove specific loaders for WP
    • No longer automatically populate DB fields, this was causing security issues for users leaving the script on their site
    • Script now checks whether the correct version of PHP is used
    • Script checks if necessary modules are installed
    • Script checks if the connection is secure and gives a warning otherwise
    • Bug fixes
    • UI Tweaks
    • Password is not mandatory in CLI
    Source code(tar.gz)
    Source code(zip)
  • 3.1(Jul 7, 2015)

    This version has the following changes.

    • Safety checks to prevent deletion when installed incorrectly. However, you should still take care when dealing with files on your server.
    • JavaScript popup confirmation on 'Delete Me'.
    • Port number option in both the GUI and CLI. Use --port nnn to set a non-default MySQL port.
    • Fixed Drupal bootstrap behaviour. Start up of script uses Drupal data as guide, no longer relies on a full successful Drupal initialisation before script will allow you to proceed.
    • Driver selection improved so that PDO will be attempted first if PDO+mysql is available, with mysqli being used as a fallback. This fixes 'driver not found' errors.
    • Removed mysql_ functions and replaced with mysqli_.
    • Improved JS preview overlay for dry runs. This means that the right pane will always show the most accurate data possible. If serialised strings are present, highlights are not displayed.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Mar 30, 2014)

    The first stable release of the safe search replace tool for PHP. The CLI script is much more feature complete in this version with better support for different character sets. There are still problems with UTF-16 and UTF-32 which we hope to try and address in future releases.

    Use php srdb.cli.php --help for the list of options.

    Source code(tar.gz)
    Source code(zip)
Laravel Scout provides a driver based solution to searching your Eloquent models.

Introduction Laravel Scout provides a simple, driver-based solution for adding full-text search to your Eloquent models. Once Scout is installed and c

The Laravel Framework 1.3k Dec 31, 2022
Think-scout - A driver based solution to searching your models. Inspired By Laravel Scout

前言 whereof/think-scout根据thinkphp设计思想参考laravel/scout进行扩展 whereof/think-scout 为模型的全文搜索提供了一个简单的、基于驱动程序的解决方案。 目前,Scout 自带了一个 Elasticsearch 驱动;而编写自定义驱动程序很简

wangzhiqiang 6 Mar 18, 2022
Illusionist Searcher - Generates database queries based on search syntax

Illusionist Searcher Generates database queries based on search syntax. English | 中文 ✨ Features Zero configuration Compatible with laravel/scout and l

A doer with magic 2 Feb 24, 2022
A scout DB fulltext-based driver that store index data in related tables

A scout DB fulltext-based driver that store index data in related tables This package provide a Laravel/Scout Engine based on database/fulltext only,

Ivano Matteo 10 Nov 10, 2022
Plastic is an Elasticsearch ODM and mapper for Laravel. It renders the developer experience more enjoyable while using Elasticsearch, by providing a fluent syntax for mapping, querying, and storing eloquent models.

Plastic is an Elasticsearch ODM and mapper for Laravel. It renders the developer experience more enjoyable while using Elasticsearch, by providing a f

Sleiman Sleiman 511 Dec 31, 2022
Build and execute an Elasticsearch search query using a fluent PHP API

PACKAGE IN DEVELOPMENT, DO NOT USE YET Build and execute ElasticSearch queries using a fluent PHP API This package is a lightweight query builder for

Spatie 94 Dec 14, 2022
MeiliSearch PHP is the MeiliSearch API client for PHP developers.

MeiliSearch PHP is the MeiliSearch API client for PHP developers. ⚡ The MeiliSearch API client written for PHP ??

MeiliSearch 362 Jan 4, 2023
Sphinx Search library provides SphinxQL indexing and searching features

Sphinx Search Sphinx Search library provides SphinxQL indexing and searching features. Introduction Installation Configuration (simple) Usage Search I

Ripa Club 62 Mar 14, 2022
Store and retrieve objects from Algolia or Elasticsearch

Store and retrieve objects from a search index This is an opinionated Laravel 5.1 package to store and retrieve objects from a search index. Currently

Spatie 440 Dec 30, 2022
Unmaintained: Laravel Searchy makes user driven searching easy with fuzzy search, basic string matching and more to come!

!! UNMAINTAINED !! This package is no longer maintained Please see Issue #117 Here are some links to alternatives that you may be able to use (I do no

Tom Lingham 533 Nov 25, 2022
Easily add weighted searches through model attributes and relationships

Laravel Searchable ?? Easily add weighted searches through model attributes and relationships. This package currently supports MySQL and PostgreSQL. I

H-FARM 93 Nov 1, 2022
symfony solarium integration and solr management

solarium-bundle symfony bundle for solarium integration and solr management. current state of this bundle for now this bundle is me messing about with

null 2 Jan 11, 2022
Fulltext indexing and searching for Laravel

Laravel fulltext index and search This package creates a MySQL fulltext index for models and enables you to search through those. Install Install with

SWIS 171 Jan 4, 2023
Search among multiple models with ElasticSearch and Laravel Scout

For PHP8 support use php8 branch For Laravel Framework < 6.0.0 use 3.x branch The package provides the perfect starting point to integrate ElasticSear

Sergey Shlyakhov 592 Dec 25, 2022
This package offers advanced functionality for searching and filtering data in Elasticsearch.

Scout Elasticsearch Driver ?? Introducing a new Elasticsearch ecosystem for Laravel. ?? This package offers advanced functionality for searching and f

Ivan Babenko 1.2k Dec 20, 2022
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.

Phalcon VM 2.0.1 Phalcon VM is an open source Vagrant configuration which contains wide range of tools required in modern web development. Like a Swis

Eugene Manuilov 42 Nov 17, 2022
This is an open source demo of smart search feature implemented with Laravel and Selectize plugin

Laravel smart search implementation See demo at: http://demos.maxoffsky.com/shop-search/ Tutorial at: http://maxoffsky.com/code-blog/laravel-shop-tuto

Maksim Surguy 215 Sep 8, 2022
Laravel package to search through multiple Eloquent models. Supports sorting, pagination, scoped queries, eager load relationships and searching through single or multiple columns.

Laravel Cross Eloquent Search This Laravel package allows you to search through multiple Eloquent models. It supports sorting, pagination, scoped quer

Protone Media 844 Dec 25, 2022
A metadata catalog and search engine for geospatialized data

resto is a metadata catalog and a search engine dedicated to geospatialized data. Originally, it’s main purpose it to handle Earth Observation satellite imagery but it can be used to store any kind of metadata localized in time and space.

Jerome Gasperi 50 Nov 17, 2022