Improved search/indexing to search also renamed tags.
This commit is contained in:
parent
78cceb4685
commit
13ff0054b6
2 changed files with 74 additions and 3 deletions
|
@ -30,6 +30,7 @@ class ApplicationModel < ActiveRecord::Base
|
||||||
|
|
||||||
after_create :search_index_update
|
after_create :search_index_update
|
||||||
after_update :search_index_update
|
after_update :search_index_update
|
||||||
|
after_touch :search_index_update
|
||||||
after_destroy :search_index_destroy
|
after_destroy :search_index_destroy
|
||||||
|
|
||||||
before_destroy :recent_view_destroy
|
before_destroy :recent_view_destroy
|
||||||
|
|
|
@ -162,7 +162,12 @@ class ElasticsearchTest < ActiveSupport::TestCase
|
||||||
preferences: {},
|
preferences: {},
|
||||||
created_by_id: 1,
|
created_by_id: 1,
|
||||||
)
|
)
|
||||||
|
Tag.tag_add(
|
||||||
|
object: 'Ticket',
|
||||||
|
o_id: ticket1.id,
|
||||||
|
item: 'someTagA',
|
||||||
|
created_by_id: 1,
|
||||||
|
)
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
ticket2 = Ticket.create(
|
ticket2 = Ticket.create(
|
||||||
|
@ -188,7 +193,12 @@ class ElasticsearchTest < ActiveSupport::TestCase
|
||||||
updated_by_id: 1,
|
updated_by_id: 1,
|
||||||
created_by_id: 1,
|
created_by_id: 1,
|
||||||
)
|
)
|
||||||
|
Tag.tag_add(
|
||||||
|
object: 'Ticket',
|
||||||
|
o_id: ticket2.id,
|
||||||
|
item: 'someTagB',
|
||||||
|
created_by_id: 1,
|
||||||
|
)
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
ticket3 = Ticket.create(
|
ticket3 = Ticket.create(
|
||||||
|
@ -217,7 +227,7 @@ class ElasticsearchTest < ActiveSupport::TestCase
|
||||||
# execute background jobs
|
# execute background jobs
|
||||||
Scheduler.worker(true)
|
Scheduler.worker(true)
|
||||||
|
|
||||||
sleep 6
|
sleep 4
|
||||||
|
|
||||||
# search as agent
|
# search as agent
|
||||||
|
|
||||||
|
@ -325,6 +335,66 @@ class ElasticsearchTest < ActiveSupport::TestCase
|
||||||
assert(result[0], 'record 1')
|
assert(result[0], 'record 1')
|
||||||
assert(!result[1], 'record 2')
|
assert(!result[1], 'record 2')
|
||||||
assert_equal(result[0].id, ticket3.id)
|
assert_equal(result[0].id, ticket3.id)
|
||||||
|
|
||||||
|
# search for tags
|
||||||
|
result = Ticket.search(
|
||||||
|
current_user: agent,
|
||||||
|
query: 'tag:someTagA',
|
||||||
|
limit: 15,
|
||||||
|
)
|
||||||
|
assert(result[0], 'record 1')
|
||||||
|
assert(!result[1], 'record 1')
|
||||||
|
assert_equal(result[0].id, ticket1.id)
|
||||||
|
|
||||||
|
result = Ticket.search(
|
||||||
|
current_user: agent,
|
||||||
|
query: 'tag:someTagB',
|
||||||
|
limit: 15,
|
||||||
|
)
|
||||||
|
assert(result[0], 'record 2')
|
||||||
|
assert(!result[1], 'record 2')
|
||||||
|
assert_equal(result[0].id, ticket2.id)
|
||||||
|
|
||||||
|
# rename tag (e. g. via admin interface)
|
||||||
|
tag_item = Tag::Item.lookup(name: 'someTagA')
|
||||||
|
Tag::Item.rename(
|
||||||
|
id: tag_item.id,
|
||||||
|
name: 'someTagC',
|
||||||
|
updated_by_id: 1,
|
||||||
|
)
|
||||||
|
|
||||||
|
# execute background jobs
|
||||||
|
Scheduler.worker(true)
|
||||||
|
|
||||||
|
sleep 4
|
||||||
|
|
||||||
|
# search for tags
|
||||||
|
result = Ticket.search(
|
||||||
|
current_user: agent,
|
||||||
|
query: 'tag:someTagA',
|
||||||
|
limit: 15,
|
||||||
|
)
|
||||||
|
assert(!result[0], 'record 1')
|
||||||
|
assert(!result[1], 'record 1')
|
||||||
|
|
||||||
|
result = Ticket.search(
|
||||||
|
current_user: agent,
|
||||||
|
query: 'tag:someTagB',
|
||||||
|
limit: 15,
|
||||||
|
)
|
||||||
|
assert(result[0], 'record 2')
|
||||||
|
assert(!result[1], 'record 2')
|
||||||
|
assert_equal(result[0].id, ticket2.id)
|
||||||
|
|
||||||
|
result = Ticket.search(
|
||||||
|
current_user: agent,
|
||||||
|
query: 'tag:someTagC',
|
||||||
|
limit: 15,
|
||||||
|
)
|
||||||
|
assert(result[0], 'record 1')
|
||||||
|
assert(!result[1], 'record 1')
|
||||||
|
assert_equal(result[0].id, ticket1.id)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# check users and search it
|
# check users and search it
|
||||||
|
|
Loading…
Reference in a new issue