Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-9063

Integrate text search into normal query system

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.5.5
    • Affects Version/s: 2.4.0
    • Component/s: Text Search
    • None
    • 0

      db.coll.find({$text: {$search: "\"a phrase\" term1 term2 -negterm",
                            $language: "spanish"},
                    name: /a.*/},
                   {description: 1, _id: 0})
             .sort({date: 1}).skip(10).limit(10);
      

      original:

      I have been using text search against a large database of needs feeds with some success. The problem is that only being able to get the results based on score is not sufficient. What I mainly need to do, and I think a lot of others will want to do, is qualify a document based on it meeting the text search criteria (as one possible filter, to be combined with others), but to return a result set ordered by some other criteria (like date), with the same kind of paging support that we have with queries in general.

      So I guess specifically, this just means having a query filter to indicate whether a document does or doesn't match a given text search string.

      In my case, I have millions of news feed items from hundreds of feeds. If I want to search Slashdot for the term "iPhone", what I want is to see the news items from that feed that contain "iPhone" in order of most recent first. With text search as it is now, I cannot do that.

      Users don't want text search only because they want weighted results that find the most relevant documents, the also want to be able to use text search criteria as additional functionality in their current applications and queries.

            Assignee:
            rassi J Rassi
            Reporter:
            rdickinson Robert Dickinson
            Votes:
            23 Vote for this issue
            Watchers:
            32 Start watching this issue

              Created:
              Updated:
              Resolved: