日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP擴(kuò)展之針對(duì)搜索引擎的擴(kuò)展(一)——Apache Solr

瀏覽:145日期:2022-09-15 18:09:28
簡介及安裝

Solr擴(kuò)展允許你在PHP5中有效的和Apache Solr服務(wù)器通話。

Solr擴(kuò)展快速, 輕量級(jí), 有允許PHP開發(fā)者和Solr服務(wù)器實(shí)例有效通話的特性豐富的庫。

兼容APache Solr 1.3 和 1.4。

有內(nèi)置工具添加文檔和更新到solr服務(wù)器,還有工具允許你在搜索文檔時(shí)構(gòu)建高級(jí)查詢。

需要PHP5.2.11及以上版本。

需要安裝libxml及curl擴(kuò)展。

使用示例

Example #1 啟動(dòng)文件的內(nèi)容

<?php/*?Solr服務(wù)器的主機(jī)域名*/define(’SOLR_SERVER_HOSTNAME’,?’solr.example.com’);/*?是否以安全模式運(yùn)行?*/define(’SOLR_SECURE’,?true);/*?連接到的HTTP端口?*/define(’SOLR_SERVER_PORT’,?((SOLR_SECURE)???8443?:?8983));/*?HTTP?基本認(rèn)證名?*/define(’SOLR_SERVER_USERNAME’,?’admin’);/*?HTTP?基本認(rèn)證密碼?*/define(’SOLR_SERVER_PASSWORD’,?’changeit’);/*?HTTP?連接超時(shí)?*//*?http數(shù)據(jù)傳輸操作時(shí)有一個(gè)最大執(zhí)行時(shí)間(秒),默認(rèn)是30秒?*/define(’SOLR_SERVER_TIMEOUT’,?10);/*?File?name?to?a?PEM-formatted?private?key?+?private?certificate?*/define(’SOLR_SSL_CERT’,?’certs/combo.pem’);/*?File?name?to?a?PEM-formatted?private?certificate?only?*/define(’SOLR_SSL_CERT_ONLY’,?’certs/solr.crt’);/*?File?name?to?a?PEM-formatted?private?key?*/define(’SOLR_SSL_KEY’,?’certs/solr.key’);/*?Password?for?PEM-formatted?private?key?file?*/define(’SOLR_SSL_KEYPASSWORD’,?’StrongAndSecurePassword’);/*?Name?of?file?holding?one?or?more?CA?certificates?to?verify?peer?with*/define(’SOLR_SSL_CAINFO’,?’certs/cacert.crt’);/*?Name?of?directory?holding?multiple?CA?certificates?to?verify?peer?with?*/define(’SOLR_SSL_CAPATH’,?’certs/’);?>

Example #2 添加文檔到索引

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$doc?=?new?SolrInputDocument();$doc->addField(’id’,?334455);$doc->addField(’cat’,?’Software’);$doc->addField(’cat’,?’Lucene’);$updateResponse?=?$client->addDocument($doc);print_r($updateResponse->getResponse());?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 446))

Example #3 合并一個(gè)文檔到另一個(gè)文檔

<?phpinclude?'bootstrap.php';$doc?=?new?SolrDocument();$second_doc?=?new?SolrDocument();$doc->addField(’id’,?1123);$doc->features?=?'PHP?Client?Side';$doc->features?=?'Fast?development?cycles';$doc[’cat’]?=?’Software’;$doc[’cat’]?=?’Custom?Search’;$doc->cat???=?’Information?Technology’;$second_doc->addField(’cat’,?’Lucene?Search’);$second_doc->merge($doc,?true);print_r($second_doc->toArray());?>

以上例程的輸出類似于:

Array( [document_boost] => 0 [field_count] => 3 [fields] => Array( [0] => SolrDocumentField Object( [name] => cat [boost] => 0 [values] => Array( [0] => Software [1] => Custom Search [2] => Information Technology)) [1] => SolrDocumentField Object( [name] => id [boost] => 0 [values] => Array( [0] => 1123)) [2] => SolrDocumentField Object( [name] => features [boost] => 0 [values] => Array( [0] => PHP Client Side [1] => Fast development cycles))))

Example #4 搜索文檔 - SolrObject響應(yīng)

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery();$query->setQuery(’lucene’);$query->setStart(0);$query->setRows(50);$query->addField(’cat’)->addField(’features’)->addField(’id’)->addField(’timestamp’);$query_response?=?$client->query($query);$response?=?$query_response->getResponse();print_r($response);?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 1 [params] => SolrObject Object( [wt] => xml [rows] => 50 [start] => 0 [indent] => on [q] => lucene [fl] => cat,features,id,timestamp [version] => 2.2)) [response] => SolrObject Object( [numFound] => 3 [start] => 0 [docs] => Array( [0] => SolrObject Object( [cat] => Array( [0] => Software [1] => Lucene) [id] => 334456) [1] => SolrObject Object( [cat] => Array( [0] => Software [1] => Lucene) [id] => 334455) [2] => SolrObject Object( [cat] => Array( [0] => software [1] => search) [features] => Array( [0] => Advanced Full-Text Search Capabilities using Lucene [1] => Optimized for High Volume Web Traffic [2] => Standards Based Open Interfaces - XML and HTTP [3] => Comprehensive HTML Administration Interfaces [4] => Scalability - Efficient Replication to other Solr Search Servers [5] => Flexible and Adaptable with XML configuration and Schema [6] => Good unicode support: héllo (hello with an accent over the e)) [id] => SOLR1000 [timestamp] => 2009-09-04T20:38:55.906))))

Example #5 搜索文檔 - SolrDocument響應(yīng)

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery();$query->setQuery(’lucene’);$query->setStart(0);$query->setRows(50);$query->addField(’cat’)->addField(’features’)->addField(’id’)->addField(’timestamp’);$query_response?=?$client->query($query);$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);$response?=?$query_response->getResponse();print_r($response);?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 1 [params] => SolrObject Object( [wt] => xml [rows] => 50 [start] => 0 [indent] => on [q] => lucene [fl] => cat,features,id,timestamp [version] => 2.2)) [response] => SolrObject Object( [numFound] => 3 [start] => 0 [docs] => Array( [0] => SolrDocument Object( [_hashtable_index:SolrDocument:private] => 19740) [1] => SolrDocument Object( [_hashtable_index:SolrDocument:private] => 25485) [2] => SolrDocument Object( [_hashtable_index:SolrDocument:private] => 25052))))

Example #6 簡單 TermsComponent 實(shí)例 - 基本

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery();$query->setTerms(true);$query->setTermsField(’cat’);$updateResponse?=?$client->query($query);print_r($updateResponse->getResponse());?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 2) [terms] => SolrObject Object( [cat] => SolrObject Object( [electronics] => 14 [Lucene] => 4 [Software] => 4 [memory] => 3 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2)))

Example #7 簡單 TermsComponent 實(shí)例 - 使用前綴

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery();$query->setTerms(true);/*?Return?only?terms?starting?with?$prefix?*/$prefix?=?’c’;$query->setTermsField(’cat’)->setTermsPrefix($prefix);$updateResponse?=?$client->query($query);print_r($updateResponse->getResponse());?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 1) [terms] => SolrObject Object( [cat] => SolrObject Object( [card] => 2 [connector] => 2 [camera] => 1 [copier] => 1)))

Example #8 簡單 TermsComponent 實(shí)例 - 指定最小頻率

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery();$query->setTerms(true);/*?Return?only?terms?starting?with?$prefix?*/$prefix?=?’c’;/*?Return?only?terms?with?a?frequency?of?2?or?greater?*/$min_frequency?=?2;$query->setTermsField(’cat’)->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);$updateResponse?=?$client->query($query);print_r($updateResponse->getResponse());?>

以上例程的輸出類似于:

SolrObject Object( [responseHeader] => SolrObject Object( [status] => 0 [QTime] => 0) [terms] => SolrObject Object( [cat] => SolrObject Object( [card] => 2 [connector] => 2)))

Example #9 簡單 Facet 實(shí)例

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery(’*:*’);$query->setFacet(true);$query->addFacetField(’cat’)->addFacetField(’name’)->setFacetMinCount(2);$updateResponse?=?$client->query($query);$response_array?=?$updateResponse->getResponse();$facet_data?=?$response_array->facet_counts->facet_fields;print_r($facet_data);?>

以上例程的輸出類似于:

