亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種解決ApacheSolr短語搜索不準(zhǔn)的方法與流程

文檔序號:12825027閱讀:876來源:國知局
一種解決ApacheSolr短語搜索不準(zhǔn)的方法與流程

本發(fā)明涉及網(wǎng)絡(luò)搜索技術(shù)領(lǐng)域,確切地說是一種解決apachesolr短語搜索不準(zhǔn)的方法。



背景技術(shù):

apachesolr中有一種搜索語法叫“短語搜索”既phrasequery;短語搜索的語法為在關(guān)鍵詞上加上引號,搜索原理是引號內(nèi)的關(guān)鍵詞分詞后距離為指定的slop參數(shù)大小;但是在建索引時文檔分詞的結(jié)果會比搜索時對query分詞的結(jié)果更多,故會造成索引模式與搜索模式不匹配,從而導(dǎo)致“短語搜索”不準(zhǔn)確問題。

本發(fā)明提供了一種方法,在進(jìn)入apachesolr搜索操作之前,先將短語搜索語法中的關(guān)鍵詞按照索引模式分詞,然后替換原始的的短語搜索語句,最后進(jìn)入搜索操作。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是apachesolr在短語搜索時,因索引模式與搜索模式分詞結(jié)果不一致從而導(dǎo)致搜索不準(zhǔn)確的問題。

為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)手段:

一種解決apachesolr短語搜索不準(zhǔn)的方法;其特征在于:該方法包括如下步驟:

步驟1:數(shù)據(jù)接收,qparserplugin接收客戶端通過http協(xié)議傳輸過來的搜索語句參數(shù);

步驟2:短語查找,在qparserplugin中使用正則表達(dá)式匹配搜索語句參數(shù)中的短語,得到短語集合;

步驟3:數(shù)據(jù)分詞和替換,通過步驟2得到的短語集合中的短語進(jìn)行索引模式分詞;將分好詞的短語替換原始搜索語句中的短語;

步驟4:數(shù)據(jù)轉(zhuǎn)換,通過apachesolr的語法解析器將替換過的搜索語句轉(zhuǎn)成query;

步驟5:數(shù)據(jù)處理和輸出,進(jìn)入apachesolr的搜索過程,完成后輸出數(shù)據(jù)。

作為優(yōu)選,本發(fā)明更進(jìn)一步的技術(shù)方案是:

所述的短語查找,在parse方法中首先調(diào)用getstring方法得到搜索語句,然后使用匹配“加引號語句”的正則表達(dá)式去匹配搜索語句中的“短語搜索語句”。

所述的數(shù)據(jù)分詞和替換,調(diào)用分詞器按索引模式對匹配出來的短語分詞,最后將分詞后的語句替換原始的搜索語句。

所述的數(shù)據(jù)轉(zhuǎn)換apachesolr的語法解析器,編寫antfactqparserplugin類,且繼承apachesolr的qparserplugin并重寫createparser方法,返回值為antfactqparser類型。

所述的數(shù)據(jù)轉(zhuǎn)換apachesolr的語法解析器最后轉(zhuǎn)換數(shù)據(jù)為solrconfig.xml配置文件中配置<queryparser>,class為antfactqparserplugin;這樣可以動態(tài)靈活的配置自定義的queryparser。

本發(fā)明采用插件的方式擴(kuò)展apachesolr的語法解析器,重寫其語法解析規(guī)則,解決了短語搜索不準(zhǔn)的問題。設(shè)置了可插拔式的語法解析器擴(kuò)展插件;采用索引模式對短語進(jìn)行索引模式分詞后再搜索。

一、編寫antfactqparser類,且繼承apachesolr的luceneqparser類并重寫parse方法;在parse方法中首先調(diào)用getstring方法得到搜索語句,然后使用匹配“加引號語句”的正則表達(dá)式去匹配搜索語句中的“短語搜索語句”,然后調(diào)用分詞器按索引模式對匹配出來的短語分詞,最后將分詞后的語句替換原始的搜索語句;這樣既不影響原來apachesolr的luceneqparser的功能,又可以根據(jù)需求自定義語法解析規(guī)則;

二、編寫antfactqparserplugin類,且繼承apachesolr的qparserplugin并重寫createparser方法,返回值為antfactqparser類型;最后在solrconfig.xml配置文件中配置<queryparser>,class為antfactqparserplugin;這樣可以動態(tài)靈活的配置自定義的queryparser。

附圖說明

