相关疑难解决方法(0)

Lucene和Lucene.Net的俄语分析器

Lucene对俄语的支持很差.

RussianAnalyzer(lucene-contrib的一部分)质量很差.

用于Snowball的RussianStemmer模块更糟糕.它不能识别Unicode字符串中的俄语文本,显然假设必须使用Unicode和KOI8-R的某些奇怪组合.

你知道更好的解决方案吗?

.net java lucene

15
推荐指数
2
解决办法
4360
查看次数

使用Apache Solr搜索名称

我只是冒险进入看似简单但非常复杂的搜索世界.对于应用程序,我需要构建一个搜索机制,以按名称搜索用户.

阅读了大量的帖子和文章,包括:

如何使用Lucene进行个人姓名(名字,姓氏)搜索?
http://dublincore.org/documents/1998/02/03/name-representation/
通过优先考虑用户关系来搜索社交网络的最佳方式是什么?
http://www.gossamer-threads.com/lists/lucene/java-user/120417
Lucene索引和查询设计问题 - 搜索人员
Lucene模糊搜索客户名称和部分地址

......以及其他一些我现在无法找到的人.在我的机器上进行至少索引和基本搜索工作我已经为用户搜索设计了以下方案:

1)具有第一,第二和第三名称字段并使用Solr对其进行索引
2)使用edismax作为多列搜索的requestParser
3)使用标准化过滤器的组合,例如:音译,拉丁语到ascii convesrion等
.4 )最后使用模糊搜索

很明显,对于这方面的新手,我不确定上述是否是最好的方法,并希望听到在这个领域比我更有想法的有经验的用户.

我需要能够通过以下方式匹配名称:

1)口音折叠:Jorn匹配Jörn,反之亦然
2)替代拼写:Karl匹配Carl,反之亦然
3)缩短陈述(我相信我使用SynonymFilterFactory):Sue匹配Susanne等
.4)Levenstein匹配:Jonn匹配John等
.5)Soundex匹配:Elin和Ellen

任何指导,批评或评论都是非常受欢迎的.如果可能的话请告诉我......或者我只是白日做梦.:)


编辑

我还必须补充一点,我也有一个全名字段,以防有些人有长名字,作为其中一个帖子的例子:Jon Paul或Del Carmen也应该匹配Jon Paul Del Carmen

由于这是一个新项目,我可以以任何我认为合适的方式修改架构和架构,因此限制非常有限.

lucene search solr fuzzy-search edismax

15
推荐指数
1
解决办法
8325
查看次数

如何比较JAVA中的不同语言字符串值?

在我的网络应用程序中,我使用两种不同的语言,即英语阿拉伯语.

我有一个搜索框,在我的web应用程序中,如果我们通过名称或名称的一部分进行搜索,那么它会通过比较检索DB值"故乡"的用户

说明:

就像如果一个用户属于故乡"加州",他搜索一个名字"维克多"然后我的查询将首先看到谁是具有人一样的故乡"加利福尼亚",并在人的名单谁拥有"加州"为家乡将搜索"Victor"*name*,并检索"California"作为其家乡的用户以及名称或部分名称中的" victor ".

问题是,如果家乡"加利福尼亚"保存英国会比较和检索值.但"加利福尼亚"将用阿拉伯语保存为"كاليفورنيا".在这种情况下,家乡比较失败,它无法检索值.

我希望我的查询应该找到两个相同的家乡并检索值.可能吗?

对于这种比较逻辑,我应该考虑什么样的替代方案.我很迷惑.有什么建议吗?

编辑: *我有一个想法,如果有家乡,那么可以使用谷歌翻译或音译,并将家乡改为另一种语言.如果是英语,那么阿拉伯语或者如果是英语,那么阿拉伯语,并给搜索结果加入两者.有什么建议吗?*

nlp cross-language

1
推荐指数
1
解决办法
2288
查看次数

标签 统计

lucene ×2

.net ×1

cross-language ×1

edismax ×1

fuzzy-search ×1

java ×1

nlp ×1

search ×1

solr ×1