而將貼近用戶需求的搜索結(jié)果排列在搜索結(jié)果列表的前端,以方便用戶查看。
[0055]在一個(gè)實(shí)施例中,步驟S20中獲取所述搜索詞中各個(gè)字在待搜索文章中的位置,包括:
[0056]根據(jù)所述搜索詞中各個(gè)字在待搜索文章中的字?jǐn)?shù)序號(hào)、用于分隔句子的標(biāo)點(diǎn)的位置以及段落的分隔符號(hào)的位置,獲取所述搜索詞中各個(gè)字在待搜索文章中的位置。
[0057]其中,所述搜索詞中各個(gè)字在待搜索文章中的字?jǐn)?shù)序號(hào)具體可以以下方式來(lái)設(shè)定:將待搜索文章中各個(gè)字在所述待搜索文章中的具體位置關(guān)聯(lián),也即定位所述待搜索文章中的字的位置并為其設(shè)定字?jǐn)?shù)的序號(hào),所述序號(hào)設(shè)定的規(guī)則可以根據(jù)用戶需求自行設(shè)定,比如,以所述待搜索文章中的每個(gè)字的行數(shù)與列數(shù)作為該字的坐標(biāo),從而定位其具體位置并為其標(biāo)號(hào),將重復(fù)的字進(jìn)行去重后,將該字的所有坐標(biāo)均與該字關(guān)聯(lián)。
[0058]其中,所述搜索詞中各個(gè)字在待搜索文章中的用于分隔句子的標(biāo)點(diǎn)的位置具體可以以下方式來(lái)設(shè)定:按照預(yù)設(shè)句式規(guī)則標(biāo)記并記錄所述待搜索文章中所有標(biāo)點(diǎn)的具體位置;其中,所述預(yù)設(shè)句式規(guī)則可以是將“待搜索文章中的同一個(gè)句子”定義為以任意一個(gè)標(biāo)點(diǎn)符號(hào)為間隔的一句話,并將所有標(biāo)點(diǎn)符號(hào)記錄;也即,在該預(yù)設(shè)句式規(guī)則下逗號(hào)也可以作為一句話的間隔,在某句話的以逗號(hào)結(jié)尾時(shí),該句話也算是該預(yù)設(shè)句式規(guī)則下的一句話;同時(shí),所述預(yù)設(shè)句式規(guī)則也可以是設(shè)定只有當(dāng)以句號(hào)、嘆號(hào)、問(wèn)號(hào)等通俗語(yǔ)句中表示一句完整的話的分隔時(shí),才將其視為一句話并記錄該標(biāo)點(diǎn)符號(hào)的位置。
[0059]其中,所述搜索詞中各個(gè)字在待搜索文章中的段落的分隔符號(hào)的位置具體可以以下方式來(lái)設(shè)定:按照預(yù)設(shè)段落規(guī)則標(biāo)記并記錄所述待搜索文章中所有段落的分隔位置;其中,所述預(yù)設(shè)段落規(guī)則是指將所述待搜索文章中所有分段的位置都進(jìn)行標(biāo)記和記錄。
[0060]在步驟S30中,檢測(cè)所述搜索詞中各個(gè)字在所述待搜索文章中的位置是否符合預(yù)設(shè)的連續(xù)條件。可理解的,所述預(yù)設(shè)的連續(xù)條件可以根據(jù)用戶需要自行設(shè)定。
[0061]在步驟S40中,在符合預(yù)設(shè)的連續(xù)條件時(shí),將所述待搜索文章作為搜索結(jié)果;在不符合預(yù)設(shè)的連續(xù)條件時(shí),將所述待搜索文章排除在搜索結(jié)果之外。
[0062]在一個(gè)實(shí)施例中,預(yù)設(shè)的連續(xù)條件至少包括下列條件之一:
[0063]在本實(shí)施例的一個(gè)方面,預(yù)設(shè)的連續(xù)條件為:各個(gè)字在所述待搜索文章中存在位置連續(xù)的至少兩個(gè)字;也即,當(dāng)所述搜索詞中各個(gè)字在所述待搜索文章中存在至少兩個(gè)連續(xù)的字時(shí),可以將所述待搜索文章作為本次搜索的一個(gè)搜索結(jié)果。
[0064]在本實(shí)施例的另一個(gè)方面,預(yù)設(shè)的連續(xù)條件為:各個(gè)字在所述待搜索文章中不存在位置連續(xù),但各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一句子中;也即,當(dāng)各個(gè)字在所述待搜索文章中不存在位置連續(xù)的至少兩個(gè)字,則檢測(cè)是否有至少兩個(gè)字出現(xiàn)在所述待搜索文章中同一句子中,如果存在該種情況,則可以將所述待搜索文章作為本次搜索的一個(gè)搜索結(jié)果。
[0065]在本實(shí)施例的又一個(gè)方面,預(yù)設(shè)的連續(xù)條件為:各個(gè)字在所述待搜索文章中未出現(xiàn)在同一句子中,但各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一段落中。也即,當(dāng)各個(gè)字在所述待搜索文章中均未出現(xiàn)在同一句子中時(shí),則檢測(cè)是否存在兩個(gè)字出現(xiàn)在所述待搜索文章中的同一段落中,如果存在該種情況,則可以將所述待搜索文章作為本次搜索的一個(gè)搜索結(jié)果。
[0066]可理解的,當(dāng)以上檢測(cè)結(jié)果表明兩個(gè)字出現(xiàn)在所述待搜索文章中的同一段落中的情況都不存在時(shí),則可以將所述待搜索文章排除在本次搜索的搜索結(jié)果之外。
[0067]在一個(gè)實(shí)施例中,所述連續(xù)條件有多個(gè);不同的連續(xù)條件對(duì)應(yīng)不同的分值區(qū)間;也即,在上述實(shí)施例中,所述滿足各個(gè)方面的連續(xù)條件的所述待搜索文章作為搜索結(jié)果,該搜索結(jié)果分別對(duì)應(yīng)不同的分值區(qū)間,也即,將不同的搜索結(jié)果設(shè)定不同的分值,以便于利用該分值對(duì)搜索結(jié)果進(jìn)行排序,將最貼近用戶需求的搜索結(jié)果呈現(xiàn)給用戶。
[0068]在一個(gè)實(shí)施例中,如圖2所示,所述方法還包括步驟S50-S60:
[0069]在步驟S50中,根據(jù)所述搜索詞中各個(gè)字在所述待搜索文章中的位置符合的連續(xù)條件,為所述待搜索文章打分;其中,打分得到的待搜索文章的分值屬于符合的連續(xù)條件對(duì)應(yīng)的分值區(qū)間。
[0070]在一個(gè)實(shí)施例中,在所述搜索詞中各個(gè)字在所述待搜索文章中存在位置連續(xù)的至少兩個(gè)字時(shí),將所述待搜索文章的分值設(shè)定為第一分值,并將所述待搜索文章增添至按照分值進(jìn)行排序的搜索結(jié)果列表中。且所述第一分值應(yīng)當(dāng)大于在所述搜索詞中各個(gè)字在所述待搜索文章中不存在位置連續(xù)的至少兩個(gè)字的情況下所獲得的分值。尤其是,可理解的,當(dāng)所述搜索詞中各個(gè)字在所述待搜索文章中的位置均連續(xù)時(shí),那么應(yīng)該將該連續(xù)的位置設(shè)定為排序分值最高的搜索結(jié)果;比如,在一個(gè)實(shí)施例中,可以設(shè)總得分為100分,直接將所述搜索詞中各個(gè)字的位置均連續(xù)的所述待搜索文章的分值設(shè)定為100分,也即在該實(shí)施例中,所述第一分值為100分。
[0071]在一個(gè)實(shí)施例中,各個(gè)字在所述待搜索文章中不存在位置連續(xù),但各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一句子中;由于相對(duì)于不屬于同一個(gè)句子的字詞來(lái)說(shuō),在同一句子中的字詞往往相關(guān)度較高,此時(shí)可以檢測(cè)各個(gè)字在所述待搜索文章中是否至少有兩個(gè)字出現(xiàn)在同一句子。并在所述搜索詞的各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一句子時(shí),將所述待搜索文章的分值設(shè)定為第二分值,并將所述待搜索文章增添至按照分值進(jìn)行排序的搜索結(jié)果列表中;其中,第一分值〉第二分值。也即,當(dāng)所述搜索詞的各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一句子時(shí),那么應(yīng)該將該位置設(shè)定為排序分值第二高的搜索結(jié)果。
[0072]在一個(gè)實(shí)施例中,在所述搜索詞的各個(gè)字在所述待搜索文章中并未出現(xiàn)至少兩個(gè)字出現(xiàn)在同一句子時(shí),檢測(cè)所述搜索詞的各個(gè)字在所述待搜索文章中是否至少有兩個(gè)字出現(xiàn)在同一段落中;由于相對(duì)于不屬于同一個(gè)段落的多個(gè)字詞來(lái)說(shuō),在同一段落中出現(xiàn)的字詞往往相關(guān)度較高,此時(shí)可以檢測(cè)各個(gè)字在所述待搜索文章中是否至少有兩個(gè)字出現(xiàn)在同一段落中在所述搜索詞的各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一段落中時(shí),將所述待搜索文章的分值設(shè)定為第三分值,并將所述待搜索文章增添至按照分值進(jìn)行排序的搜索結(jié)果列表中;其中,第一分值〉第二分值〉第三分值。也即,當(dāng)所述搜索詞的各個(gè)字在所述待搜索文章中至少兩個(gè)字出現(xiàn)在同一段落中時(shí),那么應(yīng)該將該位置設(shè)定為排序分值第三高的搜索結(jié)果。
[0073]在所述搜索詞的各個(gè)字在所述待搜索文章中并不存在至少兩個(gè)字出現(xiàn)在同一段落中時(shí),確定所述待搜索文章不是本次搜索的搜索結(jié)果。也即,在待搜索文章中各個(gè)字在所述待搜索文章中不存在至少兩個(gè)字出現(xiàn)在同一段落中時(shí),該搜索詞在所述待搜索文章中的含義很難是完整的并貼合用戶需求的。更進(jìn)一步地,確定所述待搜索文章不是本次搜索的搜索結(jié)果之后,可以將該待搜索文章不列入搜索結(jié)果列表中。
[0074]在步驟S60中,在有多個(gè)作為搜索結(jié)果的所述待搜索文章時(shí),依據(jù)待搜索文章的分值對(duì)多個(gè)作為搜索結(jié)果的所述待搜索文章進(jìn)行排序。也即,在多個(gè)搜索結(jié)果完全得出并按照其對(duì)應(yīng)的分值進(jìn)行排序,此后,可以直接呈現(xiàn)給客戶排序后的搜索結(jié)果列表,以使得搜索結(jié)果更精準(zhǔn)且貼近用戶需求。
[0075]在一個(gè)實(shí)施例中,所述為所述待搜索文章打分,包括:
[0076]根據(jù)所述搜索詞中各個(gè)字在待搜索文章中出現(xiàn)的次數(shù),為所述待搜索文章打分。也即,上述實(shí)施例中的打分的分值還可以根據(jù)各個(gè)字在待搜索文章中出現(xiàn)的次數(shù)為其設(shè)定一個(gè)權(quán)值,使得當(dāng)各個(gè)字在待搜索文章中出現(xiàn)次數(shù)越多時(shí),得到的分值越高,這樣,呈現(xiàn)給用戶的搜索結(jié)果會(huì)越貼近用戶需求。
[0077]本發(fā)明實(shí)施例提供的上述方法,接收包含搜索詞的搜索指令;獲取包括所述搜索詞的待搜索文章,以及獲取所述搜索詞中各個(gè)字在待搜索文章中的位置;檢測(cè)所述搜索詞中各個(gè)字在所述待搜索文章中的位置是否符合預(yù)設(shè)的連續(xù)條件;在符合預(yù)設(shè)的連續(xù)條件時(shí),將所述待搜索文章作為搜索結(jié)果;在不符合預(yù)設(shè)的連續(xù)條件時(shí),將所述待搜索文章排除在搜索結(jié)果之外。該方案首先獲取所述搜索詞中各個(gè)字在待搜索文章中的位置,再通過(guò)檢測(cè)搜索詞中的各個(gè)字在所述待搜索文章中的位置是否符合預(yù)設(shè)的連續(xù)條件,確定所述待搜索文章是否為用戶需要的搜索結(jié)果,并對(duì)該搜索結(jié)果進(jìn)行打分后排序,從而將貼近用戶需求的搜索結(jié)果排列在搜索結(jié)果列表的前端,以方便用戶查看;該方案使搜索結(jié)果更符合用戶的需求,同時(shí)使得搜索結(jié)果更為精確,提升了用戶體驗(yàn)。
[0078]對(duì)應(yīng)本發(fā)明實(shí)施例提供的搜索方法,本發(fā)明還提供搜索裝置,如圖3所示,該裝置可包括:
[0079]指令接收模塊61,用于接收包含搜索詞的搜索指令;
[0080]獲取模塊62,用于獲取包括所述搜索詞的待搜索文章,以及獲取所述搜索詞中各個(gè)字在待搜索文章中的位置;
[0081]檢測(cè)模塊63,用于檢測(cè)所述搜索詞中各個(gè)字在所述待搜索文