[[!meta title="p-search: a local search engine in Emacs"]] [[!meta copyright="Copyright © 2024 Zac Romero"]] [[!inline pages="internal(2024/info/p-search-nav)" raw="yes"]] # p-search: a local search engine in Emacs Zac Romero - [[!inline pages="internal(2024/info/p-search-before)" raw="yes"]] Search is an essential part of any digital work. Despite this importance, most tools don't go beyond simple string/regex matching. Oftentimes, a user knows more about what they're looking for: who authored the file, how often it's modified, as well as search terms that the user is only slightly confident exist. p-search is a search-engine designed to combine the various prior knowledge about the search target, presenting it to the user in a systematic way. In this talk, I will present this package as well as go over the fundamentals of inforation retrieval. Details: In this talk, I will go over the p-search. p-search is a search-engine to assist users in finding things, with a focus on flexibility and customizablity. The talk will begin by going over concepts from the field of information retrieval such as indexing, querying, ranking, and evaluating. This will provide the necessary background to describe the workings of p-search. Next, an overview of the p-search package and its features will be given. p-search utilizes a probabilistic framework to rank documents according to prior beliefs as to what the file is. So for example, a user might know for sure that the file contains a particular string, might have a strong feeling that it should contain another word, and things that some other words it may contain. The user knows the file extension, the subdirectory, and has known that a particular person works on this file a lot. p-search allows the user to express all of these predicates at once, and ranks documents accordingly. The talk will then progress to discuss assorted topics concerting the project, such as design considerations and future directions. The aim of the talk is to expand the listeners' understanding of search as well as inspire creativity concerning the possibilities of search tools. Code: [[!inline pages="internal(2024/info/p-search-after)" raw="yes"]] [[!inline pages="internal(2024/info/p-search-nav)" raw="yes"]]