弹性搜索

2024-04-24 19:04:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在将弹性搜索与现有应用程序集成时遇到了一些困难,但这应该是一个相当简单的问题。我可以创建和销毁索引,但由于某些原因,我在弹性搜索和查询数据时遇到了困难。在

我正在使用pyes库,老实说,我发现文档在这方面没有多大帮助。这是我当前的代码:

def initialize_transcripts(database, mapping):
    database.indices.create_index("transcript-index")


def index_course(database, sjson_directory, course_name, mapping):
    database.put_mapping(course_name, {'properties': mapping}, "transcript-index")
    all_transcripts = grab_transcripts(sjson_directory)
    video_counter = 0
    for transcript_tuple in all_transcripts:
        data_map = {"searchable_text": transcript_tuple[0], "uuid": transcript_tuple[1]}
        database.index(data_map, "transcript-index", course_name, video_counter)
        video_counter += 1
    database.indices.refresh("transcript-index")


def search_course(database, query, course_name):
    search_query = TermQuery("searchable_text", query)
    return database.search(query=search_query) 

我首先创建数据库,初始化索引,然后尝试添加数据并用第二个方法搜索它。我当前收到以下错误:

^{pr2}$

我不太确定如何处理它,我能找到的唯一一个关于这个错误的参考是建议预先创建索引,我相信我已经在做了。以前有人遇到过这个错误吗?或者,你知道我可能不知道的好地方吗?在

感谢任何帮助。在


Tags: namesearchindexdefvideo错误counterquery
1条回答
网友
1楼 · 发布于 2024-04-24 19:04:48

出于某些原因,将ID添加到索引中,尽管它在起始文档中显示了:(http://pyes.readthedocs.org/en/latest/manual/usage.html)并不起作用,而且实际上会导致此错误。在

一旦我删除了索引的video_反参数,这就完美地工作了。在

相关问题 更多 >