elasticsearch Wagtail:在Elasticsearch 5中使用反向访问器索引多对多关系
我无法通过Wagtail的
elasticsearch Wagtail:在Elasticsearch 5中使用反向访问器索引多对多关系,
elasticsearch,indexing,many-to-many,wagtail,
elasticsearch,Indexing,Many To Many,Wagtail,我无法通过Wagtail的update\u index命令获得Elasticsearch,以索引与反向访问器的多对多关系 为了证明问题,考虑这里可用的模型: (这是一个最小的工作示例,显示了两个多对多关系的工作索引和非工作索引) 这将使用Wagtail 1.8.1、Elasticsearch 5.1.1和Elasticsearch py 5.1.0 在这里,我尝试两次索引多对多关系: 标记:在MyPage模型中有一个显式字段,该字段有一个到属性 类别:使用相关的\u name='Categori
update\u index
命令获得Elasticsearch,以索引与反向访问器的多对多关系
为了证明问题,考虑这里可用的模型:
(这是一个最小的工作示例,显示了两个多对多关系的工作索引和非工作索引)
这将使用Wagtail 1.8.1、Elasticsearch 5.1.1和Elasticsearch py 5.1.0
在这里,我尝试两次索引多对多关系:
MyPage
模型中有一个显式字段,该字段有一个到
属性相关的\u name='Categories'
(在MyPage
中没有显式字段)附加到MyPage
模型中的MyPage
。在上面的代码中,我展示了在MyPage
模型的search\u字段中捕获categories关系的三种不同尝试,但都没有成功
"indexing_mypage__categories" : null,
"indexing_mypage__tags" : [
{
"name" : "tag2"
}
],
问题:如何让Elasticsearch为MyPage
的类别编制索引?MyPage.search\u字段应该是什么样子
目标是能够按类别搜索页面。我不确定自己是否100%理解这个问题,但在遇到类似问题后,我遇到了这个问题。这是我为文章和类别(我称之为问题)的作者编制索引的解决方案。这是从摇尾上取下来的
search_fields = Page.search_fields + [
index.SearchField('get_issues'),
index.SearchField('get_columnists'),
]
def get_issues(self):
# Get list of issues and concatenate them
return '\n'.join(self.issues.all().values_list('issue', flat=True))
def get_columnists(self):
# Get list of columnists
return '\n'.join(self.columnists.all().values_list('name', flat=True))