I am writing a program that will have a list that the user can search. I'm having trouble with terminology. I need a name denoting that the items that are in the list can be searched for, and one denoting that the list can be searched through.

My problem is that when thinking of both of these, I can only think of Searchable, as in Searchable list and Searchable item. I'm afraid these names are terribly ambiguous, though, and don't convey their purpose or functionality very well. I also considered Search result and Search context, but the items are still there when not part of a search. What are two better words for these?

  • 1
    Database and results?
    – bib
    Commented Feb 5, 2015 at 1:09
  • @bib perhaps... but again, the "results" are also potential results before searching, and might never be searched.
    – Ky -
    Commented Feb 5, 2015 at 1:11
  • If the list is searchable, then, by definition, an item in the list can be searched for. SearchableList can denote the list type and it could be filled with ListItems
    – Jim
    Commented Feb 5, 2015 at 1:36
  • 1
    Then database and elements?
    – bib
    Commented Feb 5, 2015 at 1:45
  • 1
    ClassA ... implements Searchable ClassB ... implements Findable ?
    – Jim
    Commented Feb 5, 2015 at 4:39

3 Answers 3


One catchy option I've occasionally seen is needle and haystack.


  • Oh yeah! PHP uses that for regexes. That's actually a great idea! I'm gonna give others a chance to submit alternatives before accepting :3
    – Ky -
    Commented Feb 5, 2015 at 2:29

I am not 100% sure what you are looking for, and since my Javanese is poor, your comment did not help me much. It is also unclear to me who your audience is. Are these words for the end user or names of functions so that other programmers will understand your documentation?

Nevertheless, I think one or more of the words below should be close to what you want.

  1. Domain: from math, the set of all possible "inputs" for the function, the searchable list.
  2. Similarly, image, codomain, and range, are words to describe the potential results of a function.
  3. From spreadsheet and database programs, we have the term filter.
  4. It seems that JTree is a visual tree, so established terms could be good: expand, narrow, or collapse.
  5. Using the tree metaphor, but reaching for uncommon computer terms, prune (prune the tree) could make sense.
  6. All possible items is the full tree.
  7. Search nodes, search terms, search leaves, or searchable leaf.
  8. A tree (in computers) is arranged in a specific way, or sorted. So, sortable list, sorted items, searchable tree, etc.
  9. More computer terms with variable degrees of familiarity to different audiences: indexed list, keyword, array, string.

Without understanding more about your audience and whether you are looking for nouns or verbs, I do not have better suggestions.

  • Thanks for a non-programmer's perspective! As for the audience, I'm starting with just something I'll see (my code), then I'll expand to what other programmers will see (the documentation), then what the user will see (the help section).
    – Ky -
    Commented Feb 5, 2015 at 3:17

"denoting that the items that are in the list can be searched for, and one denoting that the list can be searched through" -

Those are the same thing. Saying that the list is searchable has the same meaning as saying that you can search for the items in the list.

You apparently want an adjective for the list and another for the items. But there is no adjective that could possibly apply to an item, saying whether or not you can search for it in particular, assuming that you can search the list.

On the other hand, a given item that is in fact in the list is findable, provided the list is searchable. Perhaps you can take a point of view that lets you use those adjectives, but it really depends on what you are trying to say.

  • Sorry, I'm trying to say that it's can be searched for (each one can be scrutinized and compared to the search terms), and that the list can be searched through (it's full of items that can be scrutinized, but can never be a result, itself). Hope that clarifies.
    – Ky -
    Commented Feb 5, 2015 at 11:21
  • Yes, that's what I understood. Actually, it sounds like, in the usual terminology, there is no real search, but rather just matching. You are "searching" a collection, but only in the sense that you are looking for matches to its elements. Matching an element is not really "searching", in the usual sense of the term. Perhaps you can characterize what it would mean for such a list to not be "searchable". That's not clear at all.
    – Drew
    Commented Feb 5, 2015 at 14:42
  • if a list is not searchable, as in it does not confirm to my current Haystack specification, then it does not have a function that can be called upon it to initiate or cancel a search.
    – Ky -
    Commented Feb 5, 2015 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.