Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
0e37fddd
Commit
0e37fddd
authored
May 03, 2019
by
lain
Browse files
Search: Add fts index on objects table.
parent
027ded0d
Pipeline
#11395
failed with stages
in 2 minutes and 48 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
0e37fddd
...
...
@@ -61,6 +61,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-
Mastodon API: Added support max_id & since_id for bookmark timeline endpoints.
### Fixed
-
Added an FTS index on objects. Running
`vacuum analyze`
and setting a larger
`work_mem`
is recommended.
-
Followers counter not being updated when a follower is blocked
-
Deactivated users being able to request an access token
-
Limit on request body in rich media/relme parsers being ignored resulting in a possible memory leak
...
...
lib/mix/tasks/benchmark.ex
0 → 100644
View file @
0e37fddd
defmodule
Mix
.
Tasks
.
Pleroma
.
Benchmark
do
use
Mix
.
Task
alias
Mix
.
Tasks
.
Pleroma
.
Common
def
run
([
"search"
])
do
Common
.
start_pleroma
()
Benchee
.
run
(%{
"search"
=>
fn
->
Pleroma
.
Web
.
MastodonAPI
.
MastodonAPIController
.
status_search
(
nil
,
"cofe"
)
end
})
end
def
run
([
"tag"
])
do
Common
.
start_pleroma
()
Benchee
.
run
(%{
"tag"
=>
fn
->
%{
"type"
=>
"Create"
,
"tag"
=>
"cofe"
}
|>
Pleroma
.
Web
.
ActivityPub
.
ActivityPub
.
fetch_public_activities
()
end
})
end
end
mix.exs
View file @
0e37fddd
...
...
@@ -111,7 +111,8 @@ defp deps do
{
:prometheus_ecto
,
"~> 1.4"
},
{
:prometheus_process_collector
,
"~> 1.4"
},
{
:recon
,
github:
"ferd/recon"
,
tag:
"2.4.0"
},
{
:quack
,
"~> 0.1.1"
}
{
:quack
,
"~> 0.1.1"
},
{
:benchee
,
"~> 1.0"
,
only:
:dev
}
]
++
oauth_deps
end
...
...
mix.lock
View file @
0e37fddd
...
...
@@ -3,6 +3,7 @@
"auto_linker": {:git, "https://git.pleroma.social/pleroma/auto_linker.git", "c00c4e75b35367fa42c95ffd9b8c455bf9995829", [ref: "c00c4e75b35367fa42c95ffd9b8c455bf9995829"]},
"base64url": {:hex, :base64url, "0.0.1", "36a90125f5948e3afd7be97662a1504b934dd5dac78451ca6e9abf85a10286be", [:rebar], [], "hexpm"},
"bbcode": {:hex, :bbcode, "0.1.0", "400e618b640b635261611d7fb7f79d104917fc5b084aae371ab6b08477cb035b", [:mix], [{:nimble_parsec, "~> 0.5", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"},
"benchee": {:hex, :benchee, "1.0.1", "66b211f9bfd84bd97e6d1beaddf8fc2312aaabe192f776e8931cb0c16f53a521", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}], "hexpm"},
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm"},
"cachex": {:hex, :cachex, "3.0.2", "1351caa4e26e29f7d7ec1d29b53d6013f0447630bbf382b4fb5d5bad0209f203", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm"},
"calendar": {:hex, :calendar, "0.17.4", "22c5e8d98a4db9494396e5727108dffb820ee0d18fed4b0aa8ab76e4f5bc32f1", [:mix], [{:tzdata, "~> 0.5.8 or ~> 0.1.201603", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"},
...
...
@@ -17,6 +18,7 @@
"crypt": {:git, "https://github.com/msantos/crypt", "1f2b58927ab57e72910191a7ebaeff984382a1d3", [ref: "1f2b58927ab57e72910191a7ebaeff984382a1d3"]},
"db_connection": {:hex, :db_connection, "2.0.5", "ddb2ba6761a08b2bb9ca0e7d260e8f4dd39067426d835c24491a321b7f92a4da", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm"},
"decimal": {:hex, :decimal, "1.7.0", "30d6b52c88541f9a66637359ddf85016df9eb266170d53105f02e4a67e00c5aa", [:mix], [], "hexpm"},
"deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm"},
"earmark": {:hex, :earmark, "1.3.2", "b840562ea3d67795ffbb5bd88940b1bed0ed9fa32834915125ea7d02e35888a5", [:mix], [], "hexpm"},
"ecto": {:hex, :ecto, "3.0.7", "44dda84ac6b17bbbdeb8ac5dfef08b7da253b37a453c34ab1a98de7f7e5fec7f", [:mix], [{:decimal, "~> 1.6", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"},
"ecto_sql": {:hex, :ecto_sql, "3.0.5", "7e44172b4f7aca4469f38d7f6a3da394dbf43a1bcf0ca975e958cb957becd74e", [:mix], [{:db_connection, "~> 2.0", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.0.6", [hex: :ecto, repo: "hexpm", optional: false]}, {:mariaex, "~> 0.9.1", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.14.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.3.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm"},
...
...
priv/repo/migrations/20190501125843_add_fts_index_to_objects.exs
0 → 100644
View file @
0e37fddd
defmodule
Pleroma
.
Repo
.
Migrations
.
AddFTSIndexToObjects
do
use
Ecto
.
Migration
def
change
do
drop_if_exists
index
(
:activities
,
[
"(to_tsvector('english', data->'object'->>'content'))"
],
using:
:gin
,
name:
:activities_fts
)
create
index
(
:objects
,
[
"(to_tsvector('english', data->>'content'))"
],
using:
:gin
,
name:
:objects_fts
)
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment