以下lucene.net過濾是我的架構在多個領域
PRODUCT_NAME(分析),類別(分析)
場景:
我要搜索的產品,其種類也正是「手機&附件」和PRODUCT_NAME是 「薩姆*」
等效SQL查詢
select * from products
where Product_Name like '%sam%' and Category='Cellphones & Accessories'
我正在使用lucene.net。
我需要等效的lucene.net
聲明。
以下lucene.net過濾是我的架構在多個領域
PRODUCT_NAME(分析),類別(分析)
場景:
我要搜索的產品,其種類也正是「手機&附件」和PRODUCT_NAME是 「薩姆*」
等效SQL查詢
select * from products
where Product_Name like '%sam%' and Category='Cellphones & Accessories'
我正在使用lucene.net。
我需要等效的lucene.net
聲明。
由於這是一個幾個月大,我會簡短的(如果你仍然有興趣,我可以擴大)...
如果你想有一個精確匹配的類別,然後不分析。分析儀會將字符串切分成可搜索的位。匹配的情況可能有問題,所以也許只有小寫分析器可以用於該領域。 以不同方式分析幾個字段以便可以使用不同的查詢可能會很有用。
注:「薩姆·」不等同於「%SAM%」
你想「薩姆」是一個前綴,即「樣品」或單詞「the SAM產品」? 如果是一個詞,那麼一個沒有停用詞的分析器應該沒問題。 一個不錯的訣竅是用名稱的變體創建許多字段(具有相同的名稱)。也許只是一個小寫分析
名稱:「一些小樣」
名稱:「小樣」
名稱」,‘產品’
再看看在‘前綴查詢’ 。(name:sam)的查詢將會匹配。
也可以看一下PerFieldAnalyzerWrapper,以便爲每個字段使用不同的分析器