Xapian::Enquire(3)

🫢 Xapian::Enquire(3) 🫢

okay so bestie, this page comes from the User Contributed Perl Documentation manual set, and it's the manual page for Xapian::Enquire(3) β€” the search-y class we're about to vibe with. The Perl module it documents is Search::Xapian::Enquire. ✨

🌸 NAME 🌸

Search::Xapian::Enquire β€” Make queries against a database.

✨ DESCRIPTION ✨

This class provides an interface to the information retrieval system for the purpose of searching. That's the whole assignment: you've got a database, you wanna search it, this is the class that lets you do that. πŸ’…

πŸŽ€ METHODS πŸŽ€

Some of these methods have no extra description in the original page, so I'm just giving you their signatures and not inventing lore, bestie. 🧚 The rest get the full tea.

  • new β€” listed as new; no extra blurb in the original.
  • set_query β€” takes either a ready made Search::Xapian::Query or a scalar containing a query, which in that case will be passed to Search::Xapian::Query's constructor, together with any other passed arguments. πŸ¦‹
  • set_query_object <query> β€” signature only in the original; no extra blurb.
  • get_query β€” signature only in the original; no extra blurb.
  • matches <start> <size> [<check_at_least>] β€” takes the start element, and maximum number of elements (and optionally the minimum number of matches to check), and returns an array tied to Search::Xapian::MSet::Tied. πŸŽ€
  • get_matching_terms_begin β€” returns a Search::Xapian::TermIterator, pointing to the start of the stream.
  • get_matching_terms_end β€” returns a Search::Xapian::TermIterator, pointing to the end of the stream.
  • set_collapse_key <collapse_key> β€” signature only in the original; no extra blurb.
  • set_docid_order <order> β€” set the direction in which documents are ordered by document id in the returned MSet.
    • This order only has an effect on documents which would otherwise have equal rank. For a weighted probabilistic match with no sort value, this means documents with equal weight. For a boolean match, with no sort value, this means all documents. And if a sort value is used, this means documents with equal sort value (and also equal weight if ordering on relevance after the sort).
    • order can be ENQ_ASCENDING (the default, docids sort in ascending order), ENQ_DESCENDING (docds sort in descending order), or ENQ_DONT_CARE (docids sort in whatever order is most efficient for the backend.)
    • Note: If you add documents in strict date order, then a boolean search - i.e. set_weighting_scheme(Search::Xapian::BoolWeight->new()) - with set_docid_order(ENQ_DESCENDING) is a very efficient way to perform "sort by date, newest first".
  • set_cutoff <percent_cutoff> [<weight_cutoff>] β€” signature only in the original; no extra blurb.
  • set_sort_by_relevance β€” set the sorting to be by relevance only. This is the default. πŸ‘‘
  • set_sort_by_value <sort_key> [<ascending>] β€” set the sorting to be by value only.
    • sort_key β€” value number to reorder on. Sorting is with a string compare. If ascending is true (the default) higher is better; if ascending is false, lower is better.
    • ascending β€” If true, document values which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • set_sort_by_value_then_relevance <sort_key> [<ascending>] β€” set the sorting to be by value, then by relevance for documents with the same value.
    • sort_key β€” value number to reorder on. Sorting is with a string compare. If ascending is true (the default) higher is better; if ascending is false, lower is better.
    • ascending β€” If true, document values which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • set_sort_by_relevance_then_value <sort_key> [<ascending>] β€” set the sorting to be by relevance then value.
    • Note: with the default BM25 weighting scheme parameters, non-identical documents will rarely have the same weight, so this setting will give very similar results to set_sort_by_relevance(). It becomes more useful with particular BM25 parameter settings (e.g. BM25Weight(1,0,1,0,0)) or custom weighting schemes.
    • sort_key β€” value number to reorder on. Sorting is with a string compare. If ascending is true (the default) higher is better; if ascending is false, lower is better.
    • ascending β€” If true, document values which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • set_sort_by_key <sorter> [<ascending>] β€” set the sorting to be by key only.
    • sorter β€” the functor to use to build the key.
    • ascending β€” If true, keys which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • set_sort_by_key_then_relevance <sorter> [<ascending>] β€” set the sorting to be by key, then by relevance for documents with the same key.
    • sorter β€” the functor to use to build the key.
    • ascending β€” If true, keys which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • set_sort_by_relevance_then_key <sorter> [<ascending>] β€” set the sorting to be by relevance then key.
    • sorter β€” the functor to use to build the key.
    • ascending β€” If true, keys which sort higher by string compare are better. If false, the sort order is reversed. (default true)
  • get_mset β€” Get match set.
  • get_eset <maxitems> <rset> [<decider>] β€” Get set of query expansion terms.
  • get_description β€” Return a description of this object.
  • add_matchspy <spy> β€” Add a matchspy.
    • This matchspy will be called with some of the documents which match the query, during the match process.
  • clear_matchspies β€” Remove all the matchspies.

πŸ” SEE ALSO πŸ”

  • Search::Xapian::Query
  • Search::Xapian::Database
  • Search::Xapian::MatchSpy

okay that's the whole page, bestie πŸ’–. Cute sign-off because the footer deserves it: this manual page comes from perl v5.42.0, dated 2022-02-28. Slay. πŸ’…βœ¨

πŸ“¦ where this page comes from