|
Description
|
Keywords in a class file now appear as follows if -keywords is passed in.
If -keywords is not passed in, only the first (class) tag appears.
<META NAME="keywords" CONTENT="p1.C1 class">
<META NAME="keywords" CONTENT="field1">
<META NAME="keywords" CONTENT="field2">
<META NAME="keywords" CONTENT="method1()">
<META NAME="keywords" CONTENT="method2()">
Regression test is at <ws>/test/com/sun/javadoc/MetaTag/MetaTag.java
xxxxx@xxxxx 2002-11-10Add name/content keywords. We already use:
In HTML file:
<META NAME="keywords" CONTENT="java.lang.String,String class">
The advantage of using "NAME=keywords" is that we can weight all keywords
meta tags higher (than body text) for Inktomi searches.
This page can also be found using Inktomi search query string:
+keywords:java.lang.String
But we need to do the same thing for methods. We could use "method" as
the name:
<META NAME="method" CONTENT="compareTo(Object)">
This can be found using Inktomi query:
+method:compareTo
or:
<META NAME="keywords" CONTENT="compareTo() method,Double.compareTo(Object)">
which can be found using this Inktomi query:
+keywords:compareTo
|
|
Evaluation
|
We need some way to find member definitions to improve search
xxxxx@xxxxx 2002-10-17
Discussed with SwoRDFish team, and concluded:
- There is no current Dublin Core meta tag standard for programming languages
- They recommend we include both Dublin Core "dc:subject" data element per file
in addition to an equivalent normal 'keywords' meta tags, as shown below.
There can be at most one dc:subject tag per file.
<meta name='dc:subject' content='String Class, java.lang.String'>
<meta name='keywords' content='String Class, java.lang.String'>
<meta name='keywords' content='compareTo(Object) method'>
<meta name='keywords' content='compareTo(String) method'>
<meta name='keywords' content='compareToIgnoreCase(String) method'>
...
xxxxx@xxxxx 2002-10-28
Based on a discussion with Inktomi on the following meta tags:
<META name="keywords" content="Double class">
<META name="keywords" content="compareTo(Object) method">
With the meta data defined as above, All of the following searches would
find this page :
double
class
compareto
object
method
compareTo(Object)
Including parameter types will strengthen the search for methods
when the parameter type is included, but will dilute the search
for classes. Thus, someone searching for the Object class page
will find the above page.
This leads me to consider dropping the parameter types.
We should include at least the leading paren, so they can
distinguish constructors from classes or methods from fields
or classes by searching for "compareTo(".
Need to find out if search term
"compareTo(Object)" would match on keyword "compareTo(".
We could add both parens such as compareTo(), which might be
more natural to type. but showing no args for a method that contains
args is a bit peculiar.
NOTE: A search for the parameter types and names, but not types alone,
will match in the full-text search.
So now we have:
<meta name="dc:subject" content="String Class, java.lang.String">
<meta name="keywords" content="String Class, java.lang.String">
<meta name="keywords" content="compareTo() method">
<meta name="keywords" content="compareToIgnoreCase() method">
Where it's not clear whether to include the trailing paren ')'.
xxxxx@xxxxx 2002-10-30
Consider including both name='keywords' and name='method', so user
can search for keywords either by default, or more specifically by
uinsg "+method:compareTo" (in Inktomi). Perhaps we can create
our own java namespace:
<meta name="keywords" content="compareTo() method">
<meta name="java:method" content="compareTo()">
I believe Inktomi would require search term: +java:method:compareTo()
xxxxx@xxxxx 2002-10-31
CCC Proprosal:
Add members to the name/contents meta keywords. For example,
for the compareTo(Object) method in the Double class, we will add:
<META name="keywords" content="compareTo() method">
Using name="keywords" is a search engine standard (used by Inktomi
and others). This standard gives greater weight to the value of
the content attribute than to body text.
Notice the given example does not include the parameter type Object.
This is because including it would add Object as a keyword for not
only this method, but also the Double class (which is defined in
the same HTML file), diluting the ability to find the Object class.
This extends to members the <META> tagging of classes started in 1.4.1.
CCC Decision:
"Approve, on the condition that the proposed behavior be
enabled by an undocumented -meta (or whatever) flag. Not
all javadoc output is intended as fodder for search engines,
and META tags for every member will take up quite a bit of space."
My interpretation is that the insertion of meta keywords will be
turned OFF by default, and a new -meta (or whatever) flag will turn
it on.
xxxxx@xxxxx 2002-11-08
Another reason not to include overloads (such as add(), add(Object))
or parameter types is because search engines will penalize pages with
repeated keywords.
xxxxx@xxxxx 2002-11-09
This is an extension of the feature added in 1.4.1:
4034096: Add support for HTML keywords via META tag for class names
xxxxx@xxxxx 2002-11-22
|