luceneutil的編寫,主要是對document2bean以及bean2document操作的封裝。寫的不完善,先學完lucene再說。
public class luceneutil catch (exception e)
} /**
* * @param obj 傳入的物件,用到反射將field存入索引庫
* @return doc物件
* @throws exception
*/public static document bean2document(object obj) throws exception
document.add(new org.apache.lucene.document.field(field.getname(), fieldvalue, store.yes, index.analyzed));//兩種field
} return document;
} /**
* * @param document
* @param clazz 返回的class
* @return
* @throws exception
*/public static object document2bean(document document,class clazz) throws exception
return obj;
} public static directory getdirectory()
public static version getversion()
public static analyzer getanalyzer()
public static maxfieldlength getmaxfieldlength()
}
lucene的增刪改查:
public class lucenecrud catch (exception e) }
public void updateindexdb(object obj) catch (exception e) }
public void deleteallindexdb() catch (exception e)
} public void deleteindexdb() catch (exception e) }
public void searchindexdb(string keyword)
} catch (exception e)
} @test
public void testadd()
@test
public void testdelete()
@test
public void testdeleteall()
@test
public void testsearch()
@test
public void testupdate()
}
分頁的初步實現:
public class lucenedaoimpl
system.out.println("第"+pageindex+"頁"+"每頁"+pagesize+"條");
}}}
Lucene全文搜尋工具分析
專案中都會有搜尋的功能,有些搜尋非常簡單,就是按照姓名查詢或者按著性別查詢。這樣的查詢我們會用到模糊查詢,也就是like。如果是兩個也就是用like 和or關鍵字。like關鍵字是非常影響效率的,這點我們可以從乙個生活中的例子來看就能夠知道。我們使用like關鍵字就好像是我們在查一本沒有目錄的字典,...
全文搜尋Lucene 之倒排演算法
size large 背景 size 關聯式資料庫不適合做全文搜尋 list like 效率很慢,建的索引將無效,查詢的時候會像翻書一樣一頁一頁的翻 當搜尋live的時候,也想把lives living搜出來,但是資料庫很難做到 list size large 倒排演算法 size lucene在國...
MySQL學習筆記 全文本搜尋
並非所有搜尋引擎都支援全文搜尋。最常用的兩個搜尋引擎myisam 支援全文搜尋 和innodb 不支援 將要全文本搜尋的列新增索引 在建立表時指定fulltext或者在已有資料表上立即索引。match 指定被搜尋的列,against 指定要搜尋的表示式 全文本搜尋在text列中包含 武漢 的行 se...