If you are familiar with Pimcore you will know that you have multiple possibilities to query for objects
- use Listings via the API
- write your own SQL query
- using an Index
You can find a implementation of such a command here, which uses both default object listings and OptimizedMysql Index Service and runs with efficient ressource management in mind.
run the command like this:
$bin/console doo:build --force --process --notify=<example@email.com> --notify=<other@email.com>
options:
- --force: disables interactive questions in the command flow
- --notify: sends out a email to the defined recipient, when the command is done. multiple recipients possible!
- --process: notifies doofinder to process all new datafeeds, using the management api
- --gzip: compress your feed files
as a result there should be a /data folder in your project's root directory with one file for every configured doofinder search engine and type combination prefixed with a timestamp.
naming convention: {Ymd}_{Hi}_feed_{engine_hash}_{type}.txt
e.g: 20181116_101605_feed_<someHash>_test_product.txt
There is a controller action dedicated to serve the latest datafeed file under the following route:
/asioso-doofinder-bundle/{hashId}/feed/{type}
this would check against the feed urls we have configured in doofinder, e.g.: