I want to implement awesomebar like search functionality in my java application.
I like the way it searches the text patterns in between the words. Does it uses lucene library or performs like query on the database.
Which database do i choose for such type of pattern searching ?
A lot of Firefox is backed up by SQLite databases, including bookmarks and search history which are stored in places.sqlite. Although I don't have the source to check (which you could just download and have a look at how they do it), I suspect that since it's SQLite then there is probably something along the lines of a LIKE in there to do the sub-string matching.
Related
I am trying to formulate a proposal for an application that allows a user to print a batch of documents based on data stored in a SQL table. The SQL table indicates which documents are due and also contains all demographic information. This is outside of what I normally do and am trying to see if these is a platform/application that already exists to do such a task
For example
List of all documents: Document #1 - Document #10
Person 1 is due for document #: 1,5,7,8
Person 2 is due for document #: 2.6
Person 3 is due for document #: 7,8,10
etc
Ideally, what I would like is for the user to be able to push a button and get a printed stack of documents that have been customized for each user including basic demographic info like name, DOB, etc
Like i said at the top, I already have all of the needed information in a database, I am just trying to figure out the best approach to move that information onto a document
I have done some research and found some people have used mail merge in Word or using Access as a front end but I don't know if this is the best way. I've also found this document. Any advice would be greatly appreciated
If I understand your problem correctly, your problem is two-fold: Firstly, you need to find a way to generated documents based on data (mail-merge) and secondly, you might need to print them two.
For document generation you have two basic approaches: template-based and programmatically from scratch. I suppose that you will opt for a template based approach which basically means that you design (in MS Word) a template document (Word, RTF, ...) that acts as a template and contains placeholders and other tags that designate »dynamic« parts of the document. Then, at document generation time, you need a .NET library/processor that you will pass this template document and the data, where the processor will populate the template with the data and return the resulting document.
One way to achieve this functionality would be employing MS Words' native mail-merge, but you should know that this would involve using Office COM and Word Application Automation which should be avoided almost always.
Another option is to build such a system on top of Open XML SDK. This is velid option, but it will be a pretty demanding task and will most probably cost you much more than buying a commercial .NET library that does mail-merge out-of-the-box – been there, done that. But of course, the good side here is that you will be able to tailer the solution to your needs. If you go down this road I recoment that you use Content Controls for tagging documents/templates. The solution with CCs will be much easier to implement than the solution with bookmarks.
I'm not very familliar with the open source solutions and I'm not sury how many there are that can do mail-merge. One I know is FlexDoc (on CodePlex) but its problem is that uses a construct (XmlControl) for tagging that is depricated in Word 2010+.
Then there are commercial solutions. Again I don't know them in detail but I know that the majority of them are a general purpose document processing libraries. Our company has been using this document generation toolkit for some time now and I can say it covers all our »template-based document generation« needs. It doesn't require MS Word at doc generation time, and has really helpful add-in for MS word and you only need several lines of code to integrate it in your project. Templating is very powerful and you can set-up a template in a very short time. While templates are Word documents, you can generate PDF or XPS docs as well. XPS is useful because you can use .NET/WPF prining framework that works with XPS docs to print documents. This is a very high-end solution, but of course, the downside here is that it is not a free solution.
How can I save my Cypher query permanently?
Let me explain my problem: I save the query with the button "save" (you can see the "star button" at the top of this image), but when I copy or move the folder of database I loose every query I saved.
Any suggestions?
Thanks.
Cypher queries are software. They're source code. The web interface to neo4j gives you an easy way to enter them, and save them temporarily and so on. But I would recommend that you look at cypher queries you want to save as source code; don't use the web interface to try to do this.
Fortunately, if you look at your cypher queries as source code, you can use any of the thousands of tools available for source code; IDEs, version tracking (such as git) and so on. The bottom line though is that your queries are software in and of themselves, and should be tracked like software (if you intend to modify them and use them over and over through time).
If it's quick and dirty, save your cypher queries in myQueries.cypher in your home user directory, and they'll always be there for you.
Actually the cypher queries are saved in your browser's local storage.
Which is tied to the URL (e.g. localhost:7474) so even if you move the storage file it shouldn't affect your stored queries.
If you want to store your queries in the db, you can check out my server extension: cypher-rs which allows something like that.
I want to store and index document files like .doc, .pdf, .txt and than search this files over a basic web application and let users to download them.
I have found 2 ways. First one is store these files in MSSQL (filestream) and search them with the power of full-text search but this way is scared me because the backup file will be getting bigger and bigger. Second one is indexing these files with Windows Search Service and search them with remote query but this way lacks of full-text search power.
What is the best way to do this, is there any better alternative?
Thanks in advance.
You can process the build in functionality for fulltext search or build your own index. I would recommend building your own one as an Inverted Index for document search capabilities. A quite similar question was asked here: Building Big Search Egnine. Hopefully it helps you to further design what you want.
Maybe I am missing something but is there any way to use the new text search features as described in the 2011 presentation http://www.youtube.com/watch?v=7B7FyU9wW8Y (approx. 30min mark) with Objectify, Entities, and Java? I realize it is an experimental release but the text search features that are present don't seem to cover the full extent they discussed in the presentation. I don't want to have to write my own code to manage the creation, updates to documents. But I don't currently see another way??
Currently, you can't use Full Text Search to search through entities in Datastore; you'll need to create search documents in a search index to use the Full Text Search API, as described in these docs.
I have a User class and store the user's submitted full name as a single String:
class User {
private String mFullName;
}
There's no partial string matching available in app engine though. I am looking through current options, looks like the nonrel-search project has come up with a pretty good solution.
I'm using java though. I don't think there's a java port of that project. What are other java users doing?
I'm thinking of just writing user info to a separate MySQL database on account creation, and just hitting that database with a %like% search when users need it (this should be pretty infrequent).
Duplicating user info to a separate MySQL database would be a temporary solution until something comes built-in for app-engine java, but I haven't heard of anything like this on the roadmap.
Any info/ideas would be great!
Thanks
On the python side of things, I've seen one or two full text search implementations mentioned. The way they work is to tokenize the text to be searched and then create App Engine indexes that can be used for queries. I'm not sure if anything comparable has been created for Java at this time.
If you can make do with searches that are equivalent to 'string%' or '%string', it shouldn't be too difficult to make your own index and do a range scan. In the case of '%string', you would want to store the strings to be searched in reverse, e.g., 'gnirts%'.