我正在嘗試構建一個查詢來搜索具有名稱變體的名稱的Lucene索引。 索引是用Lucene.NET 2.9.2版建立的Lucene使用多個詞的接近搜索
用戶輸入例如「瑪格麗特白」。 沒有名稱變體選項,我的查詢變成「瑪格麗特白」〜1,它的工作原理。
現在,我可以查找名字變體對名字和姓氏來產生擴展列表。 例如。在這種情況下,(我只包括一些爲例,由於該表可以是100或更多,有時),我們可以有
瑪格麗特/ Margrett白/懷特
查詢「margrett白」〜1 OR「瑪格麗特白「〜1 OR」margrett whyte「〜1或」margaret whyte「〜1
給我正確的結果,但給出了100 x 100的變體組合,查詢字符串woudl很麻煩。
我試過各種方式來實現更緊湊的查詢,但似乎沒有任何工作。
任何人都可以給我任何指針或替代方法。我控制了索引創建過程,並想知道在那個階段我能做些什麼?
感謝您尋找 羅傑
至於到這個後續,我已根據[鏈接](HTTP現在實現了自定義分析: //www.codeproject.com/KB/cs/lucene_custom_analyzer.aspx),它將額外的名稱變體標記插入到標記流中。所以現在我的搜索會找到所有的變體。 我現在正在尋找方法,只添加同義詞,如果它在文檔上存在,以減少排列。我可以從自定義過濾器中訪問原始文本的唯一方法是訪問傳入分析器的TextReader - 讀取它以獲取文本將其帶到文本的末尾,無法「倒帶」然後讀取標記。 – RogerDodge