圖1為本發(fā)明的一種解決apachesolr短語搜索不準(zhǔn)的方法流程圖。

圖2為本發(fā)明的一種解決apachesolr短語搜索不準(zhǔn)的方法結(jié)構(gòu)框圖。

具體實(shí)施方式

下面結(jié)合實(shí)施例,進(jìn)一步說明本發(fā)明。

具體實(shí)施例1:

參見圖1、圖2可知,本發(fā)明一種解決apachesolr短語搜索不準(zhǔn)的方法;其特征在于:該方法包括如下步驟:步驟1:數(shù)據(jù)接收,qparserplugin接收客戶端通過http協(xié)議傳輸過來的搜索語句參數(shù);步驟2:短語查找,在qparserplugin中使用正則表達(dá)式匹配搜索語句參數(shù)中的短語,得到短語集合;在parse方法中首先調(diào)用getstring方法得到搜索語句,然后使用匹配“加引號語句”的正則表達(dá)式去匹配搜索語句中的“短語搜索語句”,步驟3:數(shù)據(jù)分詞和替換,通過步驟2得到的短語集合中的短語進(jìn)行索引模式分詞;將分好詞的短語替換原始搜索語句中的短語;調(diào)用分詞器按索引模式對匹配出來的短語分詞,最后將分詞后的語句替換原始的搜索語句,步驟4:數(shù)據(jù)轉(zhuǎn)換,通過apachesolr的語法解析器將替換過的搜索語句轉(zhuǎn)成query;數(shù)據(jù)轉(zhuǎn)換apachesolr的語法解析器,編寫antfactqparserplugin類,且繼承apachesolr的qparserplugin并重寫createparser方法,返回值為antfactqparser類型,數(shù)據(jù)轉(zhuǎn)換apachesolr的語法解析器最后轉(zhuǎn)換數(shù)據(jù)為solrconfig.xml配置文件中配置<queryparser>,class為antfactqparserplugin;這樣可以動態(tài)靈活的配置自定義的queryparser,步驟5:數(shù)據(jù)處理和輸出,進(jìn)入apachesolr的搜索過程,完成后輸出數(shù)據(jù)。

具體實(shí)施例2:

1、第一步,qparserplugin接收客戶端通過http協(xié)議傳輸過來的搜索語句參數(shù);

2、第二步,在qparserplugin中使用正則表達(dá)式匹配搜索語句參數(shù)中的短語,得到短語集合;

3、第三步,遍歷短語集合中的短語進(jìn)行索引模式分詞;

4、第四步,將分好詞的短語替換原始搜索語句中的短語;

5、第五步,apachesolr的語法解析器將替換過的搜索語句轉(zhuǎn)成query。

6、第六步,進(jìn)入apachesolr的搜索過程;

由于以上所述僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)不限于此,任何本技術(shù)領(lǐng)域的技術(shù)人員所能想到本技術(shù)方案技術(shù)特征的等同的變化或替代,都涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。



技術(shù)特征:

技術(shù)總結(jié)
本發(fā)明公開了一種解決ApacheSolr短語搜索不準(zhǔn)的方法;其特征在于:該方法包括如下步驟:數(shù)據(jù)接收,QParserPlugin接收客戶端通過http協(xié)議傳輸過來的搜索語句參數(shù);短語查找,在QParserPlugin中使用正則表達(dá)式匹配搜索語句參數(shù)中的短語,得到短語集合;數(shù)據(jù)分詞和替換,通過步驟2得到的短語集合中的短語進(jìn)行索引模式分詞;將分好詞的短語替換原始搜索語句中的短語;數(shù)據(jù)轉(zhuǎn)換,通過Apache?Solr的語法解析器將替換過的搜索語句轉(zhuǎn)成Query;數(shù)據(jù)處理和輸出,進(jìn)入Apache?Solr的搜索過程,完成后輸出數(shù)據(jù)。本發(fā)明采用插件的方式擴(kuò)展Apache?Solr的語法解析器,重寫其語法解析規(guī)則,解決了短語搜索不準(zhǔn)的問題。設(shè)置了可插拔式的語法解析器擴(kuò)展插件;采用索引模式對短語進(jìn)行索引模式分詞后再搜索。

技術(shù)研發(fā)人員:何小成;黃三偉
受保護(hù)的技術(shù)使用者:湖南蟻坊軟件股份有限公司
技術(shù)研發(fā)日:2017.03.01
技術(shù)公布日:2017.07.07
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1