在xapian c ++库中添加字段

时间:2012-09-30 07:26:24

标签: xapian

你好我正在尝试xapian c ++库我基本上是从java和我使用lucene而现在我需要xapian我没有别的去。 所以我正在使用它。 在lucene中我们可以像这样使用

Document doc = new Document();
    doc.add(new Field("title", "stackoverflow", Field.Store.YES, Field.Index.ANALYZED));
    w.addDocument(doc);

所以标题包含值。但是从这个例子

Xapian::Document newdocument;
newdocument.set_data(string("stackoverflow");

如何在xapian中做同样的事情。

1 个答案:

答案 0 :(得分:0)

与Lucene不同,Xapian并不限制您使用文档数据的方式;它只是允许为每个文档存储任何二进制数据 - 虽然这在某种程度上是一个缺失的功能,但它也提供了更多的灵活性,这意味着有些人可以使用JSON,有些人可以使用简单的键值序列化等等。当然,缺点是您必须决定如何序列化数据。

Omega中的代码使用了一个简单的键值序列化,可能会有所帮助。或者,您可以查看像restpose这样的内容,它提供了一种基于Xapian构建的更高级别的搜索方法,并且与Solr更具可比性。