Re: [問題] Lucene製作搜尋引擎"中文分詞"查詢問題?
我要你補的其實是
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
推
09/09 13:10, , 1F
09/09 13:10, 1F
→
09/09 13:12, , 2F
09/09 13:12, 2F
→
09/09 13:14, , 3F
09/09 13:14, 3F
→
09/09 13:19, , 4F
09/09 13:19, 4F
推
09/12 16:46, , 5F
09/12 16:46, 5F