首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate搜索不区分大小写的搜索与LowerCaseFilterFactory不相关。

hibernate搜索不区分大小写的搜索与LowerCaseFilterFactory不相关。
EN

Stack Overflow用户
提问于 2017-09-19 16:35:32
回答 2查看 462关注 0票数 0

我有以下关于hibernate搜索的信息:

代码语言:javascript
复制
@AnalyzerDef(name = "autocompleteNGramAnalyzer",

// Split input into tokens according to tokenizer
        tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),

        filters = {
                // Normalize token text to lowercase, as the user is unlikely to
                // care about casing when searching for matches
                @TokenFilterDef(factory = WordDelimiterFilterFactory.class,
                        params = @Parameter(name = "catenateAll", value = "1")),
                @TokenFilterDef(factory = LowerCaseFilterFactory.class),
                @TokenFilterDef(factory = EdgeNGramFilterFactory.class, params = {
                        @Parameter(name = "minGramSize", value = "2"),
                        @Parameter(name = "maxGramSize", value = "5")})})

这种行为真的很奇怪。

我有值为George Cain的字段

如果我按Ge搜索-它返回值

如果我按GeO搜索-它返回值

如果我用GeOR搜索-它不返回任何东西

如果我按GeoR搜索-它返回值

如果我按GEOR搜索-它返回值

GeOR有什么不好?我怎么才能解决这个问题?

可以调试这个框架吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-20 08:04:56

我定制了WordDelimiterFilterFactory,现在可以这样做了:

代码语言:javascript
复制
 @TokenFilterDef(factory = WordDelimiterFilterFactory.class,
                        params = {
                                @Parameter(name = "catenateAll", value = "1"),
                                @Parameter(name = "generateWordParts", value = "0")})//generateWordParts = 1 by default
票数 0
EN

Stack Overflow用户

发布于 2017-09-19 16:57:45

首先,尝试使用路克查看Lucene索引中已索引的内容:https://github.com/DmitryKey/luke/releases。您将能够看到令牌,这可能会帮助您了解正在发生的事情。

确保在您的字段上正确地定义了分析器,并且也将分析器应用于您的查询(可能是向我们展示如何定义您的字段和如何执行您的查询的一个好主意)。

如果您最终认为这是一个bug,您可以使用我们的https://github.com/hibernate/hibernate-test-case-templates/tree/master/search/hibernate-search-lucene为我们提供一个自包含的测试用例,以便我们可以查看。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46305598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档