35 lines
1.4 KiB
Diff
35 lines
1.4 KiB
Diff
From cf795894b9290c5ab2035ae21535f0a7f4b7107a Mon Sep 17 00:00:00 2001
|
|
From: Takeshi KOMIYA <i.tkomiya@gmail.com>
|
|
Date: Fri, 16 Dec 2016 19:44:27 +0900
|
|
Subject: [PATCH] Fix #3246: xapian search adapter crashes
|
|
|
|
---
|
|
CHANGES | 2 ++
|
|
sphinx/websupport/search/xapiansearch.py | 6 +++---
|
|
2 files changed, 5 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/sphinx/websupport/search/xapiansearch.py b/sphinx/websupport/search/xapiansearch.py
|
|
index 1e43dcb..aa7cff8 100644
|
|
--- a/sphinx/websupport/search/xapiansearch.py
|
|
+++ b/sphinx/websupport/search/xapiansearch.py
|
|
@@ -39,16 +39,16 @@ def finish_indexing(self):
|
|
# Ensure the db lock is removed.
|
|
del self.database
|
|
|
|
- def add_document(self, path, title, text):
|
|
+ def add_document(self, pagename, filename, title, text):
|
|
self.database.begin_transaction()
|
|
# sphinx_page_path is used to easily retrieve documents by path.
|
|
- sphinx_page_path = '"sphinxpagepath%s"' % path.replace('/', '_')
|
|
+ sphinx_page_path = '"sphinxpagepath%s"' % pagename.replace('/', '_')
|
|
# Delete the old document if it exists.
|
|
self.database.delete_document(sphinx_page_path)
|
|
|
|
doc = xapian.Document()
|
|
doc.set_data(text)
|
|
- doc.add_value(self.DOC_PATH, path)
|
|
+ doc.add_value(self.DOC_PATH, pagename)
|
|
doc.add_value(self.DOC_TITLE, title)
|
|
self.indexer.set_document(doc)
|
|
self.indexer.index_text(text)
|