PHP Conference Japan 2024

SolrQuery 類別

(PECL solr >= 0.9.2)

簡介

代表在請求期間傳送到 Solr 伺服器的名稱-值組集合。

類別概要

class SolrQuery extends SolrModifiableParams implements Serializable {
/* 常數 */
const int ORDER_ASC = 0;
const int ORDER_DESC = 1;
/* 屬性 */
/* 方法 */
public __construct(string $q = ?)
public addExpandSortField(string $field, string $order = ?): SolrQuery
public addFacetDateField(string $dateField): SolrQuery
public addFacetDateOther(string $value, string $field_override = ?): SolrQuery
public addFacetQuery(string $facetQuery): SolrQuery
public addField(string $field): SolrQuery
public addGroupSortField(string $field, int $order = ?): SolrQuery
public addMltField(string $field): SolrQuery
public addMltQueryField(string $field, float $boost): SolrQuery
public addSortField(string $field, int $order = SolrQuery::ORDER_DESC): SolrQuery
public collapse(SolrCollapseFunction $collapseFunction): SolrQuery
public getExpand(): bool
public getExpandRows(): int
public getFacet(): bool
public getFacetDateEnd(string $field_override = ?): string
public getFacetDateGap(string $field_override = ?): string
public getFacetDateHardEnd(string $field_override = ?): string
public getFacetDateOther(string $field_override = ?): array
public getFacetDateStart(string $field_override = ?): string
public getFacetLimit(string $field_override = ?): int
public getFacetMethod(string $field_override = ?): string
public getFacetMinCount(string $field_override = ?): int
public getFacetMissing(string $field_override = ?): bool
public getFacetOffset(string $field_override = ?): int
public getFacetPrefix(string $field_override = ?): string
public getFacetSort(string $field_override = ?): int
public getFields(): array
public getGroup(): bool
public getGroupLimit(): int
public getGroupMain(): bool
public getGroupOffset(): int
public getHighlight(): bool
public getHighlightAlternateField(string $field_override = ?): string
public getHighlightFormatter(string $field_override = ?): string
public getHighlightFragmenter(string $field_override = ?): string
public getHighlightFragsize(string $field_override = ?): int
public getHighlightMaxAlternateFieldLength(string $field_override = ?): int
public getHighlightMergeContiguous(string $field_override = ?): bool
public getHighlightSimplePost(string $field_override = ?): string
public getHighlightSimplePre(string $field_override = ?): string
public getHighlightSnippets(string $field_override = ?): int
public getMlt(): bool
public getMltBoost(): bool
public getMltCount(): int
public getQuery(): string
public getRows(): int
public getStart(): int
public getStats(): bool
public getTerms(): bool
public getTermsLimit(): int
public getTermsSort(): int
public remove
public removeField(string $field): SolrQuery
public removeMltQueryField(string $queryField): SolrQuery
public setExpand(bool $value): SolrQuery
public setExpandRows(int $value): SolrQuery
public setFacet(bool $flag): SolrQuery
public setFacetDateEnd(string $value, string $field_override = ?): SolrQuery
public setFacetDateGap(string $value, string $field_override = ?): SolrQuery
public setFacetDateHardEnd(bool $value, string $field_override = ?): SolrQuery
public setFacetDateStart(string $value, string $field_override = ?): SolrQuery
public setFacetEnumCacheMinDefaultFrequency(int $frequency, string $field_override = ?): SolrQuery
public setFacetLimit(int $limit, string $field_override = ?): SolrQuery
public setFacetMethod(string $method, string $field_override = ?): SolrQuery
public setFacetMinCount(int $mincount, string $field_override = ?): SolrQuery
public setFacetMissing(bool $flag, string $field_override = ?): SolrQuery
public setFacetOffset(int $offset, string $field_override = ?): SolrQuery
public setFacetPrefix(string $prefix, string $field_override = ?): SolrQuery
public setFacetSort(int $facetSort, string $field_override = ?): SolrQuery
public setGroup(bool $value): SolrQuery
public setGroupFacet(bool $value): SolrQuery
public setGroupLimit(int $value): SolrQuery
public setGroupMain(string $value): SolrQuery
public setGroupOffset(int $value): SolrQuery
public setHighlight(bool $flag): SolrQuery
public setHighlightAlternateField(public setHighlightFormatter(string $formatter, string $field_override = ?): SolrQuery
public setHighlightFragmenter(string $fragmenter, string $field_override = ?): SolrQuery
public setHighlightFragsize(int $size, string $field_override = ?): SolrQuery
public setHighlightMaxAlternateFieldLength(int $fieldLength, string $field_override = ?): SolrQuery
public setHighlightMergeContiguous(bool $flag, string $field_override = ?): SolrQuery
public setHighlightSimplePost(string $simplePost, string $field_override = ?): SolrQuery
public setHighlightSimplePre(string $simplePre, string $field_override = ?): SolrQuery
public setHighlightSnippets(int $value, string $field_override = ?): SolrQuery
public setMlt(bool $flag): SolrQuery
public setMltBoost(bool $flag): SolrQuery
public setMltCount(int $count): SolrQuery
public setMltMaxWordLength(int $maxWordLength): SolrQuery
public setMltMinDocFrequency(int $minDocFrequency): SolrQuery
public setMltMinTermFrequency(int $minTermFrequency): SolrQuery
public setMltMinWordLength(int $minWordLength): SolrQuery
public setQuery(string $query): SolrQuery
public setRows(int $rows): SolrQuery
public setStart(int $start): SolrQuery
public setStats(bool $flag): SolrQuery
public setTerms(bool $flag): SolrQuery
public setTermsField(string $fieldname): SolrQuery
public setTermsLimit(int $limit): SolrQuery
public setTermsLowerBound(string $lowerBound): SolrQuery
public setTermsMaxCount(int $frequency): SolrQuery
public setTermsMinCount(int $frequency): SolrQuery
public setTermsSort(int $sortType): SolrQuery
public setTermsUpperBound(string $upperBound): SolrQuery
public setTimeAllowed(int $timeAllowed): SolrQuery
public __destruct()
/* 繼承的方法 */
}

預定義常數

SolrQuery::ORDER_ASC

用於指定排序應為遞增順序

SolrQuery::ORDER_DESC

用於指定排序應為遞減順序

SolrQuery::FACET_SORT_INDEX

用於指定 facet 應按索引排序

SolrQuery::FACET_SORT_COUNT

用於指定 facet 應按計數排序

SolrQuery::TERMS_SORT_INDEX

用於 TermsComponent

SolrQuery::TERMS_SORT_COUNT

用於 TermsComponent

目錄

新增註解

使用者貢獻的註解 1 則註解

5
andy at borkedcoder dot com
12 年前
注意 - 如果使用 morelikethis,且您的查詢是關於數值 ID,那麼您將無法存取結果中的 moreLikeThis 物件...

當 q=id:3493 使用 mlt 搜尋時,結果為

SolrObject 物件
(
...
[moreLikeThis] => SolrObject 物件
(
[3493] => SolrObject 物件
(
[numFound] => 6286
[start] => 0
[docs] => 陣列
(
....等等

數值物件名稱 (上面的 3493) 無法存取

不論是透過 $response->moreLikeThis->{3493} 或 $response->moreLikeThis->{'3493'},都無法存取...

唯一的方法是將 moreLikeThis 物件轉換為陣列,透過
$response_array = (array) $response->moreLikeThis;

然後迭代陣列,因為已知陣列的索引鍵。
To Top