diff --git a/ee/elastic/docs/20240920154436_reindex_merge_requests_for_title_completion.yml b/ee/elastic/docs/20240920154436_reindex_merge_requests_for_title_completion.yml deleted file mode 100644 index 3c0945c5cac599066ba75d0b435306ce511ac1e0..0000000000000000000000000000000000000000 --- a/ee/elastic/docs/20240920154436_reindex_merge_requests_for_title_completion.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: ReindexMergeRequestsForTitleCompletion -version: '20240920154436' -description: Reindex merge requests for title completion -group: group::global search -milestone: '17.5' -introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/166751 -obsolete: false -marked_obsolete_by_url: -marked_obsolete_in_milestone: diff --git a/ee/elastic/docs/20241002103536_reindex_merge_requests_for_title_completion.yml b/ee/elastic/docs/20241002103536_reindex_merge_requests_for_title_completion.yml new file mode 100644 index 0000000000000000000000000000000000000000..17c3b84294f9ec95e471fd66cb5bd6369222f31a --- /dev/null +++ b/ee/elastic/docs/20241002103536_reindex_merge_requests_for_title_completion.yml @@ -0,0 +1,15 @@ +--- +name: ReindexMergeRequestsForTitleCompletion +version: '20241002103536' +description: Reindex merge requests for title completion +group: group::global search +milestone: '17.5' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167887 +obsolete: false +marked_obsolete_by_url: +marked_obsolete_in_milestone: +skippable: true +skip_condition: We implemented search_as_you_type for merge request title completion + https://gitlab.com/gitlab-org/gitlab/-/merge_requests/167432, but the production performance was not good. + We will remove the search_as_you_type field during the same milestone 17.5, so we can skip the reindexing for + self-managed instances. diff --git a/ee/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion.rb b/ee/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion.rb similarity index 68% rename from ee/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion.rb rename to ee/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion.rb index 051241344009cd44d29e8313810efa3cad9e897f..5006716d32b3021f91e98768e3c28a194db347dc 100644 --- a/ee/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion.rb +++ b/ee/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class ReindexMergeRequestsForTitleCompletion < Elastic::Migration - space_requirements! + skip_if -> { !Gitlab::Saas.feature_available?(:advanced_search) } def migrate Elastic::ReindexingTask.create!(targets: %w[MergeRequest], options: { skip_pending_migrations_check: true }) @@ -10,8 +10,4 @@ def migrate def completed? true end - - def space_required_bytes - 3 * helper.index_size_bytes(index_name: MergeRequest.index_name) - end end diff --git a/ee/lib/elastic/latest/config.rb b/ee/lib/elastic/latest/config.rb index 2605fdc20847f9f9559947e5672db853056281a9..1b00b652f574b1c9698a61204696d53d5db8a9b4 100644 --- a/ee/lib/elastic/latest/config.rb +++ b/ee/lib/elastic/latest/config.rb @@ -31,10 +31,6 @@ module Config tokenizer: 'standard', filter: %w[word_delimiter_graph_filter asciifolding lowercase stemmer flatten_graph remove_duplicates] }, - title_completion_analyzer: { - tokenizer: 'standard', - filter: %w[lowercase stop] - }, default: { tokenizer: 'standard', filter: %w[lowercase stemmer] diff --git a/ee/lib/elastic/latest/merge_request_config.rb b/ee/lib/elastic/latest/merge_request_config.rb index 2ecfdbffb20f362b7444bf4204bdb256ddf13f35..f3931a72884b3e175fe37db08e00636706168d29 100644 --- a/ee/lib/elastic/latest/merge_request_config.rb +++ b/ee/lib/elastic/latest/merge_request_config.rb @@ -21,8 +21,7 @@ module MergeRequestConfig indexes :id, type: :integer indexes :iid, type: :integer - indexes :title, type: :text, index_options: 'positions', analyzer: :title_analyzer, - fields: { completion: { type: :search_as_you_type, analyzer: :title_completion_analyzer } } + indexes :title, type: :text, index_options: 'positions', analyzer: :title_analyzer indexes :description, type: :text, index_options: 'positions', analyzer: :code_analyzer indexes :state, type: :keyword indexes :project_id, type: :integer diff --git a/ee/spec/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion_spec.rb b/ee/spec/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion_spec.rb similarity index 61% rename from ee/spec/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion_spec.rb rename to ee/spec/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion_spec.rb index 30a660a686df393f06d3355496042360bf3706e0..59f9d9c81f39df1241dcc4248c9fa1763133355a 100644 --- a/ee/spec/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion_spec.rb +++ b/ee/spec/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion_spec.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true require 'spec_helper' -require File.expand_path('ee/elastic/migrate/20240920154436_reindex_merge_requests_for_title_completion.rb') +require File.expand_path('ee/elastic/migrate/20241002103536_reindex_merge_requests_for_title_completion.rb') RSpec.describe ReindexMergeRequestsForTitleCompletion, feature_category: :global_search do - let(:version) { 20240920154436 } + let(:version) { 20241002103536 } let(:migration) { described_class.new(version) } it 'does not have migration options set', :aggregate_failures do @@ -26,18 +26,4 @@ expect(migration.completed?).to eq(true) end end - - describe '#space_required_bytes' do - let(:helper) { ::Gitlab::Elastic::Helper.default } - let(:space_required_bytes) { migration.space_required_bytes } - - before do - allow(::Gitlab::Elastic::Helper).to receive(:default).and_return(helper) - allow(helper).to receive(:index_size_bytes).with(index_name: MergeRequest.index_name).and_return(1_000) - end - - it 'returns space required' do - expect(space_required_bytes).to eq(3_000) - end - end end