gpt4 book ai didi

lucene - 使用 Hibernate Search (Lucene),我需要能够搜索带或不带破折号的代码

转载 作者:行者123 更新时间:2023-12-04 06:19:22 28 4
gpt4 key购买 nike

这实际上与社会保障 # 相同。

如果我有这种格式的代码:

WHO-S-09-0003

我希望能够做到:
query = qb.keyword().onFields("key").matching("WHOS090003").createQuery();

我尝试使用 WhitespaceAnalyzer。

最佳答案

使用 StandardAnalyzer 或 WhitespaceAnalyzer 都有同样的问题。他们将按原样索引“WHO-S-09-0003”,这意味着当您进行搜索时,它仅在搜索词中有连字符时才有效。
解决您的问题的一种方法是实现您自己的 TokenFilter,它会检测您的代码格式并在索引期间删除连字符。您可以使用 AnayzerDef 构建一系列 toekn 过滤器和一个整体自定义分析器。当然,您在搜索时必须使用相同的分析器,但 Hibernate Search 查询 DSL 会处理这些。

关于lucene - 使用 Hibernate Search (Lucene),我需要能够搜索带或不带破折号的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798603/

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