gpt4 book ai didi

java - 使用 Unicode 字符进行 Lucene 搜索

转载 作者:行者123 更新时间:2023-12-02 08:31:05 25 4
gpt4 key购买 nike

我已经对一些文本的数据库建立了索引,并且数据库文本采用 Unicode 编码。当我使用 Lucene 搜索搜索英语单词时,一切正常。但是,当我使用像“Tuœ”这样的非英语查询时,它会给出以下异常:

Exception in thread "main" org.apache.lucene.queryParser.ParseException: Cannot parse '??': '*' or '?' not allowed as the first character in WildcardQuery
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:187)
at Search.main(Search.java:151)
Caused by: org.apache.lucene.queryParser.ParseException: '*' or '?' not allowed as first character in WildcardQuery
at org.apache.lucene.queryParser.QueryParser.getWildcardQuery(QueryParser.java:923)
at org.apache.lucene.queryParser.QueryParser.Term(QueryParser.java:1347)
at org.apache.lucene.queryParser.QueryParser.Clause(QueryParser.java:1250)
at org.apache.lucene.queryParser.QueryParser.Query(QueryParser.java:1178)
at org.apache.lucene.queryParser.QueryParser.TopLevelQuery(QueryParser.java:1167)
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:182)
... 1 more

我应该做什么?

谢谢。

最佳答案

这里有两点 -

  • 源文件 (*.java) 的编码类型是什么。确保它是 UTF-8
  • Java 的默认编码可能不是 utf8。确保指定编码,例如:

    InputStreamReader( new FileInputStream(filename), "UTF-8");`

关于java - 使用 Unicode 字符进行 Lucene 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3347112/

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