gpt4 book ai didi

java - Solr 字段搜索、通配符和转义字符

转载 作者:行者123 更新时间:2023-11-30 11:27:10 30 4
gpt4 key购买 nike

我在我的网络应用程序上使用 solr 来实现搜索功能。我在每个用户搜索的末尾附加一个“*”。因此,如果搜索是:foo 我将其更改为 filename:foo*

这很好用,只是连字符通常会包含在用户的搜索中。搜索 filename:foo-bar* 返回零结果,因为连字符删除了它后面的搜索词产生的任何搜索结果。我可以将其转义为 filename:foo\-bar* 但我仍然得到零结果。如果我尝试 filename:foo"-"* 搜索将返回所有文档。

关于如何让 -* 彼此友好相处有什么建议吗?

感谢帮助

最佳答案

根据我的经验,如果字符串中的任何其他内容被转义,我不得不转义通配符。这是为了让它起到通配符的作用;你会认为它会让它寻找角色本身,但它似乎不会。注意:在没有其他转义字符的情况下转义 * 似乎完全搜索字符 *,而不是将其用作通配符。

field:*and\/or* //would NOT perform a wildcarded search for "and/or"

field:\*and\/or\* //would perform wildcard search for and/or

需要明确的是,它们似乎是倒退的,但这在我的案例中是有效的。

关于java - Solr 字段搜索、通配符和转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19455574/

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