1

We are desperate to switch over to Lucene (via Solr), but one big issue we have is the syntax support. dtSearch supports xfirstword, w/N, pre/N, and probably some others. I think w/N can be ported to Lucene, but the other ones I have no idea how to port.

I did a search and found an article that claims they have made the switch--still using dtSearch syntax, but I have yet to get the source. I left a comment about getting the source, but no response yet.

What do you guys recommend? We basically want Solr with dtSearch syntax. Do you have any good articles on how to specifically add features to indexing, etc. needed to accomplish these features?

Brandon
  • 695
  • 10
  • 29
  • Hi Brandon, Did you switch from DTSearch to Lucene in the end? did you find any issues with the syntax? – Doga Jun 10 '16 at 08:16
  • @Doga, I ended up writing my own DtSearch parser in antlr4. Definitely get his book. I think I have 99% of the features we use, plus a couple extra, but it was a lot of hard work. I think when we redo our search API, we'll use filter queries in lucene syntax (next to our customer's DtSearch queries) just because it's smaller and probably more efficient. In Short, we did not switch because we can't. None of the current parsers are sufficient for us, except for perhaps xmlparser, but that's not okay for our customers to have to type in. :) – Brandon Jul 01 '16 at 13:15
  • @Brandon do you have write-up why you made the switch? – Kugel Jun 20 '17 at 06:23
  • @Kugel Lucene syntax is not good enough. It can't handle nested proximity searches. It may be good for most things, but it isn't good enough for us. We have really deep proximity search trees. – Brandon Jun 28 '17 at 18:34
  • @Kugel I ended up writing a dtSearch compiler for solr. It was doable. The problem is that I discovered a bottleneck in our existing code and fixed it and so switching to Solr was not an attractive idea anymore. We got way more performance in our current implementation that we didn't have before. And, of course we won't make the switch to Solr until the horse is almost, if not completely, dead. That is just the way things tend to go. – Brandon Jun 28 '17 at 18:36

1 Answers1

1

Since I wasn't able to find a good solution to this, I wrote a dtSearch parser in Antlr4. Many of you have asked for it, so I've posted it to GitHub.

Here's the link: https://github.com/blmille1/dtsearchparser

Brandon
  • 695
  • 10
  • 29