SolrObject Object( [cat] => SolrObject Object( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2) [name] => SolrObject Object( [gb] => 6 [1] => 3 [184] => 3 [2] => 3 [3200] => 3 [400] => 3 [500] => 3 [ddr] => 3 [i] => 3 [ipod] => 3 [memori] => 3 [pc] => 3 [pin] => 3 [pod] => 3 [sdram] => 3 [system] => 3 [unbuff] => 3 [canon] => 2 [corsair] => 2 [drive] => 2 [hard] => 2 [mb] => 2 [n] => 2 [power] => 2 [retail] => 2 [video] => 2 [x] => 2))

Example #10 簡單 Facet 實(shí)例 - 使用可選字段重寫 mincount

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery(’*:*’);$query->setFacet(true);$query->addFacetField(’cat’)->addFacetField(’name’)->setFacetMinCount(2)->setFacetMinCount(4,?’name’);$updateResponse?=?$client->query($query);$response_array?=?$updateResponse->getResponse();$facet_data?=?$response_array->facet_counts->facet_fields;print_r($facet_data);?>

以上例程的輸出類似于:

SolrObject Object( [cat] => SolrObject Object( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2) [name] => SolrObject Object( [gb] => 6))

Example #11 連接到 SSL-Enabled 服務(wù)器

<?phpinclude?'bootstrap.php';$options?=?array( ’hostname’?=>?SOLR_SERVER_HOSTNAME, ’login’????=>?SOLR_SERVER_USERNAME, ’password’?=>?SOLR_SERVER_PASSWORD, ’port’?????=>?SOLR_SERVER_PORT, ’timeout’??=>?SOLR_SERVER_TIMEOUT, ’secure’???=>?SOLR_SECURE, ’ssl_cert’?=>?SOLR_SSL_CERT_ONLY, ’ssl_key’??=>?SOLR_SSL_KEY, ’ssl_keypassword’?=>?SOLR_SSL_KEYPASSWORD, ’ssl_cainfo’?=>?SOLR_SSL_CAINFO,);$client?=?new?SolrClient($options);$query?=?new?SolrQuery(’*:*’);$query->setFacet(true);$query->addFacetField(’cat’)->addFacetField(’name’)->setFacetMinCount(2)->setFacetMinCount(4,?’name’);$updateResponse?=?$client->query($query);$response_array?=?$updateResponse->getResponse();$facet_data?=?$response_array->facet_counts->facet_fields;print_r($facet_data);?>

以上例程的輸出類似于:

SolrObject Object( [cat] => SolrObject Object( [electronics] => 14 [memory] => 3 [Lucene] => 2 [Software] => 2 [card] => 2 [connector] => 2 [drive] => 2 [graphics] => 2 [hard] => 2 [monitor] => 2 [search] => 2 [software] => 2) [name] => SolrObject Object( [gb] => 6))

更多類及方法的使用詳見http://www.php.net/manual/zh/book.solr.php

