gpt4 book ai didi

java - Mongodb查询匹配以空格分隔的单词

转载 作者:行者123 更新时间:2023-12-02 04:09:49 26 4
gpt4 key购买 nike

我正在使用 ajax、servlet 和 mongodb 实现自动完成功能。现在,我已经实现了一个似乎部分起作用的逻辑

示例:

在数据库中如果我有以下产品

 1. Xbox Amazon
2. Amazon xyz

当用户输入 ama 时,结果应包含这两种产品。但我只得到 Amazon xyz

这是我用java编写的逻辑,

        DBCollection products = db.getCollection("Products");
BasicDBObject dbObj = new BasicDBObject();
dbObj.put("modelName", Pattern.compile("^"+request.getParameter("startswith"),Pattern.CASE_INSENSITIVE));
DBCursor cursor = products.find(dbObj);

最佳答案

您可以根据您的情况使用 \b(字边界)代替 ^

dbObj.put("modelName",  Pattern.compile("\\b"+request.getParameter("startswith"),Pattern.CASE_INSENSITIVE));

这将允许您搜索不是字符串开头的单词,并且也不匹配包含ama作为一部分的字符串(例如:奥巴马未返回)

关于java - Mongodb查询匹配以空格分隔的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com