gpt4 book ai didi

java - Lucene WildcardQuery 以 token 开头和结尾

转载 作者:行者123 更新时间:2023-12-01 14:27:57 24 4
gpt4 key购买 nike

我想编写一个 Lucene WildcardQuery 并提到该字段应该以用于搜索的标记开始和结束。如果我在通配符查询中使用 ^box$ 作为模式,它将无法工作。

最佳答案

一种可能性是,如果这是典型情况,并且您不打算以全文形式查询此字段,则将其存储为 StringField,并使用简单的 进行查询>术语查询。这使得您正在寻找的查询变得简单。如果这符合您的需求,那就是理想的选择,因为在这里您只需设计索引即可最好地支持您的需求。

如果您确实需要在其他地方对该字段运行全文搜索,我建议您在该字段的开头(也可能是结尾)放置一个唯一的已知术语。使用 PhraseQuery 将使这个过程变得足够简单,可以实现。当然,在运行全文搜索的同一字段上运行这种样式的查询对我来说似乎是一个非常奇怪的用例。

另一种可能性是使用 SpanQueries,特别是 SpanFirstQuery ,类似:

SpanFirstQuery query = new SpanFirstQuery(new SpanTermQuery(new Term(field, "box")), 1);

关于java - Lucene WildcardQuery 以 token 开头和结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037372/

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