Download the PHP package webx-ui/module-catalog-manticore without Composer

On this page you can find all versions of the php package webx-ui/module-catalog-manticore. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package module-catalog-manticore

webx-ui/module-catalog-manticore

Manticore Search as the engine of the catalogue of the WebX UI admin panel — for catalogues the database engine no longer carries (more than a couple of thousand products). Category pages, filters with their counts, the search and the panel's product list are answered by Manticore; the product page itself never is.

Requirements

Install

The prefix is required and has no default: two copies of one site on one server would otherwise write into each other's tables. It is [a-z0-9_]; the tables are {prefix}_catalog_products_{locale}, and the package touches nothing else on the server. php artisan webx:doctor says when the prefix is missing, when it begins somebody else's tables, when the server does not answer and when a table is out of date.

From there the core's queue keeps the index current: saving a product marks it, and webx:catalog:index on the schedule writes the marked ones every minute.

A table per language

Every language of the site has a table, and every table holds every language: its own in the main text columns, weighed higher, and the others in other_languages. A product is found by a word in any language of the site from a page in any language, and its own language ranks first. A product without a translation is indexed with the text of the main language, as the storefront shows it.

The morphology of a table is that of every language of the site, its own first (webx-catalog-manticore.morphology); a language not named there is indexed without morphology. The beginning of a word is always searched.

The search

A search is its words and their beginnings, in any language of the site. The codes of a product — the article number, the barcode, the external id — are searched as written and by any part of their letters and digits: at1234, 34/5 and AT-1234/56 all find AT-1234/56. Whatever the reader typed is a character, never an operator of the query language. The product whose code the search is comes first, and when it is the only one on the site the storefront goes straight to its card.

A search that finds nothing gets a second pass: as typed with another keyboard layout of the site's languages (xt[jk is чехол; webx-catalog-manticore.layouts), then each word as the index's dictionary spells it (CALL QSUGGEST). The page says «Showing results for …» with a link to the words as typed (?typed=1); the lines are webx-catalog::storefront.search-corrected and search-instead, the view webx-catalog::search-corrected. The panel's list does the same.

Rebuilding

webx:catalog:index --rebuild fills {table}_next beside each live table and swaps it in when it is whole; the storefront reads the old tables meanwhile. A rebuild is needed when Manticore is connected to a catalogue that already has products, when the schema changes (a language added, a morphology changed, a new version of a module that writes into the index), or when the server lost its data. webx:doctor reports a table that is out of date; when to rebuild is yours to choose.

When the server does not answer

The failure is remembered for down_for seconds (30), so nobody waits for it twice. Meanwhile the panel reads the database, and so does a storefront whose catalogue is within webx-catalog.sql_engine_limit; a larger catalogue answers 503 with Retry-After, on the site's own layout — header, menu and footer in place (the view webx-catalog-manticore::unavailable, published with --tag=webx-catalog-manticore-views). Saving a product never fails because of Manticore: the product waits in the queue.

Config

connect_timeout, timeout, down_for, morphology, min_prefix_len, min_infix_len, weights, layouts, facet_values, relevance_sample — see the comments in the file.

License

MIT


All versions of module-catalog-manticore with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
guzzlehttp/guzzle Version ^7.8 || ^8.0
illuminate/contracts Version ^13.0
illuminate/http Version ^13.0
illuminate/support Version ^13.0
webx-ui/module-catalog Version ^0.68.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package webx-ui/module-catalog-manticore contains the following files

Loading the files please wait ...