Orzu Ionut
30a838d29e
|
3 years ago | |
---|---|---|
app | 3 years ago | |
bootstrap | 3 years ago | |
config | 3 years ago | |
database | 3 years ago | |
demo-cli | 3 years ago | |
public | 3 years ago | |
resources | 3 years ago | |
routes | 3 years ago | |
storage | 3 years ago | |
tests | 3 years ago | |
.editorconfig | 3 years ago | |
.env.example | 3 years ago | |
.gitattributes | 3 years ago | |
.gitignore | 3 years ago | |
.styleci.yml | 3 years ago | |
README.md | 3 years ago | |
artisan | 3 years ago | |
composer.json | 3 years ago | |
composer.lock | 3 years ago | |
package-lock.json | 3 years ago | |
package.json | 3 years ago | |
phpunit.xml | 3 years ago | |
run-dev.sh | 3 years ago | |
server.php | 3 years ago | |
tsconfig.json | 3 years ago | |
webpack.mix.js | 3 years ago |
README.md
Search and Displace Core
Install
- Create the
.env
file by copying the contents from the.env.example
file.
cp .env.example .env
- Generate the app key by running the following command:
php artisan key:generate
-
Install the 'sqlite' driver for your PHP version if it is not already installed.
-
For the 'QUEUE_CONNECTION' variable in
.env
you can use eithersync
orredis
(recommended). If you choose to useredis
then you need to make sure that it is installed on your machine.
apt update
apt install redis-server
-
Install the
Search and Displace Ingest
app, found here https://git.law/newroco/searchanddisplace-ingest -
Get the URL of the
Search and Displace Ingest
app and add it to theSD_INGEST_URL
variable in.env
-
Add in
.env
theWEBHOOK_CLIENT_SECRET
value which needs to be the same value as theWEBHOOK_CORE_SECRET
in theSearch and Displace Ingest
app.env
file -
Add in
.env
theSD_DUCKLING_URL
value which by default ishttp://0.0.0.0:8000/parse
. You can find details about installing Facebook Duckling in a section below. -
Install composer
-
Install composer dependencies
composer install
- Install NodeJS and npm
- Install npm dependencies
npm install
- Compile frontend assets
npm run dev
or npm run watch
if you want to run a watcher
-
Migrate DB tables
-
php artisan migrate
Facebook Duckling
$ apt-get install libpcre3-dev
$ cd ..
$ git clone https://github.com/facebook/duckling.git && cd duckling
$ curl -sSL https://get.haskellstack.org/ | sh
$ stack build && stack exec duckling-example-exe
$ stack test
Converting documents from MD to ODT
$ apt-get install pandoc
Searchers
There are 2 types of searchers: basic and compounded
Basic searcher
There are 2 types of basic searchers: native and custom
Native basic searcher
This type of searchers are added by default in the app and cannot be edited or deleted.
- Amount of Money
- Credit Card Number
- Distance
- Duration
- Numeral
- Ordinal
- Phone Numbers
- Quantity
- Temperature
- Time
- Url
- Volume
Custom basic searcher
You can add a custom basic searcher by clicking the 'Add regex' button found in the navbar.
This searcher is a regular expression.
Example: [d\]{4}-[d\]{3}-[d\]{3}
searches, in the document, all text strings that
have 4 digits, a dash, 3 digits, a dash, and finally 3 digits; 1234-123-123 is a valid text.
Compounded searcher
A compounded searcher contains one or more searchers, which can be either basic or comopounded.
The searchers can be listed in two ways: in rows and in columns. Each column in a row extends the searching criteria and each row filters the results of the previous row.
Let's take as an example the following searcher: the first row has 2 searchers, in the first column we have the 'Email' native basic searcher and in the second column we have a custom basic searcher which searches for text strings that have a leading '#' character. The second rows has only one column and that column has a custom basic searcher which searches for text strings which contain the '@' character. After we execute the Search&Displace the first row of the searcher will be applied on the initial document content and will find all email addresses and all text strings which have a leading '#' character, so the operation applies the searchers in the first row independently, each column extending the searching criteria. Then the second row will be applied on the results of the first row, so on the email addresses and the text strings which have a leading '#' character, basically each row filters the results of the previous row.
Demo Version
Is available here https://demo.searchanddisplace.com/ No authentication is required.
Demo Steps
- Select and upload a document file (supported files: .docx, .pdf, .odt, .txt)
- After the file is uploaded and processed you will see it's contents on the page
- Select searchers by clicking the 'List' button on the right, for each searcher you can input a replace value, so for example if you select the 'Email' searcher and input the replace value as 'EMAIL' then all email addresses which are found in the document will be replaced with the text EMAIL
- After you are done with the searchers selection you can hide the panel by clicking again on the 'List' button
- You can execute the Search&Displace by clicking on the 'Run filters' button
- After the processing is done you will see the resulting document in the right panel, side by side with the initial document
- You can highlight the found and replaced items by toggling the 'Highlight differences' button