在java中有没有其他方法来实现没有elasticsearch的搜索功能

vngu2lb8  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(228)

我是一个网络服务器端的新手开发人员。我已经为商店开发了一个应用程序来管理他们的订单。有个问题。我有一个订单表,如: orderId,orderNumber … 订单产品表 orderProductId, productId, productNumber, productName, productDescription. 我有一个搜索函数,它通过searchstring获取所有订单。api就像 Get /api/orders?productNumberSearch={searchStr}&productNameSearch={searchStr2}&productDescriptionSearch={searchStr3} 我的建议是

String queryStr1 = getParameterFromRequestWithDefault(“productNumberSearch”,”");
String queryStr2 = getParameterFromRequestWithDefault(“productNameSearch”,”");
String queryStr3 = getParameterFromRequestWithDefault(“productDescriptionSearch”,”");
List<OrderProduct> orderProducts = getAllOrderProductsFromDatabase();
List<Interger> filterOrderIds = orderProducts.stream().filter(item->{ 
    return item.getName().contains(queryStr1) && item.getNumber().contains(queryStr2) &&  item.getDescription().contains(queryStr3)
 }).collect(Collectors.toList());
List<Order> orders = getOrdersByIds(filterOrderIds);

我使用springmvc和mysql。以上代码适用。但是,如果有许多请求同时到达,则会引发内存不足异常。如果数据库中有汉字,mysql全文搜索效果不好?那么,有没有其他方法来实现没有ElasticSearch的搜索功能

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题