HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    js文章生成器源碼(js文章生成器源碼怎么用)

    發(fā)布時(shí)間:2023-04-16 05:19:11     稿源: 創(chuàng)意嶺    閱讀: 82        

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于js文章生成器源碼的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    本文目錄:

    js文章生成器源碼(js文章生成器源碼怎么用)

    JS實(shí)現(xiàn)的將html轉(zhuǎn)為pdf功能【基于瀏覽器端插件jsPDF】

    本文實(shí)例講述了JS實(shí)現(xiàn)的將html轉(zhuǎn)為pdf功能。分享給大家供大家參考,具體如下:
    <!DOCTYPE
    html>
    <html>
    <head>
    <title>jsPDF插件</title>
    <meta
    http-equiv="Content-Type"
    content="text/html;
    charset=utf-8">
    <script
    src="https://code.jquery.com/jquery-git.js"></script>
    <script
    src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
    <script
    src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
    </head>
    <body>
    <p
    class="pdf-wrapper"
    ="to-pdf">HTML
    content...<h1>中文</h1>
    中國(guó),漢字,測(cè)試:合同
    模版
    中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)</br>中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)中國(guó)....................<br/>
    中國(guó),漢字,測(cè)試:合同
    模版
    ...................<br/>
    計(jì)費(fèi)
    接口
    ....................<br/>
    <img
    src='http://www.jb51.net/images/logo.gif'/>
    </p>
    <script
    type="text/javascript">
    var
    pdf
    =
    new
    jsPDF('p','pt','a4');
    pdf.internal.scaleFactor
    =
    1;
    var
    options
    =
    {
    pagesplit:
    true
    };
    //$('.pdf-wrapper')
    pdf.addHTML(document.body,options,function()
    {
    pdf.save('web1111.pdf');
    });
    </script>
    </body>
    </html>
    運(yùn)行效果:
    更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript擴(kuò)展技巧總結(jié)》、《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
    希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
    您可能感興趣的文章:jsPDF導(dǎo)出pdf示例jsPDF生成pdf后在網(wǎng)頁(yè)展示實(shí)例使用jspdf生成pdf報(bào)表phonegap教程使用jspdf庫(kù)在應(yīng)用中生成pdf文件(pdf生成方法)JS導(dǎo)出PDF插件的方法(支持中文、圖片使用路徑)js插件方式打開pdf文件(瀏覽器pdf插件分享)用Javascript檢查Adobe
    PDF插件是否安裝的實(shí)現(xiàn)代碼純js實(shí)現(xiàn)html轉(zhuǎn)pdf的簡(jiǎn)單實(shí)例(推薦)基于Phantomjs生成PDF的實(shí)現(xiàn)方法JavaScript+Java實(shí)現(xiàn)HTML頁(yè)面轉(zhuǎn)為PDF文件保存的方法JavaScript代碼生成PDF文件的方法

    如何用 Node.js 和 Elasticsearch 構(gòu)建搜索引擎

    安裝 Elasticsearch

    Elasticsearch 受Apache 2許可證保護(hù),可以被下載,使用,免費(fèi)修改。安裝Elasticsearch 之前你需要先確保在你的電腦上安裝了Java Runtime Environment (JRE) ,Elasticsearch 是使用java實(shí)現(xiàn)的并且依賴java庫(kù)運(yùn)行。你可以使用下面的命令行來(lái)檢測(cè)你是否安裝了java

    推薦使用java最新的穩(wěn)定版本(寫這篇文章的時(shí)候是1.8)。你可以在找到在你系統(tǒng)上安裝java的指導(dǎo)手冊(cè)。

    接下來(lái)是下載最新版本的Elasticsearch (寫這篇文章的時(shí)候是2.3.5),去下載ZIP 文件。Elasticsearch 不需要安裝,一個(gè)zip文件就包含了可在所有支持的系統(tǒng)上運(yùn)行的文件。解壓下載的文件,就完成了。有幾種其他的方式運(yùn)行Elasticsearch ,比如:獲得TAR 文件或者為不同Linux發(fā)行版本的包。

    如果你使用的是Mac操作系統(tǒng)并且安裝了 ,你就可以使用這行命令安裝Elasticsearch brew install elasticsearch.Homebrew 會(huì)自動(dòng)添加executables 到你的系統(tǒng)并且安裝所需的服務(wù)。它也可以使用一行命令幫你更新應(yīng)用:brew upgrade elasticsearch.

    想在Windows上運(yùn)行Elasticsearch ,可以在解壓的文件夾里,通過(guò)命令行運(yùn)行binelasticsearch.bat 。對(duì)于其他系統(tǒng),可以從終端運(yùn)行 ./bin/elasticsearch.這時(shí)候,Elasticsearch 就應(yīng)該可以在你的系統(tǒng)上運(yùn)行了。

    就像我之前提到的,你可以使用Elasticsearch的幾乎所有的操作,都可以通過(guò)RESTful APIs完成。Elasticsearch 默認(rèn)使用9200 端口。為了確保你正確的運(yùn)行了Elasticsearch。在你的瀏覽器中打開http://localhost:9200/ ,將會(huì)顯示一些關(guān)于你運(yùn)行的實(shí)例的基本信息。

    圖形用戶界面

    Elasticsearch不須圖形用戶界面,只通過(guò)REST APIs就提供了幾乎所有的功能。然而如果我不介紹怎么通過(guò)APIs和 Node.js執(zhí)行所有所需的操作,你可以通過(guò)幾個(gè)提供了索引和數(shù)據(jù)的可視化信息GUI工具來(lái)完成,這些工具甚至含有一些高水平的分析。

    , 是同一家公司開發(fā)的工具, 它提供了數(shù)據(jù)的實(shí)時(shí)概要,并提供了一些可視化定制和分析選項(xiàng)。Kibana 是免費(fèi)的。

    還有一些是社區(qū)開發(fā)的工具,如 , , 甚至谷歌瀏覽器的擴(kuò)展組件.這些工具可以幫你在瀏覽器中查看你的索引和數(shù)據(jù),甚至可以試運(yùn)行不同的搜索和匯總查詢。所有這些工具提供了安裝和使用的攻略。

    創(chuàng)建一個(gè)Node.js環(huán)境

    彈性搜索為Node.js提供一個(gè)官方模塊,稱為elasticsearch。首先,你需要添加模塊到你的工程目錄下,并且保存依賴以備以后使用。

    然后,你可以在腳本里導(dǎo)入模塊,如下所示:

    最終,你需要?jiǎng)?chuàng)建客戶端來(lái)處理與彈性搜索的通訊。在這種情況下,我假設(shè)你正在運(yùn)行彈性搜索的本地機(jī)器IP地址是127.0.0.1,端口是9200(默認(rèn)設(shè)置)。

    注意:這篇導(dǎo)讀的所有源代碼都可以在GitHub下載查看。最簡(jiǎn)單的查看方式是在你的PC機(jī)上克隆倉(cāng)庫(kù),并且從那里運(yùn)行示例代碼:

    數(shù)據(jù)導(dǎo)入

    在本教程中,我將使用 1000 篇學(xué)術(shù)論文里的內(nèi)容,這些內(nèi)容是根據(jù)隨機(jī)算法逐一生成的,并以 JSON 格式提供,其中的數(shù)據(jù)格式如下所示:

    JSON 格式中的每個(gè)字段如字面意思,無(wú)需多余解釋,但值得注意的是:由于<body>包含隨機(jī)生成的文章的全部的內(nèi)容(大概有100~200個(gè)段落),所以并未展示。

    雖然 Elasticsearch 提供了,、單個(gè)數(shù)據(jù)的方法,但我們采用接口導(dǎo)入數(shù)據(jù),因?yàn)榕拷涌谠诖笮蛿?shù)據(jù)集上執(zhí)行操作的效率更高。

    這里,我們調(diào)用函數(shù)bulkIndex建立索引,并傳入 3 個(gè)參數(shù),分別是:索引名 library,類型名library,JSON 數(shù)據(jù)格式變量 articles。bulkIndex函數(shù)自身則通過(guò)調(diào)用esClient對(duì)象的bulk接口實(shí)現(xiàn),bulk 方法包含一個(gè)body屬性的對(duì)象參數(shù),并且每個(gè)body屬性值是一個(gè)包含 2 種操作實(shí)體的數(shù)組對(duì)象。第一個(gè)實(shí)體是 JSON 格式的操作類型對(duì)象,該對(duì)象中的index屬性決定了操作的類型(本例子是文件索引)、索引名、文件ID。第二個(gè)實(shí)體則是文件對(duì)象本身。

    注意,后續(xù)可采用同樣的方式,為其他類型文件(如書籍或者報(bào)告)添加索引。我們還可以有選擇的每個(gè)文件分配一個(gè)唯一的ID,如果不體統(tǒng)唯一的ID,Elasticsearch 將主動(dòng)為每個(gè)文件分配一個(gè)隨機(jī)的唯一ID。

    假設(shè)你已經(jīng)從代碼庫(kù)中下載了 Elasticsearch 項(xiàng)目代碼,在項(xiàng)目根目錄下執(zhí)行如下命令,即可將數(shù)據(jù)導(dǎo)入至Elasticsearch中:

    檢查數(shù)據(jù)的索引是否準(zhǔn)確

    Elasticsearch 最大的特性是接近實(shí)時(shí)檢索,這意味著,一旦文檔索引建立完成,1 秒內(nèi)就可被檢索(見)。索引一旦建立完成,則可通過(guò)運(yùn)行 indice.js 檢查索引信息的準(zhǔn)確性():

    client 中的cat 對(duì)象方法提供當(dāng)前運(yùn)行實(shí)例的各種信息。其中的 indices 方法列出所有的索引信息,包括每個(gè)索引的健康狀態(tài)、以及占用的磁盤大小。 而其中的 v 選項(xiàng)為 cat方法新增頭部響應(yīng)。

    當(dāng)運(yùn)行上面代碼段,您會(huì)發(fā)現(xiàn),集群的健康狀態(tài)被不同的顏色標(biāo)示。其中,紅色表示為正常運(yùn)行的有問(wèn)題集群;黃色表示集群可運(yùn)行,但存在告警;綠色表示集群正常運(yùn)行。在本地運(yùn)行上面的代碼段,您極有可能(取決于您的配置)看到集群的健康狀態(tài)顏色是黃色,這是因?yàn)槟J(rèn)的集群設(shè)置包含 5 個(gè)節(jié)點(diǎn),但本地運(yùn)行只有 1 個(gè)實(shí)例正常運(yùn)行。鑒于本教程的目的僅局限于 Elasticsearch 指導(dǎo)學(xué)習(xí),黃色即可。但在線上環(huán)境中,你必須確保集群的健康狀態(tài)顏色是綠色的。

    動(dòng)態(tài)和自定義映射

    如前所述, Elasticsearch 無(wú)模式(schema-free),這意味著,在數(shù)據(jù)導(dǎo)入之前,您無(wú)需定義數(shù)據(jù)的結(jié)構(gòu)(類似于SQL數(shù)據(jù)庫(kù)需要預(yù)先定義表結(jié)構(gòu)),Elasticsearch 會(huì)主動(dòng)檢測(cè)。盡管 Elasticsearch 被定義為無(wú)模式,但數(shù)據(jù)結(jié)構(gòu)上仍有些限制。

    Elasticsearch 以映射的方式引用數(shù)據(jù)結(jié)構(gòu)。當(dāng)數(shù)據(jù)索引建立完成后,如果映射不存在,Elasticsearch 會(huì)依次檢索 JSON 數(shù)據(jù)的每個(gè)字段,然后基于被字段的類型(type)自動(dòng)生成映射(mapping)。如果存在該字段的映射,則會(huì)確保按照同樣的映射規(guī)則新增數(shù)據(jù)。否則直接報(bào)錯(cuò)。

    比如:如果{"key1": 12} 已經(jīng)存在,Elasticsearch 自動(dòng)將字段 key1 映射為長(zhǎng)整型?,F(xiàn)在如果你嘗試通過(guò){"key1": "value1", "key2": "value2"} 檢索, 則會(huì)直接報(bào)錯(cuò),因?yàn)橄到y(tǒng)預(yù)期字段 key1 為長(zhǎng)整型。同時(shí),如果通過(guò) {"key1": 13, "key2": "value2"} 檢索則不會(huì)報(bào)錯(cuò),并為字段 key2 新增 string 類型。

    映射不能超出文本的范圍,大都數(shù)情況下,系統(tǒng)自動(dòng)生成的映射都可正常運(yùn)行。

    構(gòu)建搜索引擎

    一旦完成數(shù)據(jù)索引,我們就可以開始實(shí)現(xiàn)搜索引擎。Elasticsearch提供了一個(gè)直觀的基于JSON的全搜索查詢的結(jié)構(gòu)-Query DSL,定義查詢。有許多有用的搜索查詢類型,但是在這篇文章中,我們將只看到幾個(gè)通用的類型。關(guān)于Query DSL的完整文章可以在看到。

    請(qǐng)記住,我提供了每個(gè)展示例子的源碼的連接。設(shè)置完你的環(huán)境和索引測(cè)試數(shù)據(jù)后,你可以下載源碼,然后運(yùn)行在你的機(jī)器上運(yùn)行任何例子??梢酝ㄟ^(guò)命令行運(yùn)行節(jié)點(diǎn)filename.js。

    返回一個(gè)或多個(gè)索引的所有記錄

    為了執(zhí)行我們的搜索,我們將使用客戶端提供的多種搜索方法。最簡(jiǎn)單的查詢是match_all,它可以返回一個(gè)或多個(gè)索引的所有的記錄。下面的例子顯示了我們?cè)趺礃荧@取在一個(gè)索引中獲取所有存儲(chǔ)的記錄().

    主要的搜索查詢包含在Query對(duì)象中。就像我們接下來(lái)看到的那樣,我們可以添加不同的搜索查詢類型到這個(gè)對(duì)象。我們可以為每一個(gè)Query添加一個(gè)查詢類型的關(guān)鍵字(如match_all),讓這個(gè)Query成為一個(gè)包含搜索選項(xiàng)的對(duì)象。由于我們想返回索引的所有記錄,所以在這個(gè)例子中沒(méi)有查詢選項(xiàng)。

    除了Query對(duì)象,搜索體中可以包含其他選項(xiàng)的屬性,如 size 和from。size屬性決定了返回記錄的數(shù)量。如果這個(gè)值不存在,默認(rèn)返回10個(gè)記錄。from屬性決定了返回記錄的起始索引,這對(duì)分頁(yè)有用。

    理解查詢API的返回結(jié)果

    如果你打印搜索API返回結(jié)果(上面例子的結(jié)果)日志。由于它包含了很多信息,剛開始看起來(lái)無(wú)所適從。

    在最高級(jí)別日志輸出里,返回結(jié)果中含有took 屬性,該屬性值表示查找結(jié)果所用的毫秒數(shù),timed_out只有在最大允許時(shí)間內(nèi)沒(méi)有找到結(jié)果時(shí)為true,_shards 是不同節(jié)點(diǎn)的狀態(tài)的信息(如果部署的是節(jié)點(diǎn)集群),hits是查詢結(jié)果。

    hits的屬性值是一個(gè)含有下列屬性的對(duì)象:

      total —表示匹配的條目的總數(shù)量

      max_score — 找到的條目的最大分?jǐn)?shù)

      hits — 找到的條目的數(shù)組,在hits數(shù)組里的每一天記錄,都有索引,類型,文檔,ID,分?jǐn)?shù),和記錄本身(在_source元素內(nèi))。

      這十分復(fù)雜,但是好消息是一旦你實(shí)現(xiàn)了一個(gè)提取結(jié)果的方法,不管你的搜索查詢結(jié)果時(shí)什么,你都可以使用相同的格式獲取結(jié)果。

      還需要注意的是Elasticsearch 有一個(gè)好處是它自動(dòng)地給每一個(gè)匹配記錄分配分?jǐn)?shù),這個(gè)分?jǐn)?shù)用來(lái)量化文件的關(guān)聯(lián)性,返回結(jié)果的順序默認(rèn)的按鈕分?jǐn)?shù)倒排。在例子中我們使用match_all取回了所有的記錄,分?jǐn)?shù)是沒(méi)有意義的,所有的分?jǐn)?shù)都被計(jì)算為1.0。

      匹配含指定字段值的文檔

      現(xiàn)在我們看幾個(gè)更加有趣的例子. 我們可以通過(guò)使用 match 關(guān)鍵字查詢文檔是否與指定的字段值匹配。一個(gè)最簡(jiǎn)單的包含 match 關(guān)鍵字的檢索主體代碼如下所示:

      如上文所述, 首先通過(guò)為查詢對(duì)象新增一個(gè)條目,并指定檢索類型,上面示例給的是 match 。然后再檢索類型對(duì)象里面,申明待檢索的文檔對(duì)象,本例是 title 文檔對(duì)象。然后再文檔對(duì)象里面,提供相關(guān)檢索數(shù)據(jù),和 query 屬性。我希望你測(cè)試過(guò)上述示例之后,驚訝于 Elasticsearch 的檢索效率。

      上述示例執(zhí)行成功后,將返回title(標(biāo)題)字段與任一 query 屬性詞匹配的所有文檔信息。同時(shí)還可以參考如下示例,為查詢對(duì)象附加最小匹配數(shù)量條件:

      與該查詢匹配的文檔 title(標(biāo)題)字段至少包含上訴指定的 3 個(gè)關(guān)鍵詞。如果查詢關(guān)鍵詞少于 3個(gè),那么匹配文檔的 title(標(biāo)題)字段必須包含所有的查詢?cè)~。Elasticsearch 的另一個(gè)有用的功能是 fuzziness(模糊匹配).這對(duì)于用戶輸入錯(cuò)誤的查詢?cè)~將非常有用,因?yàn)閒uzzy(模糊匹配)將發(fā)現(xiàn)拼寫錯(cuò)誤并給出最接近詞供選擇。對(duì)于字符串類型,每個(gè)關(guān)鍵字的模糊匹配值是根據(jù)算法 算出的最大允許值。fuzziness(模糊匹配)示例如下所示:

      多個(gè)字段搜索

      如果你想在多個(gè)字段中搜索,可以使用multi_match搜索類型。除了Query對(duì)象中的fields屬性外,它同match有點(diǎn)類似。fields屬性是需要搜索的字段的集合。這里我們將在title,authors.firstname, 和authors.lastname 字段中搜索。

      multi_match查詢支持其他搜索屬性,如minimum_should_match 和fuzziness。Elasticsearch支持使用通配符(如*)匹配字段,那么我們可以使用['title', 'authors.*name']把上面的例子變得更短些。

      匹配一個(gè)完整的句子

      Elasticsearch也支持精確的匹配一個(gè)輸入的句子,而不是在單詞級(jí)別。這個(gè)查詢是在普通的match 查詢上擴(kuò)展而來(lái),叫做 match_phrase。下面是一個(gè)match_phrase的例子

      聯(lián)合多個(gè)查詢

      到目前為止,在例子中我們每次請(qǐng)求只使用了單個(gè)查詢。然而Elasticsearch允許你聯(lián)合多個(gè)查詢。最常用的復(fù)合查詢是bool,bool查詢接受4種關(guān)鍵類型must, should, must_not, 和filter. 像它們的名字表示的那樣,在查詢結(jié)果的數(shù)據(jù)里必須匹配must里的查詢,必須不匹配must_not里的查詢,如果哪個(gè)數(shù)據(jù)匹配should里的查詢,它就會(huì)獲得高分。每一個(gè)提到的元素可以使用查詢數(shù)組格式接受多個(gè)搜索查詢。

      下面,我們使用bool查詢及一個(gè)新的叫做query_string的查詢類型。它允許你使用 AND 或 OR寫一些比較高級(jí)的查詢。另外,我們使用了 range查詢,它可以讓我們通過(guò)給定的范圍的方式去限制一個(gè)字段。

      在上面的例子中,查詢返回的數(shù)據(jù),作者的名包含term1 或它們的姓包含term2,并且它們的title含有term3,而且它們不在2011,2012或2013年出版的,還有在body字段里含有給定句子數(shù)據(jù)將獲得高分,并被排列到結(jié)果的前面(由于在should從句中的match 查詢)。

      過(guò)濾,聚合,和建議

      除了它先進(jìn)的搜索功能外,Elasticsearch 還提供了其他的功能。接下來(lái),我們?cè)倏纯雌渌齻€(gè)比較常用的功能。

      過(guò)濾

      也許,你經(jīng)常想使用特定的條件凝縮查詢結(jié)果。Elasticsearch通過(guò)filters 提供了這樣的功能。在我們的文章數(shù)據(jù)里,假設(shè)你的查詢返回了幾個(gè)文章,這些文章是你選擇的在5個(gè)具體年份發(fā)布的文章。你可以簡(jiǎn)單的從搜索結(jié)果中過(guò)濾出那些不匹配條件的數(shù)據(jù),而不改變查詢結(jié)果的順序。

      在bool 查詢的must 從句中,過(guò)濾和相同查詢之間的不同之處在于,過(guò)濾不會(huì)影響搜索分?jǐn)?shù),而must 查詢會(huì)。當(dāng)查詢結(jié)果返回并且用戶使用給定的條件過(guò)濾時(shí),他們不想改變結(jié)果的順序,相反地,他們只想從結(jié)果中移除不相關(guān)的數(shù)據(jù)。過(guò)濾與搜索的格式一樣,但在通常情況下,他們?cè)谟忻鞔_值的字段上定義,而不是文本字符串上。Elasticsearch 推薦通過(guò)bool復(fù)合查詢的filter從句添加過(guò)濾。

      繼續(xù)看上面的例子,假設(shè)我們想把搜索結(jié)果限制在在2011到2015年之間發(fā)布的文章里。這樣做,我們只需要在一般搜索查詢的filter 部分添加range 查詢。這將會(huì)從結(jié)果中移除那些不匹配的數(shù)據(jù)。下面是一個(gè)過(guò)濾查詢的例子

      聚合

      聚合框架會(huì)基于一次搜索查詢,提供各種聚合數(shù)據(jù)和統(tǒng)計(jì)信息。兩個(gè)主要的聚合類型是度量和分塊, 度量聚合會(huì)對(duì)一個(gè)文檔的集合進(jìn)行持續(xù)的跟蹤并計(jì)算度量,而分塊聚合則會(huì)進(jìn)行塊的構(gòu)建,每個(gè)塊都會(huì)跟一個(gè)鍵和一個(gè)文檔查詢條件關(guān)聯(lián)起來(lái)。度量聚合的示例有平均值,最小值,最大值,加總值還有計(jì)數(shù)值。分塊聚合的示例有范圍、日期范圍、直方圖以及主題項(xiàng)。對(duì)聚合器更加深入的描述可以在 找到。

      聚合可以放置在一個(gè) aggregations 對(duì)象里面,而對(duì)象自己則是被直接放到 search 對(duì)象體中。在 aggregations 對(duì)象里面,每一個(gè)鍵都是由用戶賦予一個(gè)聚合器的名稱。聚合器的類型和其它選項(xiàng)都應(yīng)該是作為這個(gè)鍵的值而放置的。接下來(lái)我們要來(lái)看看兩個(gè)不同類型的聚合器,一個(gè)是度量的,一個(gè)塊的。我們會(huì)用度量聚合器來(lái)嘗試找出數(shù)據(jù)集合中最小的年份值(也就是最久遠(yuǎn)的文章),而使用塊集合器我要做的就是嘗試找出每一個(gè)關(guān)鍵詞各自出現(xiàn)了多少次。

      在上述示例中,我們將度量聚合器命名為 min_year (也可以是其它名稱), 也就是 year 這個(gè)域上的 min 類型。塊聚合器責(zé)備命名為 keywords, 就是 keywords 這個(gè)域上的 terms 類型。聚合操作的結(jié)果被裝在了響應(yīng)消息里的 aggregations 元素里面,更深入一點(diǎn)會(huì)發(fā)現(xiàn)里面包含了每一個(gè)聚合器(這里是 min_year 和 keywords)以及它們的聚合操作結(jié)果。 如下是來(lái)自這個(gè)示例響應(yīng)消息中的部分內(nèi)容。

      響應(yīng)消息中默認(rèn)最多會(huì)有10個(gè)塊返回。你可以在請(qǐng)求中 filed 的邊上加入一個(gè)size鍵來(lái)規(guī)定返回的塊的最大數(shù)量。如果你想要接收到所有的塊,可以將這個(gè)值設(shè)置為 0。

      建議

      Elasticsearch 提供了多種可以對(duì)輸入內(nèi)容提供替換和補(bǔ)全的關(guān)聯(lián)項(xiàng)推薦器(見)。下面將介紹術(shù)語(yǔ)和短語(yǔ)推薦器。術(shù)語(yǔ)推薦器為每個(gè)輸入文本中的術(shù)語(yǔ)提供關(guān)聯(lián)推薦(如果有的話),而短語(yǔ)推薦器將整個(gè)輸入文本看做一個(gè)短語(yǔ)(與將其拆分成術(shù)語(yǔ)對(duì)比),然后提供其他短語(yǔ)的推薦(如果有的話)。使用推薦API時(shí),需要調(diào)用Node.js client的suggest方法。如下為術(shù)語(yǔ)推薦器的示例。

      與其他client的方法相同,在請(qǐng)求體中包含一個(gè)index字段指明采用的索引。在body字段中添加查詢推薦的文本,然后給每個(gè)推薦器一個(gè)(包含了聚合對(duì)象的)名稱(本例中的titleSuggester)。其值指明了推薦器的類型和配置。這里,為title字段使用了術(shù)語(yǔ)推薦器,限制最大建議的數(shù)量是每個(gè)token最多5個(gè)(size: 5)。

      建議API返回的數(shù)據(jù)中包含了對(duì)應(yīng)請(qǐng)求中每一個(gè)建議器的key,其值是一個(gè)與你輸入文本中術(shù)語(yǔ)數(shù)量相同的一個(gè)數(shù)組。對(duì)于數(shù)組中的每一個(gè)元素,包含一個(gè)options數(shù)組,其每個(gè)對(duì)象的text字段中包含了推薦的文本。如下是上面例子中返回?cái)?shù)據(jù)的一部分。

      獲取短語(yǔ)推薦的時(shí)候,采用與上文相同的格式并替換推薦器的類型字段即可。如下的例子中,返回?cái)?shù)據(jù)將與上例格式相同。

    為什么我復(fù)制別人的源碼打開后和別人的不一樣?

    [PConline技巧]經(jīng)常在網(wǎng)上遇到一些無(wú)法復(fù)制的文章,那么問(wèn)題來(lái)了,有什么辦法可以繞開這種限制,將網(wǎng)頁(yè)內(nèi)容輕松下載回來(lái)呢?其實(shí)既然是網(wǎng)頁(yè)內(nèi)容,那么意味著HTML代碼是公開的,將相關(guān)文本復(fù)制下來(lái)根本不是問(wèn)題,一起來(lái)看看要怎么做吧。
    最簡(jiǎn)單的就是禁用JAVA腳本,把瀏覽器的安全設(shè)置設(shè)成最高就行了。
    方法一. 手機(jī)拍照識(shí)別
    難度:●○○○○
    效果:●●●●○
    這是最簡(jiǎn)單一個(gè)辦法了,如今的手機(jī)都自帶文字識(shí)別功能。首先用QQ或微信將要識(shí)別的網(wǎng)頁(yè)截取成圖片,發(fā)送到你的手機(jī)。然后打開手機(jī)“掃一掃”,選擇剛剛收到的網(wǎng)頁(yè)截圖,最后點(diǎn)擊“識(shí)別文字”就可以了。一般來(lái)說(shuō),只要你的照片足夠清晰,字體基本標(biāo)準(zhǔn),那么實(shí)現(xiàn)95%以上的識(shí)別率還是不成問(wèn)題的。稍后通讀一下文章,將里面的識(shí)別錯(cuò)誤簡(jiǎn)單修正一下,就能直接生成文件使用了。
    手機(jī)OCR識(shí)別網(wǎng)頁(yè)內(nèi)容
    方法二. 切換IE內(nèi)核
    難度:●○○○○
    效果:●●●○○
    很多小伙伴都忽略過(guò)這個(gè)辦法,如今IE已經(jīng)被邊緣化,絕大多數(shù)瀏覽器都是WebKit內(nèi)核,網(wǎng)頁(yè)設(shè)計(jì)師也是一樣,因此當(dāng)你發(fā)現(xiàn)一個(gè)網(wǎng)站設(shè)置了禁止復(fù)制時(shí),不妨將網(wǎng)址拖拽到IE瀏覽器里試一試,沒(méi)準(zhǔn)會(huì)有意外驚喜!
    使用IE內(nèi)核試一試,沒(méi)準(zhǔn)會(huì)有意外驚喜
    順便說(shuō)一句,如今很多國(guó)產(chǎn)瀏覽器都使用了雙內(nèi)核,其中“兼容模式”就是IE核心,點(diǎn)擊切換試一試吧,和拷貝到IE里是一個(gè)效果!
    方法三. 查看源代碼
    難度:●●●●○○
    效果:●●●●○○
    如果借助上面這個(gè)方法“撿漏”不成功,那么就得動(dòng)用一些“大招”了!這個(gè)方法基本可以搞定90%以上的網(wǎng)站,但操作起來(lái)稍微麻煩了一點(diǎn)。
    1. 在禁止復(fù)制的網(wǎng)頁(yè)上右擊鼠標(biāo),選擇“查看源代碼”;
    右鍵選擇“查看源代碼”
    2. 將打開的源碼頁(yè)面下拉,找到帶有文字內(nèi)容的區(qū)域。選中這個(gè)區(qū)域,將內(nèi)容粘貼到Word文檔中;
    這就是打開的效果了,下拉頁(yè)面可以找到文字內(nèi)容
    3. 直接粘貼過(guò)來(lái)的內(nèi)容會(huì)夾雜很多不必要的代碼,這時(shí)就是“查找與替換”大顯身手的時(shí)候了,將其中的代碼復(fù)制到“查找”框內(nèi),然后將“替換為”設(shè)空,最后點(diǎn)擊“全部替換”按鈕,直至代碼全部刪除為止;
    復(fù)制過(guò)來(lái)夾雜的不必要代碼,直接用“查找與替換”搞定!很容易的!
    方法四. 保存網(wǎng)頁(yè)格式
    難度:●●○○○○
    效果:●●●●●○
    這其實(shí)是上一組方法的“人性化”版,至少?zèng)]有看起來(lái)很頭疼的代碼頁(yè)了,而且它可以用在那些禁止鼠標(biāo)右鍵的網(wǎng)頁(yè)中。
    1. 打開禁止復(fù)制的網(wǎng)頁(yè),按下快捷鍵Ctrl+S;
    2. 在彈出的保存對(duì)話框中選擇“網(wǎng)頁(yè),僅HTML”;
    3. 雙擊保存好的網(wǎng)頁(yè)文件,這時(shí)你會(huì)發(fā)現(xiàn)原本無(wú)法復(fù)制的內(nèi)容已經(jīng)可以正??截惲耍?br/>類似于方法三,但操作起來(lái)更簡(jiǎn)便
    方法五. 打印法
    這個(gè)方法只能用于WebKit內(nèi)核瀏覽器(包括國(guó)產(chǎn)多數(shù)雙核瀏覽器),只要在禁止復(fù)制的網(wǎng)頁(yè)上按下Ctrl+P,進(jìn)入打印預(yù)覽模式,就能直接通過(guò)鼠標(biāo)完成復(fù)制操作。
    如果上面這些方法都不奏效,或者操作步驟太繁瑣,這里還有一個(gè)終極大法,那就是借助插件完成。類似的插件有很多,比如Enable Copy,操作時(shí)只要將它安裝到瀏覽器上,遇到有復(fù)制限制的頁(yè)面點(diǎn)擊一下,就能輕松綠色這些限制,具體的大家可以自行嘗試一下。

    以上就是關(guān)于js文章生成器源碼相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    微信公眾號(hào)js安全域名

    抖音養(yǎng)號(hào)腳本(autojs抖音養(yǎng)號(hào)腳本)

    pjsk貓貓奏

    店鋪海報(bào)(店鋪海報(bào)模板)

    推廣一般收多少錢(推廣一般收多少錢合適)