erikwang2013 / webman-scout
webman Scout provides a driver based solution to searching your Eloquent models.
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/erikwang2013/webman-scout
Requires
- php: ^8.0
- illuminate/bus: ^9.0|^10.0|^11.0|^12.0
- illuminate/contracts: ^9.0|^10.0|^11.0|^12.0
- illuminate/database: ^9.0|^10.0|^11.0|^12.0
- illuminate/http: ^9.0|^10.0|^11.0|^12.0
- illuminate/pagination: ^9.0|^10.0|^11.0|^12.0
- illuminate/queue: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
- symfony/console: ^6.0|^7.0
Requires (Dev)
- algolia/algoliasearch-client-php: ^3.2|^4.0
- meilisearch/meilisearch-php: ^1.0
- mockery/mockery: ^1.0
- orchestra/testbench: ^7.31|^8.36|^9.15|^10.8
- php-http/guzzle7-adapter: ^1.0
- phpstan/phpstan: ^1.10
- typesense/typesense-php: ^4.9.3
Suggests
- algolia/algoliasearch-client-php: Required to use the Algolia engine (^3.2).
- meilisearch/meilisearch-php: Required to use the Meilisearch engine (^1.0).
- typesense/typesense-php: Required to use the Typesense engine (^4.9).
Conflicts
- algolia/algoliasearch-client-php: <3.2.0|>=5.0.0
README
erikwang2013/webman-scout是基于laravel/scout并参考shopwwi/webman-scout做的兼容webman全文搜索。
由于shopwwi/webman-scout更新停止不前,业务上设计时间查询,数据聚合及使用开源的opensearch。只能自己开发一个,用于业务上对opensearch的支持,复杂查询,聚合查询等。
使用方法和shopwwi/webman-scout一样,只不过增加一些方法。 如下: whereRange(string $field, array $range, bool $inclusive = true);
whereGeoDistance(string $field, float $lat, float $lng, float $radius);
updateIndexMappings(string $index, array $mappings);
fulltextSearch(string $query, array $fields = [], array $options = []);
orderByVectorSimilarity(array $vector, ?string $vectorField = null);
addResultProcessor(callable $processor);
aggregate(string $name, string $type, string $field, array $options = []);
facet(string $field, array $options = []);
getAggregations();
getFacets();
getVectorSearch();
getAdvancedWheres();
getSorts();
getAggregationConfig();
getFacetConfig();
clearAdvancedConditions();