作者ogamenewbie (._.)
看板java
标题Re: [问题] Lucene制作搜寻引擎"中文分词"查询问题?
时间Thu Sep 9 12:21:09 2010
我要你补的其实是
Lucene.Net is a source code,
class-per-class, API-per-API and algorithmatic
port of the Java Lucene search engine to the C# and .NET platform utilizing
Microsoft .NET Framework.
Lucene.Net sticks to the APIs and classes used in the original Java
implementation of Lucene. The API names as well as class names are preserved
with the intention of giving Lucene.Net the look and feel of the C# language
and the .NET Framework. For example, the method Hits.length() in the Java
implementation now reads Hits.Length() in the C# port.
In addition to the APIs and classes port to C#, the algorithm of Java Lucene
is ported to C# Lucene. This means
an index created with Java Lucene is
back-and-forth compatible with the C# Lucene; both at reading, writing and
updating. In fact a Lucene index can be concurrently searched and updated
using Java Lucene and C# Lucene processes.
要不然说实在的, 你用 C# 的语言, 背後参照的是 .Net 跟 C# 版的 Lib
要怎麽知道其实不是 C# 那一端的问题?
其次就是你采用的也是非 Java 官方的 lib,
也就代表所并非所有使用 Java 的人都会知道你在干麻,
或者有义务要去 google 你所采用的 .Net 版 lib 跟 Java 到底哪边有关?
我并不是要你把网友 (可能背後他有什麽道理) 推文覆述一遍
而是你自己要交代清楚你来这个板面问的意义是什麽,
为什麽从头尾你用的几乎都是 .Net 版的 API, .Net 版的 DOC
然後来 Java版 问为什麽我找不到资料? 这个是哪边有错?
你不觉得这会让人觉得很莫名奇妙嘛?
※ 引述《chengreg (想重回校园的工程师)》之铭言:
: 很抱歉造成贵版的困扰
: 由於本篇首发问於c++板
: 小弟是c++出身的...
: 由於目前公司使用c#开发
: 但由於技术上的开发须参考OpenSource
: 而OpenSource几乎都是JAVA的天下
: 当然小弟自行将Java code转写成 c++ or c# code
: 遇及这Lucene的问题
: 故有乡民建议转发此文至此,毕竟Lucene是Java原创
: 故希望有经验的前辈给予指导
: 很抱歉~
: 也谢谢贵版前辈给予指导
: 谢谢
: ※ 引述《chengreg (想重回校园的工程师)》之铭言:
: : 作者: chengreg (想重回校园的工程师) 看板: C_Sharp
: : 标题: [问题] Lucene制作搜寻引擎"中文分词"查询问题?
: : 时间: Wed Sep 8 23:29:47 2010
: : 作者: chengreg (想重回校园的工程师) 看板: C_and_CPP
: : 标题: [问题] Lucene制作搜寻引擎"中文分词"查询问题?
: : 时间: Wed Sep 8 14:43:55 2010
: : 小弟请教各位有经验的前辈:
: : 小弟目前利用Lucene.Net制作相关之搜寻引擎
: : 由於目前的搜寻引擎大多着重於速度方面,有关资料的精确度
: : 只要再容许范围内即可.
: : 但是小弟设计的搜寻精确度需求极高,所以之前用了Lucene
: : 所提供的 Analyzer (StandardAnalyzer)
: : 这是Lucene所提供之标准"断字"的分析器
: : 虽然可以很准确的查到资料,但是当超过500万笔全文资料
: : 速度必然相当慢...T_T
: : 为了提升查询的速度,不可避免的使用的中文的分词器
: : 小弟参考了部分中文分词器的SourceCode并自己改写成自己的Analyzer
: : 查询速度果然大幅度提升,500万笔搜寻出10万笔资料可以少於1秒
: : 看到这速度固然高兴,但进入精确测试阶段却发现了一个问题
: : 问题如下:
: : [原文] : 权利证明书
: : [搜寻条件] : 权利证明
: : 很抱歉~这样无法Hits到这篇原文!!!!????
: : OK~来分析一下一开始将这原文建立成index时Analyzer怎麽纪录的
: : [原文] :
: : 0-1 权利
: : 2-4 证明书
: : 2-3 证明
: : [搜寻条件] :
: : 0-1 权利
: : 2-3 证明
: : 如此Lucene在Search时无法比对到这篇文章
: : 小弟目前猜测:
: : 搜寻条件断出来的词,一定要符合原文断出来的词才可以命中,
: : 但是为何StartOffset - EndOffset 中 :
: : [0-1权利 2-3] 证明 却无法Hits [0-1 权利 2-4 证明书 2-3 证明] ??
: : 是否在Lucene.net 中的QueryParse里面有所其他设定或者其他分法来Search呢??
: : (基本上几乎把Lucene.Net DOC找翻了,脑袋还是无法解释这问题T__T)
: : 恳请各位前辈给予指导~小弟苦恼了好久 T___T
: : 再度谢谢各位前辈!!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.32.144
1F:推 chengreg:OK~基本上小弟只是想寻求是否贵版上有前辈遇过中文分词 09/09 13:10
2F:→ chengreg:是否在Java上也有遇到这分词问题,看样子还是造成贵版的困 09/09 13:12
3F:→ chengreg:扰,很抱歉~小弟将自行删除所有文章,sorry 09/09 13:14
4F:→ chengreg:BTW~小弟还是在寻求中文分词解决的方向,是否前辈有此经验 09/09 13:19
5F:推 mc18:可以用辞典去喂给断词引擎, 甚至一串从DB拉出来的词也可以^^ 09/12 16:46