国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      搜索引擎查詢串的生成方法和裝置以及搜索引擎系統(tǒng)的制作方法

      文檔序號:6504588閱讀:185來源:國知局
      搜索引擎查詢串的生成方法和裝置以及搜索引擎系統(tǒng)的制作方法
      【專利摘要】本申請涉及搜索引擎查詢串的生成方法和裝置以及搜索引擎系統(tǒng)。所述方法包括:根據(jù)接收到的用戶查詢請求生成基本查詢串;基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;以及將所述多個查詢子串拼接以生成所述搜索引擎查詢串。根據(jù)本申請的技術(shù)方案,能夠動態(tài)地生成搜索引擎查詢串,當(dāng)需要修改或維護時,只需要修改配置文件中的配置參數(shù),就可以容易實現(xiàn)。不僅提高了引擎查詢性能和降低了引擎維護成本,而且使得避免外部對搜索引擎的惡意操作。
      【專利說明】搜索引擎查詢串的生成方法和裝置以及搜索引擎系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001 ] 本申請涉及數(shù)據(jù)處理領(lǐng)域,具體地涉及搜索引擎查詢串的生成方法和裝置以及搜索引擎系統(tǒng)。

      【背景技術(shù)】
      [0002]隨著搜索經(jīng)濟的崛起,人們越來越關(guān)注全球各大搜索引擎的性能、技術(shù)和日流量等特性,因此搜索引擎的瓶頸以及性能提升逐步成為目前的研究熱點。
      [0003]在某些搜索引擎(如垂直搜索引擎)中,用戶向搜索引擎提交查詢時,用戶向搜索引擎提交查詢關(guān)鍵詞(即自然語言,例如MP3)。而搜索引擎內(nèi)部進行搜索時只接受或識別特定格式的查詢串(即,機器語言),例如,q= [MP3] OR [MP3錄音筆]AND [MP3耳機]&f ilter: customer_id=54321&sorttype: +update_time&count=12。因此,需要對用戶的查詢關(guān)鍵詞進行相應(yīng)處理以生成搜索引擎內(nèi)部可識別的搜索引擎查詢串。
      [0004]目前大多數(shù)搜索引擎是通過其前端系統(tǒng)事先根據(jù)不同Pid(應(yīng)用類型或業(yè)務(wù)類型)的查詢串邏輯生成相應(yīng)的模板,然后在實際應(yīng)用中套用與輸入的查詢關(guān)鍵詞相關(guān)的Pid所對應(yīng)的模板來生成搜索引擎查詢串。這里需要說明的是,Pid用于標識搜索的應(yīng)用類型,一般對應(yīng)于一種業(yè)務(wù)線。
      [0005]目前這種方式存在如下缺點:
      [0006](I)為了保證滿足各種業(yè)務(wù)需求,這種與業(yè)務(wù)類型對應(yīng)的模板的數(shù)量通常很大,當(dāng)需要修改或維護時,往往不能隨應(yīng)用需求的變更或引擎接口的變更而快速響應(yīng),不利于維護且維護成本也很高。
      [0007](2)由于在搜索引擎的前端完成搜索引擎查詢串的生成,且搜索引擎查詢串往往比較冗長復(fù)雜,所以搜索引擎的前端與后端之間交互復(fù)雜且不友好。另外,由于使用模板生成搜索引擎查詢串,所以對外接口可擴展性差。此外,引擎對外暴露內(nèi)部查詢語法,容易讓不法或誤操作的使用方對弓I擎造成惡意或誤攻擊。


      【發(fā)明內(nèi)容】

      [0008]針對上述問題,本申請的主要目的在于提供一種能夠自動或動態(tài)地生成搜索引擎查詢串的技術(shù),以提高引擎查詢性能和降低引擎維護成本,并使得避免外部對搜索引擎的惡意操作。
      [0009]根據(jù)本申請的一個方面的實施例,提供一種搜索引擎查詢串的生成方法,包括:根據(jù)接收到的用戶查詢請求生成基本查詢串;基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;以及將所述多個查詢子串拼接以生成所述搜索引擎查詢串。
      [0010]根據(jù)本申請的實施例,該方法中,所述公共邏輯和接口邏輯可以按照如下方式配置的:將針對各種應(yīng)用類型的搜索引擎查詢串生成邏輯中的所有處理按照功能劃分成多個處理模塊;以及針對所述多個處理模塊,配置對于各應(yīng)用類型共有的公共邏輯和各應(yīng)用類型特有的相應(yīng)接口邏輯。
      [0011]根據(jù)本申請的實施例,該方法中,所述基本查詢串可以包括用戶搜索詞和所涉及的應(yīng)用類型。
      [0012]根據(jù)本申請的實施例,該方法中,將所述多個查詢子串拼接以生成所述搜索引擎查詢串的步驟中,可以使用分隔符將所述多個查詢子串進行拼接以生成所述搜索引擎查詢串O
      [0013]根據(jù)本申請的實施例,該方法中,所述接口邏輯可以被配置為包括與應(yīng)用類型對應(yīng)的條件邏輯和與條件邏輯對應(yīng)的動作邏輯。
      [0014]根據(jù)本申請的實施例,該方法中,基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串的步驟可以進一步包括:查找與基本查詢串中的應(yīng)用類型參數(shù)對應(yīng)的條件邏輯,從而查找到與該條件邏輯對應(yīng)的動作邏輯;以及根據(jù)查找到的動作邏輯,調(diào)用并執(zhí)行相關(guān)處理模塊的接口邏輯部分和公共邏輯部分,從而生成與相關(guān)處理模塊分別對應(yīng)的各個查詢子串。
      [0015]根據(jù)本申請的另一方面的實施例,提供一種搜索引擎查詢串的生成裝置,其特征在于,包括:基本查詢串生成模塊,用于根據(jù)接收到的用戶查詢請求生成基本查詢串;查詢子串生成模塊,用于基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;以及拼接模塊,用于將所述多個查詢子串拼接以生成所述搜索引擎查詢串。
      [0016]根據(jù)本申請的又一方面的實施例,提供一種搜索引擎系統(tǒng),其特征在于,包括:前端模塊,用于根據(jù)接收到的用戶查詢請求生成基本查詢串;查詢串重寫模塊,用于:基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;和將所述多個查詢子串拼接以生成所述搜索引擎查詢串;以及搜索模塊,用于根據(jù)所述搜索引擎查詢串搜索相關(guān)內(nèi)容。
      [0017]根據(jù)本申請的技術(shù)方案,能夠動態(tài)地生成搜索引擎查詢串,而無需套用和維護大量模板。當(dāng)需要修改或維護時,只需要修改配置文件中的配置參數(shù),就可以容易實現(xiàn)。不僅提高了引擎查詢性能和降低了引擎維護成本,而且使得避免外部對搜索引擎的惡意操作。

      【專利附圖】

      【附圖說明】
      [0018]此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
      [0019]圖1示出根據(jù)本申請一個實施例的搜索引擎查詢串的生成方法的流程圖;
      [0020]圖2示出根據(jù)本申請一個實施例的配置文件的示意結(jié)構(gòu)圖;
      [0021]圖3示出根據(jù)本申請一個實施例的生成各個查詢子串的方法的流程圖;
      [0022]圖4示出根據(jù)本申請一個實施例的搜索引擎查詢串的生成裝置的示意性結(jié)構(gòu)框圖;以及
      [0023]圖5示出根據(jù)本申請一個實施例的搜索引擎系統(tǒng)的示意性結(jié)構(gòu)框圖。

      【具體實施方式】
      [0024]本申請的主要思想在于,將搜索引擎中各種應(yīng)用類型的搜索引擎查詢串生成邏輯按照諸如功能之類的某種規(guī)則劃分成各個處理模塊,并且根據(jù)各個處理模塊共有的處理邏輯來配置公共邏輯配置文件,并根據(jù)各個處理模塊特有的處理邏輯來針對各個應(yīng)用類型配置相應(yīng)的接口邏輯配置文件。在實際使用時,根據(jù)所配置的公共邏輯和接口邏輯配置文件執(zhí)行相關(guān)處理模塊的處理來生成相應(yīng)的各個查詢子串,然后將這些查詢子串拼接在一起來形成符合搜索引擎查詢語法(或適用于搜索引擎內(nèi)部使用)的搜索引擎查詢串。由此使得引擎對外提供的接口是一個可靈活修改的配置文件,從而可以動態(tài)地生成搜索引擎查詢串,便于引擎的維護并且降低引擎維護成本。
      [0025]為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進行清楚、完整的描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
      [0026]參考圖1,圖1示出根據(jù)本申請一個實施例的搜索引擎查詢串的生成方法的流程圖。
      [0027]本申請的技術(shù)場景可以是:用戶通過在搜索引擎提供的用戶界面中輸入搜索詞來發(fā)起用戶查詢請求。然而用戶的查詢請求不能被搜索引擎直接使用并進行搜索,在搜索引擎搜索前,需要對用戶的查詢請求進行預(yù)處理以使得符合搜索引擎查詢語法,以便搜索引擎識別,并且使得搜索效率高且搜索結(jié)果更好地滿足用戶需求。經(jīng)這種預(yù)處理后的結(jié)果即為搜索引擎查詢串,本實施例即描述如何動態(tài)生成搜索引擎查詢串。
      [0028]根據(jù)本申請的搜索引擎查詢串生成機制,既可以在搜索引擎的前端系統(tǒng)中執(zhí)行,也可以在搜索引擎的后端系統(tǒng)中的查詢串重寫模塊中執(zhí)行,下面結(jié)合圖1進行具體描述。
      [0029]如圖1所示,在步驟SllO處,根據(jù)接收到的用戶查詢請求生成基本查詢串。
      [0030]如前面所述,用戶可以在搜索引擎(例如其前端系統(tǒng)/前端模塊)提供的用戶界面中(例如,搜索頁面的搜索欄中)輸入搜索詞來發(fā)起用戶查詢請求。然后,搜索引擎(例如其前端系統(tǒng)/前端模塊)可以根據(jù)該用戶查詢請求生成可由搜索引擎識別和處理的基本查詢串O
      [0031]該基本查詢串可以包括與用戶查詢請求相關(guān)的若干信息。根據(jù)本申請的一個實施例,該基本查詢串可以包括用戶搜索詞以及所涉及的應(yīng)用類型。例如“query=MP3&pid=819025”表示使用標識碼為“819025”的應(yīng)用接口,搜索所有帶“MP3”的商家或商品。
      [0032]具體而言,搜索引擎可以根據(jù)用戶查詢請求中包含的搜索詞或語句,通過分詞處理等來確定用戶搜索詞或搜索關(guān)鍵詞。
      [0033]另外,搜索引擎可以根據(jù)用戶查詢請求所針對的業(yè)務(wù)種類來確定所涉及的應(yīng)用類型。一般,用戶的查詢位置及查詢選項決定了搜索對應(yīng)的應(yīng)用類型。例如用戶在甲網(wǎng)站中首頁的搜索位置選擇“商鋪”標簽,輸入關(guān)鍵詞,并發(fā)起查詢,則其查詢的應(yīng)用類型為“在甲網(wǎng)站全網(wǎng)搜索商鋪”;若用戶選擇“商品”標簽,則應(yīng)用類型為“在甲網(wǎng)站全網(wǎng)搜索商品”;若用戶選擇“MP3下載”標簽,則應(yīng)用類型為“在甲網(wǎng)站搜索可下載的MP3文件”。在搜索引擎內(nèi)部,應(yīng)用類型可以用參數(shù)Pid表示,每一個應(yīng)用類型通常事先被賦予特定的值例如特定格式的數(shù)字序列(例如819175_1008)等等。
      [0034]在其它實施例中,該基本查詢串還可以包括用戶IP地址等等其它與用戶查詢請求相關(guān)的信息。
      [0035]這里需要指出的是,上述基本查詢串的內(nèi)容可以根據(jù)實際應(yīng)用需要來調(diào)整,而不限于上述示例。
      [0036]在步驟S120處,基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串。
      [0037]具體而言,在搜索引擎(例如其前端模塊或查詢串重寫模塊)的相應(yīng)配置文件中可以包含用于針對各應(yīng)用類型生成相應(yīng)多個查詢子串的公共邏輯和接口邏輯。其中,公共邏輯對所有應(yīng)用類型都適用。而接口邏輯僅適用于對應(yīng)的應(yīng)用類型,因而在配置文件中可以有若干個接口邏輯,每個接口邏輯僅與特定的應(yīng)用類型相對應(yīng)。
      [0038]根據(jù)本申請的一個實施例,所述公共邏輯和接口邏輯可以按照如下方式配置:將各種應(yīng)用類型的搜索引擎查詢串生成邏輯中的所有處理按照功能劃分成多個處理模塊;以及針對所述多個處理模塊,配置對于各應(yīng)用類型共有的公共邏輯和各應(yīng)用類型特有的相應(yīng)接口邏輯。
      [0039]具體而言,針對不同的應(yīng)用類型,搜索引擎查詢串的生成邏輯不同,即需要進行的處理不同。根據(jù)本申請的實施例,將各種搜索引擎查詢串生成邏輯中的處理模塊按照某種規(guī)則(并不限于“按照功能”)劃分成多個處理模塊,每個處理模塊完成特定功能。這些處理模塊例如可以包括用于違禁詞過濾的處理模塊、用于近義詞擴展的處理模塊、用于競價定制的處理模塊等等。一般,完成特定功能的處理模塊依據(jù)配置的不同,其完成的結(jié)果也會有差異。針對不同種類的應(yīng)用類型,對同一個處理模塊的配置會有相同的部分及不同的部分。根據(jù)本申請的實施例,將處理模塊的配置中相同的部分(即適用于所有應(yīng)用類型)配置到公共邏輯中,將處理模塊的配置中不同的部分,按照應(yīng)用類型的不同,分別配置到與其對應(yīng)的接口邏輯中。
      [0040]根據(jù)本申請的一個實施例,所述接口邏輯可以被配置為包括與應(yīng)用類型對應(yīng)的條件邏輯和與條件邏輯對應(yīng)的動作邏輯。條件邏輯用于匹配應(yīng)用類型,動作邏輯用于配置針對特定應(yīng)用類型的搜索引擎查詢串生成邏輯中的多個處理模塊的執(zhí)行邏輯。
      [0041]一個典型的配置文件結(jié)構(gòu)如圖2所示,圖2示出根據(jù)本申請一個實施例的配置文件的示意結(jié)構(gòu)圖。所述結(jié)構(gòu)圖并非限定“一個文件”的結(jié)構(gòu),而僅指示出配置文件(或配置文件集合)中內(nèi)容的關(guān)系,依據(jù)本申請的方法,可以調(diào)整所述結(jié)構(gòu)圖中的內(nèi)容和結(jié)構(gòu)以實現(xiàn)本申請相同的方法。
      [0042]配置文件(或配置文件集合)可以包括兩部分:公共邏輯210及接口邏輯220。本示例中,公共邏輯210和接口邏輯220中包括了處理模塊A、B、C的配置。
      [0043]公共邏輯210中包括處理模塊A的配置211、處理模塊B的配置212及處理模塊C的配置213。
      [0044]配置211是不同種類的應(yīng)用類型(pid)對處理模塊A的配置中的相同部分(即適用于所有應(yīng)用類型的配置內(nèi)容)。
      [0045]配置212是不同種類的應(yīng)用類型對處理模塊B的配置中的相同部分。
      [0046]配置213是不同種類的應(yīng)用類型對處理模塊C的配置中的相同部分。
      [0047]接口邏輯220中包括一個或多個對應(yīng)于不同pid值的接口子邏輯221。
      [0048]在本例中,每一接口子邏輯221對應(yīng)于一個特定的應(yīng)用類型,即特定的pid值。每一接口子邏輯221中包括條件邏輯230及動作邏輯240。條件邏輯230中,描述了符合條件邏輯230的pid值為“819175”。動作邏輯240中包括了適用于條件邏輯230描述的pid值所對應(yīng)的應(yīng)用類型(本例中,即pid值為“819175”的應(yīng)用類型)對于各處理模塊的配置。
      [0049]動作邏輯240包括處理模塊A對應(yīng)于所述特定應(yīng)用類型的配置241、處理模塊B對應(yīng)于所述特定應(yīng)用類型的配置242及處理模塊C對應(yīng)于所述特定應(yīng)用類型的配置243。
      [0050]對于一個應(yīng)用類型pid為“819175”的基本查詢串來說,處理模塊A對應(yīng)于該基本查詢串的配置則包括公共邏輯210中的配置211及配置241。處理模塊A通過這兩個配置,即可生成對應(yīng)該基本查詢串的一個查詢子串。同理,處理模塊B、處理模塊C也分別生成對應(yīng)該基本查詢串的查詢子串。如稍后將描述的那樣,這三個查詢子串經(jīng)過拼接即可生成一個完整的搜索引擎查詢串。
      [0051]需要說明的是,公共邏輯中出現(xiàn)的模塊配置與接口邏輯中出現(xiàn)的模塊配置有可能不是一一對應(yīng)的,例如,假如接口子邏輯221中不存在處理模塊A對應(yīng)于特定應(yīng)用類型的配置241,且處理模塊A的配置全部在公共邏輯210的配置211中,即對所有pid都適用,則處理模塊A依據(jù)配置211即可生成查詢子串。假如公共邏輯210中不存在處理模塊B的配置212,且對處理模塊B的配置全部在接口子邏輯221的處理模塊B對應(yīng)于特定應(yīng)用類型的配置242中,即其僅對pid值為819175的基本查詢串使用,則處理模塊B依據(jù)配置242即可生成查詢子串。
      [0052]此外,盡管圖2中僅示出三個模塊的配置,但本領(lǐng)域技術(shù)人員應(yīng)理解到,本申請對模塊的數(shù)量、功能和實現(xiàn)形式并不作任何限制,并且根據(jù)搜索引擎的不同、劃分依據(jù)的不同,模塊數(shù)量、功能以及實現(xiàn)形式也可以任意變化。比如,可以根據(jù)搜索引擎的需要,在一個模塊中遞歸嵌套一個或多個子模塊來實現(xiàn)所需功能。
      [0053]以上描述了根據(jù)本申請實施例的包括公共邏輯和接口邏輯的配置文件的配置方式。
      [0054]接下來,在一個具體實施例中,基于基本查詢串,根據(jù)公共邏輯和對應(yīng)的接口邏輯可以調(diào)用并執(zhí)行該應(yīng)用類型所需的各個處理模塊,從而生成多個查詢子串,其中每個處理模塊的執(zhí)行生成一個查詢子串。下面結(jié)合圖3詳細描述根據(jù)本申請一個實施例的生成各個查詢子串的過程。
      [0055]如圖3所示,在步驟S310處,查找與基本查詢串中的應(yīng)用類型參數(shù)對應(yīng)的條件邏輯,從而查找到與該條件邏輯對應(yīng)的動作邏輯。
      [0056]例如,參考圖2,假設(shè)一個基本查詢串的應(yīng)用類型的pid值為819175,則查找對應(yīng)的條件邏輯,即條件邏輯230,從而找到與該條件邏輯230對應(yīng)的動作邏輯240。
      [0057]在步驟S320處,根據(jù)查找到的動作邏輯,調(diào)用并執(zhí)行相關(guān)處理模塊的接口邏輯部分和公共邏輯部分,從而生成與相關(guān)處理模塊分別對應(yīng)的各個查詢子串。
      [0058]接上例,參考圖2,根據(jù)查找到的動作邏輯240,可以查找到處理模塊為處理模塊A、處理模塊B、處理模塊C。根據(jù)處理模塊A的接口邏輯部分即配置241和處理模塊A的公共邏輯部分即配置211中的相應(yīng)配置文件調(diào)用并執(zhí)行處理模塊A,從而生成與處理模塊A相對應(yīng)的查詢子串。類似地,通過根據(jù)相應(yīng)的公共邏輯和接口邏輯調(diào)用并執(zhí)行處理模塊B、C,分別生成它們各自對應(yīng)的查詢子串。
      [0059]在根據(jù)配置文件中的公共邏輯和接口邏輯生成多個查詢子串之后,返回圖1,在步驟S130處,將多個查詢子串拼接以生成搜索引擎查詢串。也就是,將根據(jù)搜索引擎查詢串生成邏輯劃分的多個處理模塊的處理結(jié)果組裝,從而生成搜索引擎查詢串。
      [0060]在一個具體實施例中,可以使用分隔符將多個查詢子串進行拼接以生成搜索引擎查詢串。
      [0061]本領(lǐng)域技術(shù)人員應(yīng)理解到,本申請并不限于上述具體實施例,而是可以使用本領(lǐng)域已知或未來開發(fā)的其它任意合適方式來拼接或組裝多個查詢子串以生成搜索引擎查詢串O
      [0062]至此描述了根據(jù)本申請實施例的搜索引擎查詢串的生成方法。根據(jù)該方法,可以動態(tài)地生成搜索引擎查詢串,便于引擎的維護并且大大降低引擎維護成本。
      [0063]與上述搜索引擎查詢串的生成方法類似,本申請還提供一種搜索引擎查詢串的生成裝置。
      [0064]參考圖4,圖4示出根據(jù)本申請一個實施例的搜索引擎查詢串的生成裝置400的示意性結(jié)構(gòu)框圖。
      [0065]具體而言,該裝置400可以包括基本查詢串生成模塊410、查詢子串生成模塊420和拼接模塊430。
      [0066]更具體而言,基本查詢串生成模塊410可以用于根據(jù)接收到的用戶查詢請求生成基本查詢串。
      [0067]優(yōu)選的,基本查詢串可以包括用戶搜索詞和所涉及的應(yīng)用類型。
      [0068]查詢子串生成模塊420可以用于基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串。
      [0069]優(yōu)選的,公共邏輯和接口邏輯可以按照如下方式配置:將搜索引擎查詢串邏輯按照功能劃分成多個處理模塊;以及針對所述多個處理模塊,配置對于各應(yīng)用類型共有的公共邏輯和各應(yīng)用類型特有的相應(yīng)接口邏輯。
      [0070]優(yōu)選的,接口邏輯可以配置為包括與應(yīng)用類型對應(yīng)的條件邏輯和與條件邏輯對應(yīng)的動作邏輯。
      [0071]優(yōu)選的,查詢子串生成模塊420可以進一步包括:查找子模塊421,用于查找與基本查詢串中的應(yīng)用類型參數(shù)對應(yīng)的條件邏輯,從而查找到與該條件邏輯對應(yīng)的動作邏輯;以及調(diào)用子模塊422,用于根據(jù)查找到的動作邏輯,調(diào)用并執(zhí)行相關(guān)處理模塊的公共邏輯部分和接口邏輯部分,從而生成與相關(guān)處理模塊分別對應(yīng)的各個查詢子串。
      [0072]拼接模塊430可以用于將多個查詢子串拼接以生成搜索引擎查詢串。
      [0073]優(yōu)選的,拼接模塊430可以使用分隔符將所述多個查詢子串進行拼接以生成所述搜索引擎查詢串。
      [0074]類似地,根據(jù)本申請實施例的搜索引擎查詢串的生成裝置,也可以動態(tài)地生成搜索引擎查詢串,便于引擎的維護并且大大降低引擎維護成本。
      [0075]本申請的上述方法和裝置可以應(yīng)用于任意搜索引擎系統(tǒng)中。下面結(jié)合圖5描述根據(jù)本申請一個實施例的搜索引擎系統(tǒng)500的示意性結(jié)構(gòu)。
      [0076]如圖5所示,搜索引擎系統(tǒng)500可以包括前端模塊510、查詢串重寫模塊520、搜索模塊530。
      [0077]具體而言,前端模塊510可以用于根據(jù)接收到的用戶查詢請求生成基本查詢串。查詢串重寫模塊520可以用于:基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;和將所述多個查詢子串拼接以生成所述搜索引擎查詢串。搜索模塊530可以用于根據(jù)所述搜索引擎查詢串搜索相關(guān)內(nèi)容。
      [0078]優(yōu)選的,搜索模塊530還可以用于將搜索的相關(guān)內(nèi)容返回給前端模塊510,并且前端模塊510還可以用于將所述相關(guān)內(nèi)容顯示給用戶。
      [0079]在本申請實施例的搜索引擎系統(tǒng)中,搜索引擎查詢串的生成邏輯是在查詢串重寫模塊中執(zhí)行。與現(xiàn)有技術(shù)中在搜索引擎的前端系統(tǒng)(前端模塊)套用模板生成搜索引擎查詢串的方案相比,在本申請實施例的查詢串重寫模塊中不僅可以實現(xiàn)違禁詞過濾、查詢擴展、編解碼轉(zhuǎn)化、有效性檢查等業(yè)務(wù)邏輯,而且可以根據(jù)搜索引擎查詢串生成邏輯、按照各應(yīng)用類型要求靈活生成底層搜索模塊能夠識別的搜索引擎查詢串。因此,由于無需套用和維護大量模板,引擎對外提供的接口是一個可以靈活修改的配置文件,并且可以動態(tài)生成搜索引擎查詢串,所以提高了引擎查詢性能、便于搜索引擎的維護并且可以大大降低引擎維護成本。另外,由于代替前端模塊,而在查詢串重寫模塊上實現(xiàn)搜索引擎查詢串的生成,因而可以減輕前端系統(tǒng)的工作量,并且對前端系統(tǒng)提供透明服務(wù),避免了因內(nèi)部查詢語法暴露而讓不法或誤操作的使用方對搜索引擎造成惡意或誤攻擊。
      [0080]這里需要說明的是,在上面的實施例中描述的搜索引擎系統(tǒng)是通過查詢串重寫模塊執(zhí)行本申請的搜索引擎生成方法,但實際上本申請的搜索引擎生成方法也可以在搜索引擎的包括前端系統(tǒng)在內(nèi)的其它任意模塊中執(zhí)行,而并不限于查詢串重寫模塊或其它模塊。
      [0081]本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊或單元。一般地,程序模塊或單元可以包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。一般來說,程序模塊或單元可以由軟件、硬件或兩者的結(jié)合來實現(xiàn)。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊或單元可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
      [0082]最后,還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
      [0083]本文中應(yīng)用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其主要思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包括在本申請的權(quán)利要求范圍之內(nèi)。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
      [0084]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
      [0085]在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
      [0086]計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
      [0087]以上所述僅為本申請的實施例而已,并不用于限制本申請,對于本領(lǐng)域的技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。
      【權(quán)利要求】
      1.一種搜索引擎查詢串的生成方法,其特征在于,包括: 根據(jù)接收到的用戶查詢請求生成基本查詢串; 基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;以及 將所述多個查詢子串拼接以生成所述搜索引擎查詢串。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述公共邏輯和接口邏輯是按照如下方式配置的: 將針對各種應(yīng)用類型的搜索引擎查詢串生成邏輯中的所有處理按照功能劃分成多個處理模塊;以及 針對所述多個處理模塊,配置對于各應(yīng)用類型共有的公共邏輯和各應(yīng)用類型特有的相應(yīng)接口邏輯。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基本查詢串包括用戶搜索詞和所涉及的應(yīng)用類型。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,使用分隔符將所述多個查詢子串進行拼接以生成所述搜索引擎查詢串。
      5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述接口邏輯配置為包括與應(yīng)用類型對應(yīng)的條件邏輯和與條件邏輯對應(yīng)的動作邏輯。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串的步驟進一步包括: 查找與基本查詢串中的應(yīng)用類型參數(shù)對應(yīng)的條件邏輯,從而查找到與該條件邏輯對應(yīng)的動作邏輯;以及 根據(jù)查找到的動作邏輯,調(diào)用并執(zhí)行相關(guān)處理模塊的接口邏輯部分和公共邏輯部分,從而生成與相關(guān)處理模塊分別對應(yīng)的各個查詢子串。
      7.一種搜索引擎查詢串的生成裝置,其特征在于,包括: 基本查詢串生成模塊,用于根據(jù)接收到的用戶查詢請求生成基本查詢串; 查詢子串生成模塊,用于基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;以及 拼接模塊,用于將所述多個查詢子串拼接以生成所述搜索引擎查詢串。
      8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述公共邏輯和接口邏輯是按照如下方式配置的: 將針對各種應(yīng)用類型的搜索引擎查詢串生成邏輯中的所有處理按照功能劃分成多個處理模塊;以及 針對所述多個處理模塊,配置對于各應(yīng)用類型共有的公共邏輯和各應(yīng)用類型特有的相應(yīng)接口邏輯。
      9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述基本查詢串包括用戶搜索詞和所涉及的應(yīng)用類型。
      10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述拼接模塊使用分隔符將所述多個查詢子串進行拼接以生成所述搜索引擎查詢串。
      11.根據(jù)權(quán)利要求7-10中任一項所述的裝置,其特征在于,所述接口邏輯配置為包括與應(yīng)用類型對應(yīng)的條件邏輯和與條件邏輯對應(yīng)的動作邏輯。
      12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述查詢子串生成模塊進一步包括: 查找子模塊,用于查找與基本查詢串中的應(yīng)用類型參數(shù)對應(yīng)的條件邏輯,從而查找到與該條件邏輯對應(yīng)的動作邏輯;以及 調(diào)用子模塊,用于根據(jù)查找到的動作邏輯,調(diào)用并執(zhí)行相關(guān)處理模塊的公共邏輯部分和接口邏輯部分,從而生成與相關(guān)處理模塊分別對應(yīng)的各個查詢子串。
      13.一種搜索引擎系統(tǒng),其特征在于,包括: 前端模塊,用于根據(jù)接收到的用戶查詢請求生成基本查詢串; 查詢串重寫模塊,用于: 基于基本查詢串,根據(jù)配置文件中包括的公共邏輯和接口邏輯生成多個查詢子串;和 將所述多個查詢子串拼接以生成所述搜索引擎查詢串;以及 搜索模塊,用于根據(jù)所述搜索引擎查詢串搜索相關(guān)內(nèi)容。
      14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述搜索模塊還用于將搜索的相關(guān)內(nèi)容返回給前端模塊;并且 所述前端模塊還用于將所述相關(guān)內(nèi)容顯示給用戶。
      【文檔編號】G06F9/44GK104239021SQ201310250843
      【公開日】2014年12月24日 申請日期:2013年6月21日 優(yōu)先權(quán)日:2013年6月21日
      【發(fā)明者】李娟娟, 李俊良, 吳德 申請人:阿里巴巴集團控股有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1