Re: How to make xapian run in hadoop

Olly Betts <[email protected]>
Newsgroups gmane.comp.search.xapian.general
Message-ID <[email protected]>
On Thu, Nov 21, 2019 at 10:20:19AM +0800, 程苏珺 wrote:
> We use xapian as the backend of our system. Now the data need be
> indexed ever-increasing, and the local mode is hard to maintain, so we
> plan to move the index builder to hadoop. We try to make xapian can be
> run in hadoop, and now met a problem that there are many seek
> operations when xapian writes the index files, but the method seek()
> in hadoop c api only support read, and we blocked by that now

Updating a glass backend database pretty fundamentally requires a
way to "write block N".  We don't actually require the ability to
seek arbitrarily, but if hadoop writes are limited to appending to
a file your approach is just not going to work for updating.

It might be possible to buffer up everything in RAM and then write out a
glass database in one go with such a limitation, but if you're having
scaling problems then forcing a situation where the whole database needs
to be created in RAM before it can be written is not going to help.

> It looks a big work to rewrite the xapian database backend to
> adapter the hadoop c api. Could you please give us some suggestions?

The in-development backend (honey) would probably be easier to get
to work here once finished, but currently it doesn't support
writing directly so that's no help if you want a solution now.

Perhaps you could elaborate on the problem you're actually trying
to solve here.

What does "the local mode is hard to maintain" actually mean?

Cheers,
    Olly
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.