2011-05-02 06:33:05 +02:00
|
|
|
# FullTextSearch module
|
|
|
|
|
2017-11-15 04:09:37 +01:00
|
|
|
[![Build Status](http://img.shields.io/travis/silverstripe/silverstripe-fulltextsearch.svg?style=flat)](https://travis-ci.org/silverstripe/silverstripe-fulltextsearch)
|
|
|
|
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/silverstripe/silverstripe-fulltextsearch/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/silverstripe/silverstripe-fulltextsearch/?branch=master)
|
|
|
|
[![codecov](https://codecov.io/gh/silverstripe/silverstripe-fulltextsearch/branch/master/graph/badge.svg)](https://codecov.io/gh/silverstripe/silverstripe-fulltextsearch)
|
2013-03-29 10:10:08 +01:00
|
|
|
|
2013-02-12 21:48:26 +01:00
|
|
|
Adds support for fulltext search engines like Sphinx and Solr to SilverStripe CMS.
|
2011-05-02 06:33:05 +02:00
|
|
|
|
|
|
|
## Maintainer Contact
|
|
|
|
|
|
|
|
* Hamish Friedlander <hamish (at) silverstripe (dot) com>
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
2017-11-15 04:09:37 +01:00
|
|
|
* SilverStripe 4.0+
|
2012-08-23 17:49:32 +02:00
|
|
|
* (optional) [silverstripe-phockito](https://github.com/hafriedlander/silverstripe-phockito) (for testing)
|
2011-05-02 06:33:05 +02:00
|
|
|
|
2017-11-15 04:09:37 +01:00
|
|
|
**Note:** For SilverStripe 3.x, please use the [2.x release line](https://github.com/silverstripe/silverstripe-fulltextsearch/tree/2).
|
|
|
|
|
2011-05-02 06:33:05 +02:00
|
|
|
## Documentation
|
|
|
|
|
2013-02-12 23:02:04 +01:00
|
|
|
See docs/en/index.md
|
2011-05-02 06:33:05 +02:00
|
|
|
|
2015-11-19 04:55:50 +01:00
|
|
|
For details of updates, bugfixes, and features, please see the [changelog](CHANGELOG.md).
|
|
|
|
|
2011-05-02 06:33:05 +02:00
|
|
|
## TODO
|
|
|
|
|
2012-07-19 03:27:53 +02:00
|
|
|
* Get rid of includeSubclasses - isn't actually used in practice, makes the codebase uglier, and ClassHierarchy can be
|
2011-05-02 06:33:05 +02:00
|
|
|
used at query time for most of the same use cases
|
|
|
|
|
|
|
|
* Fix field referencing in queries. Should be able to do `$query->search('Text', 'Content')`, not
|
2017-11-20 22:51:32 +01:00
|
|
|
`$query->search('Text', SiteTree::class . '_Content')` like you have to do now
|
2011-05-02 06:33:05 +02:00
|
|
|
|
|
|
|
- Make sure that when field exists in multiple classes, searching against bare fields searches all of them
|
|
|
|
|
|
|
|
- Allow searching against specific instances too
|
|
|
|
|
|
|
|
* Make fields restrictable by class in an index - 'SiteTree#Content' to limit fields to a particular class,
|
|
|
|
maybe 'Content->Summary' to allow calling a specific method on the field object to get the text
|
|
|
|
|
|
|
|
* Allow following user relationships (Children.Foo for example)
|
|
|
|
|
|
|
|
* Be clearer about what happens with relationships to stateful objects (e.g. Parent.Foo where Parent is versioned)
|
|
|
|
|
|
|
|
* Improvements to SearchUpdater
|
|
|
|
|
|
|
|
- Make it work properly when in-between objects (the A in A.B.Foo) update
|
|
|
|
|
|
|
|
- Allow user logic to cause triggering reindex of documents when field is user generated
|
|
|
|
|
|
|
|
* Add sphinx connector
|
|
|
|
|
|
|
|
* Add generic APIs for spell correction, file text extraction and snippet generation
|
|
|
|
|
|
|
|
* Better docs
|