此立方体使用postgresql文本搜索向量实现分面。
项目描述
摘要
此立方体使用postgresql文本搜索向量实现分面。
这个立方体提供了什么?
这个立方体定义了一个新的CubicWeb AppObject注册: tsfacets
。基类是 cubicweb_tsfacets.views.TSFacets
;它提供了三个方法,允许在CubicWeb应用程序中使用分面。
get_facets_values_with_count
,它检索所有可用的分面以及每个值过滤了多少目标实体;get_target_entities_count
,它统计考虑所选分面以及可能的RQL请求以限制结果的目标实体数量;get_target_entities_rset
,它根据所选分面以及可能的RQL请求构建CubicWeb ResultSet以限制结果。
如何使用它?
对于每个分面组,您必须定义 cubicweb_tsfacets.views.TSFacets
的子类。然后,您必须完成以下属性
key_names_to_rql_definition
:将每个分面键与RQLRequestFacetDef对象关联的字典。分面键必须只包含字符,没有空格,没有".",没有"_"等。此对象表示一个包含是否需要映射表以映射值信息的RQL请求。如果需要索引包含空格或其他字符(如"'")的字符串,则需要映射;text_search_indexation
:一个RQL请求,返回一个包含元组的列表:(目标实体eid,用于全文搜索的索引文本)。此属性是可选的,并且仅在您想将文本搜索添加到结果列表时使用。注意:此功能将在即将推出的版本中添加;target_etypes
:哪些实体类型是分面搜索的目标;table_name
:特定postgresql表的名字。
实现示例
在这个例子中,我们想在Performance
实体中添加分面。这些分面将是代表的城市、国家、剧院、代表日期和导演。
from cubicweb_tsfacets.views import TSFacets, RQLRequestFacetDef
class PerformanceTSFacets(TSFacets):
__regid__ = "performance_tsfacets"
table_name = "performance_tsfacets"
key_names_to_rql_definition = {
"city": RQLRequestFacetDef("Any X, R Where X representation_city R", True),
"country": RQLRequestFacetDef("Any X, R Where X representation_country R", True),
"theater": RQLRequestFacetDef("Any X, R Where X representation_theater R", True),
"date": RQLRequestFacetDef("Any X, D Where X formatted_start_date D", False),
"director": RQLRequestFacetDef(
"Any X, D Where X is Performance, C manifestation X, "
"C contributor D, C role R, R code 500",
False
),
}
target_etypes = {"Performance"}
因此,CubicWeb-TSFacets
将提供我们构建界面所需的方法。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
cubicweb_tsfacets-0.7.1.tar.gz (12.7 kB 查看哈希值)
构建发行版
关闭
cubicweb_tsfacets-0.7.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b1c2887d1452dcf88fea2ec9a4fdc27b296529b98f9dbc8b99620cf4e9778f2 |
|
MD5 | 56d6c404e264a7e1ce3162bb2ab5c7c9 |
|
BLAKE2b-256 | e2bf74ef1c4b713f9765c42598a5736ffb994164c71114a2c7688d842b093cc1 |
关闭
cubicweb_tsfacets-0.7.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 724b8fe22c1611f9b1e0bd9b7d08df82e6c9c7cadf7b80dddfc9257edcd9b45e |
|
MD5 | 5087a86701215844d1812d130eb8b3a1 |
|
BLAKE2b-256 | 0eda9ce28d60a0e480ad0c6d5801bb0f115a5000f3bbc033de1795a9cf23439d |