xapian-haystack icon indicating copy to clipboard operation
xapian-haystack copied to clipboard

Error rebuilding index

Open lockie opened this issue 1 year ago • 0 comments

Hi! I'm trying to use django-haystack with Xapian backend by following tutorial, but I'm getting the following error running rebuild_index command:

WARNING: This will irreparably remove EVERYTHING from your search index in connection 'default'.
Your choices after this are to restore from backups or rebuild via the `rebuild_index` command.
Are you sure you wish to continue? [y/N] Removing all documents from your index because you said so.
All documents removed.
[ERROR/MainProcess] Failed indexing 1 - 1000 (retry 5/5): in method 'new_WritableDatabase', argument 1 of type 'std::string const &'
Additional information:
Wrong number or type of arguments for overloaded function 'new_WritableDatabase'.
  Possible C/C++ prototypes are:
    Xapian::WritableDatabase::WritableDatabase()
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &)
 (pid 16062): in method 'new_WritableDatabase', argument 1 of type 'std::string const &'
Additional information:
Wrong number or type of arguments for overloaded function 'new_WritableDatabase'.
  Possible C/C++ prototypes are:
    Xapian::WritableDatabase::WritableDatabase()
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &)
Traceback (most recent call last):
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 119, in do_update
    backend.update(index, current_qs, commit=commit)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 94, in wrapper
    func(self, *args, **kwargs)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 299, in update
    database = self._database(writable=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 1167, in _database
    database = xapian.WritableDatabase(self.path, xapian.DB_CREATE_OR_OPEN)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian/__init__.py", line 3746, in __init__
    _xapian.WritableDatabase_swiginit(self, _xapian.new_WritableDatabase(*args))
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'new_WritableDatabase', argument 1 of type 'std::string const &'
Additional information:
Wrong number or type of arguments for overloaded function 'new_WritableDatabase'.
  Possible C/C++ prototypes are:
    Xapian::WritableDatabase::WritableDatabase()
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &)

[ERROR/MainProcess] Error updating main using default 
Traceback (most recent call last):
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 297, in handle
    self.update_backend(label, using)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 342, in update_backend
    max_pk = do_update(
             ^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 119, in do_update
    backend.update(index, current_qs, commit=commit)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 94, in wrapper
    func(self, *args, **kwargs)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 299, in update
    database = self._database(writable=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 1167, in _database
    database = xapian.WritableDatabase(self.path, xapian.DB_CREATE_OR_OPEN)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian/__init__.py", line 3746, in __init__
    _xapian.WritableDatabase_swiginit(self, _xapian.new_WritableDatabase(*args))
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'new_WritableDatabase', argument 1 of type 'std::string const &'
Additional information:
Wrong number or type of arguments for overloaded function 'new_WritableDatabase'.
  Possible C/C++ prototypes are:
    Xapian::WritableDatabase::WritableDatabase()
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &)

Indexing 2621 posts
Traceback (most recent call last):
  File "/home/andrew/Progs/search/django-haystack/./manage.py", line 22, in <module>
    main()
  File "/home/andrew/Progs/search/django-haystack/./manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/rebuild_index.py", line 65, in handle
    call_command("update_index", **update_options)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 194, in call_command
    return command.execute(*args, **defaults)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 297, in handle
    self.update_backend(label, using)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 342, in update_backend
    max_pk = do_update(
             ^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/haystack/management/commands/update_index.py", line 119, in do_update
    backend.update(index, current_qs, commit=commit)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 94, in wrapper
    func(self, *args, **kwargs)
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 299, in update
    database = self._database(writable=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian_backend.py", line 1167, in _database
    database = xapian.WritableDatabase(self.path, xapian.DB_CREATE_OR_OPEN)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/andrew/Progs/search/django-haystack/.venv/lib/python3.11/site-packages/xapian/__init__.py", line 3746, in __init__
    _xapian.WritableDatabase_swiginit(self, _xapian.new_WritableDatabase(*args))
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'new_WritableDatabase', argument 1 of type 'std::string const &'
Additional information:
Wrong number or type of arguments for overloaded function 'new_WritableDatabase'.
  Possible C/C++ prototypes are:
    Xapian::WritableDatabase::WritableDatabase()
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &,int)
    Xapian::WritableDatabase::WritableDatabase(std::string const &)

I've installed xapian 1.4.25 in my virtualenv as per installation instructions. I run Django 4.2.11, django-haystack 3.2.1 and xapian-haystack 3.1.0, all installed from pypi.

Where should I look to fix this kind of error?

lockie avatar Apr 09 '24 11:04 lockie