I took this piece of code from your example, and it doesn't work.
Each time i run it it return different results and filter by class doesn't applied.
Lua Code:
local searchString = "Netherweave"
local minLevel = nil
local maxLevel = nil
local filtersArray = nil
local filterData = { classID = LE_ITEM_CLASS_CONTAINER, subClassID = nil, inventoryType = nil }
local sorts = { sortOrder = Enum.AuctionHouseSortOrder.Price, reverseSort = false }
local query = {};
query.searchString = searchString;
query.minLevel = minLevel;
query.maxLevel = maxLevel;
query.filters = filtersArray;
query.itemClassFilters = filterData;
query.sorts = sorts
C_AuctionHouse.SendBrowseQuery(query);