1. A computer-implemented method, comprising: at a computer having memory and a processor and a display, receiving a search request that includes multiple user-specified search keywords; comparing the multiple search keywords with a plurality of documents, wherein each document includes one or more candidate chunks and each candidate chunk corresponds to a predefined semantically-based unit of text in the document; identifying a first chunk among the candidate chunks in a first document and a second chunk among the candidate chunks in a second document as satisfying the search keywords, each chunk including a first text string and satisfying a predefined minimum matching level and having a chunk length within a predefined range, wherein there is at least one difference between the first text string and the search keywords and the first document has a first document type and the second document has a second document type that is different from the first document type; displaying the first chunk including an instance of the first text string and the second chunk including an instance of the first text string on the display in a text-only format; receiving a find-and-replace request to replace the first text string with a second text string, wherein the find-and-replace request limits the replacement of the first text string with the second text string to the first chunk and the second chunk and not to any document that includes at least one instance of the first text string but does not include any chunk that satisfies the search keywords; and substituting the second text string for the first text string in the first chunk and the second chunk such that an instance of the first text string located outside the first chunk but within the first document remains unchanged and an instance of the first text string located outside the second chunk but within the second document remains unchanged.