[Solved] Search Index when using search for customer/customer user

Moderator: crythias

Locked
Snowmanko
Znuny newbie
Posts: 71
Joined: 06 Mar 2015, 17:45
Znuny Version: 6.0.5-1

[Solved] Search Index when using search for customer/customer user

Post by Snowmanko »

Hi,
I just want to ask what setting define which fields are searched when searching is triggered within "Customer - Customer Information Center" from main menu. There are two possibilities for search - Customer and Customer User.

I want to set only one column in DB that is indexed to search for. We have really huge DB of Customers and searching non indexed fields totally kills DB backend.

I can see in DB trace when I start typing Customer name it triggers queries like this: (this queries run in parallel)

SELECT DISTINCT(customer_id) FROM customer_user WHERE 1 = 1 AND valid_id IN (1) AND ((customer_id LIKE '123%' ) )
SELECT DISTINCT(customer_id) FROM customer_user WHERE 1 = 1 AND valid_id IN (1) AND ((customer_id LIKE '1234%' ) )
SELECT DISTINCT(customer_id) FROM customer_user WHERE 1 = 1 AND valid_id IN (1) AND ((customer_id LIKE '12345%' ) )
SELECT DISTINCT(customer_id) FROM customer_user WHERE 1 = 1 AND valid_id IN (1) AND ((customer_id LIKE '123456%' ) )

This is total overkill for DB. Parameter CustomerID => in $Self->{CustomerUser} will change column in DISTINCT(...), that is correct. But is it possible to set somehow minimal number of characters in search input before it will trigger these queries?

Thanks,
BR!
Last edited by Snowmanko on 27 Jun 2019, 16:28, edited 1 time in total.
OTRS 6.0.3-1, MySQL
Locked