標(biāo)簽: PHP
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产专区一区| 欧美精品一区二区久久| 国产精品一区二区精品 | 久久精品资源| 色爱av综合网| 亚洲神马久久| 在线日韩成人| 国产精品777777在线播放| 欧美三级网址| 热久久国产精品| 国产美女视频一区二区| 精品视频黄色| 精品91久久久久| 91精品在线免费视频| 日产精品一区二区| 欧美在线亚洲综合一区| 欧美专区一区| 欧美日韩一二三四| 日本三级亚洲精品| 亚洲成人精品| 久久国际精品| 激情视频一区二区三区| 日韩精品午夜视频| 电影亚洲精品噜噜在线观看| 亚洲欧美在线专区| а√天堂8资源在线| 免费精品视频| 国内精品麻豆美女在线播放视频| 最新亚洲一区| 久久精品一区二区国产| 国产亚洲综合精品| 国产激情在线播放| 亚州av一区| 日韩一区二区三区在线免费观看| 亚洲精品少妇| 999国产精品视频| 国产乱人伦丫前精品视频 | 久久精品欧洲| 蜜桃av一区二区| 国产成人免费视频网站视频社区| 亚洲网址在线观看| 久久婷婷久久| 久久久久亚洲精品中文字幕| 亚洲婷婷丁香| 激情婷婷综合| 成人片免费看| 人人爱人人干婷婷丁香亚洲| 波多野结衣一区| 高清av一区| 久久国产免费看| 蜜臀av一区二区三区| 影视先锋久久| 国产成人精品一区二区三区视频| 免费欧美在线视频| 欧美精选视频一区二区| 国产精品亚洲欧美| 亚洲精品乱码久久久久久蜜桃麻豆| 久久三级视频| 国产在线一区不卡| 久久激五月天综合精品| 爽好多水快深点欧美视频| 欧美三区四区| 精品久久视频| 国产伦精品一区二区三区视频| 伊人国产精品| 女主播福利一区| 日韩在线观看一区| 精品国产一区二区三区av片| 国产调教精品| 中文字幕av一区二区三区四区| 欧美精品一区二区三区精品| 在线看片国产福利你懂的| 国产精品第十页| 日本欧美韩国一区三区| 综合亚洲视频| 国产视频一区三区| 91九色精品| 欧美亚洲国产精品久久| 99精品在线观看| 色88888久久久久久影院| 日韩欧美一区二区三区在线视频 | 久久九九精品| 日韩av在线播放网址| 免费观看亚洲天堂| 日韩精品亚洲专区| 日韩综合小视频| 日韩一区二区三区免费视频| 日韩影院精彩在线| 蜜桃视频免费观看一区| 亚洲天堂免费| 一本一道久久a久久| 免费欧美在线视频| 综合一区av| 人人精品人人爱| 亚洲狼人精品一区二区三区| 亚洲午夜久久| 日韩欧美四区| 国产日产一区| 国产精品亚洲综合久久| 国产精品大片免费观看| 精品国产欧美日韩| 国产高潮在线| 韩国三级一区| 国产主播一区| 亚洲在线观看| 亚洲精品自拍| 国产毛片精品久久| 久久亚洲资源中文字| 97精品97| 欧美日韩在线二区| 亚洲一区二区三区免费在线观看| 综合激情婷婷| 国产精品xxx在线观看| 福利视频一区| 在线日韩一区| 在线免费观看亚洲| 国产精品一区亚洲| 超碰在线99| 在线亚洲精品| 日本不卡视频在线| 久久精品国产久精国产| 亚洲国产福利| 亚洲精品中文字幕乱码| 99在线|亚洲一区二区| 免费观看久久久4p| 国产日产高清欧美一区二区三区| 美女久久久久久 | 日韩综合一区二区| 国产亚洲精品精品国产亚洲综合| 国产福利一区二区三区在线播放| 精品国产亚洲一区二区三区| 午夜精品久久久久久久久久蜜桃| 2023国产精品久久久精品双| 蜜臀国产一区二区三区在线播放| 国产欧美日韩在线一区二区| 国产不卡精品在线| 91精品蜜臀一区二区三区在线| 日本大胆欧美人术艺术动态| 欧美激情视频一区二区三区免费 | 成人高清一区| 99热免费精品| 国产精品1luya在线播放| 日韩欧美综合| 亚洲欧美在线专区| 美女性感视频久久| 蜜臀av免费一区二区三区| 日韩精品免费一区二区夜夜嗨| 国产一区二区三区网| 一本一道久久a久久精品蜜桃| 日本a级不卡| 久久久精品日韩| 日韩国产欧美三级| 亚洲综合在线电影| 日韩精品三区四区| 久久三级福利| 国产亚洲高清一区| 亚洲精品小说| 麻豆成人91精品二区三区| 91国语精品自产拍| 国产乱论精品| 中文日韩欧美| 精品视频一二| 亚洲ww精品| jizzjizz中国精品麻豆| 五月亚洲婷婷 | 色偷偷偷在线视频播放| 亚洲精品亚洲人成在线观看| 天堂av在线| 日本三级亚洲精品| 欧美精品黄色| 精品国产乱码久久久久久1区2匹| av不卡免费看| 国产精品伦理久久久久久| 日韩欧美美女在线观看| 婷婷综合亚洲| 九九九精品视频| 亚洲精一区二区三区| 久久久成人网| 久久久免费人体| 综合日韩在线| 欧美日韩国产高清| 精品一区av| 欧美日韩夜夜| 夜夜精品视频| 亚洲va中文在线播放免费| 国产日韩欧美三级| 免费日韩av片| 日韩中文欧美| 你懂的国产精品| 日韩欧美另类中文字幕| 99亚洲视频| 亚洲成av人片一区二区密柚| 麻豆精品在线| 日韩和欧美一区二区| 国产亚洲在线| 婷婷综合在线| 一区二区三区视频免费观看| av资源亚洲| 高清av一区| 开心激情综合|